Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];

Вниз

Деление String   Найти похожие ветки 

 
Ghost!   (2002-01-11 18:40) [0]

Greetings!
Вопрос:
Есть 3 переменные: a, b, c. Все типа String. Переменная "a" содержит имя и фамилию человека, разделённые тремя проблемаи. Посдкажите плиз, как бы рациональнее сделать так, чтоб выделить в перемнную "b" только имя, а в переменную "c" только фамилию. Буду очень благодарен за помощь.


 
panov   (2002-01-11 18:44) [1]

Попробуй функцию WrapText


 
Юрий Зотов   (2002-01-11 19:16) [2]

Что-то типа этого:

B := Copy(A, 1, Pos(" ", A) - 1);
C := Copy(A, Length(B) + 4, Length(A) - Length(B) - 3);


 
Юрий Зотов   (2002-01-11 19:17) [3]

Или что-то типа этого:

B := Copy(A, 1, Pos(" ", A) - 1);
C := Copy(A, Length(B) + 4, Length(A) - Length(B) - 3);


 
iZEN   (2002-01-11 19:52) [4]

Лучше свой компонент написать по парсированию строк и выделению лексем -- иначе для новых задач замучаешься "придумывать" каждый раз с нуля :), а такие задачки встречаются часто.
Уж не знаю, о чём думали разработчики Delphi раз не включили такой нужный компонент(класс) в библиотеку VCL. В Java, например, такой класс есть стандартно, называется java.util.StringTokenizer.


 
Юрий Зотов   (2002-01-11 20:19) [5]

Sorry за повтор, но это не мой глюк.


 
vlv   (2002-01-11 20:51) [6]

procedure WrapString(Sourse, Wrapper: String; Strings: TStrings);
var
Ps, Ps2: integer;
Tmp: String;
begin
Tmp := Sourse;
repeat
Ps:= AnsiPos(Wrapper, Tmp);
if Ps = 0 then Ps := Length(Tmp) + 1
else Ps2 := Ps;
Strings.Add(Copy(Tmp, 1, Ps - 1));
Tmp := Copy(Tmp, Ps + Length(Wrapper), Length(Tmp));
until Ps = 0;
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.004 c
1-90307
dmitry_s
2002-01-11 11:52
2002.01.28
Delphi5 & MSSQL uniqueidentifier


1-90306
ProfiUgl
2002-01-11 11:09
2002.01.28
Помогите разобраться с COM сервером


1-90267
elk
2002-01-09 13:24
2002.01.28
перекодировка hello <-> руддщ


1-90313
NLO
2002-01-11 07:10
2002.01.28
AutoCAD


1-90277
IronHawk
2002-01-09 19:09
2002.01.28
ПРЕОБРАЗОВАНИЕ ТИПОВ !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский