std::auto_ptr<TStringList> sl(new TStringList);
sl->Delimiter = '*';
sl->DelimitedText = "Line1*Line2*Line3";
Memo1->Lines->Assign(sl.get());
String. Разбивание строки на несколько отдельных строк с помощью разделителя.
Для отображения строки используется команда Memo1->Lines->Add(str);
Но строка состоит...ну примерно из 100 символов. Надо разбить эту большую строку на много строк с помощью символа-разделителя. Ну пусть этот символ будет '*'. И затем эти строки по порядку поместить в Memo1.
Алгоритм может быть таким: 1) Просканировать строку от 0 индекса 2) Найти первый символ розделителя '*' 3) создать строку от первого разделителя '*' до следующего разделителя '*' 4) Поместить эту строку в Мемо1; 5) goto 1 :p
ну и так далее... Дайте готовый код.
Код:
Цитата: unixoid7
Дайте готовый код.
А подумать?
Код:
AnsiString str;
TReplaceFlags flags;
flags << rfReplaceAll << rfIgnoreCase;
str = "asdfqwer*gdfge*nfnsseer*ikiki";
Memo1->Text = StringReplace(str, "*", "\n", flags);
TReplaceFlags flags;
flags << rfReplaceAll << rfIgnoreCase;
str = "asdfqwer*gdfge*nfnsseer*ikiki";
Memo1->Text = StringReplace(str, "*", "\n", flags);
Зато автор хоть честно сказал, зачем сюда пришел :)
Работает этот код:
Memo1->Lines->DelimetedText = sMsg;
Для этого надо было только одну строку :-D шо ж я сразу не догадался... Но жалко что пробелы тоже разделяются при этом способе.