Здравствуйте, eiiaeiie, Вы писали:
E>дурацкий вопрос, но всё же
E>есть строка "askkesww2, 123, js7dy3g" E>как извлечь подстроки до запятой и поместить их в ListBox, чтобы получилось: E>askkesww2 E>123 E>js7dy3g
Здравствуйте, eiiaeiie, Вы писали:
E>дурацкий вопрос, но всё же
E>есть строка "askkesww2, 123, js7dy3g" E>как извлечь подстроки до запятой и поместить их в ListBox, чтобы получилось: E>askkesww2 E>123 E>js7dy3g
А вообще перебором
for i:=0 to length(s) do
Begin
перебираешь по одной буковке и сохраняешь во временную переменную
проверяешь есть ли там запятая, как только появилась добавляешь её в Listbox и обнуляешь...
end;
Здравствуйте, Softwarer, Вы писали:
S>TStrings.CommaText
Ну, или наиболее общий случай:
Procedure ExtractWords (Const Str : String; Delims : TCharSet; Var StrList : TStringList);
// Each StrList object represent word position inside stringVar
i, j, SLen : Integer;
Begin
i:=1;
SLen:=Length(Str);
while i<=SLen do
begin
while (i<=SLen) and (Str[i] in Delims) do Inc(i);
j := i;
while (i<=SLen) and (not (Str[i] in Delims)) do Inc(i);
if i-j>0 then StrList.AddObject(System.Copy(Str, j, i-j), Pointer(j));
End;
End;
Здравствуйте, Spaider, Вы писали: S>Согласен. Функцию выдрал из готового проекта, мне там так было удобней.
Лучше сразу внести это изменение и в готовый проект Это облегчит последующее сопровождение.
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, eiiaeiie, Вы писали:
E>дурацкий вопрос, но всё же
E>есть строка "askkesww2, 123, js7dy3g" E>как извлечь подстроки до запятой и поместить их в ListBox, чтобы получилось: E>askkesww2 E>123 E>js7dy3g
Использовать boost::tokenizer — и не важно, чем твои строки разделены: