Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

String. Разбивание строки на несколько отдельных строк с помощью разделителя.

40K
27 ноября 2008 года
unixoid7
7 / / 21.11.2008
Привет :-P
Для отображения строки используется команда Memo1->Lines->Add(str);
Но строка состоит...ну примерно из 100 символов. Надо разбить эту большую строку на много строк с помощью символа-разделителя. Ну пусть этот символ будет '*'. И затем эти строки по порядку поместить в Memo1.

Алгоритм может быть таким: 1) Просканировать строку от 0 индекса 2) Найти первый символ розделителя '*' 3) создать строку от первого разделителя '*' до следующего разделителя '*' 4) Поместить эту строку в Мемо1; 5) goto 1 :p
ну и так далее... Дайте готовый код.
7.3K
27 ноября 2008 года
H010d Freeze
143 / / 08.08.2006
 
Код:
std::auto_ptr<TStringList> sl(new TStringList);
    sl->Delimiter = '*';
    sl->DelimitedText = "Line1*Line2*Line3";
    Memo1->Lines->Assign(sl.get());
315
27 ноября 2008 года
Nick_M
399 / / 29.05.2003
Особенно вот это понравилось:
Цитата: unixoid7
Дайте готовый код.

А подумать?


 
Код:
AnsiString str;
TReplaceFlags flags;
flags << rfReplaceAll << rfIgnoreCase;
str = "asdfqwer*gdfge*nfnsseer*ikiki";
Memo1->Text = StringReplace(str, "*", "\n", flags);
7.3K
27 ноября 2008 года
H010d Freeze
143 / / 08.08.2006
2Nick_M
Зато автор хоть честно сказал, зачем сюда пришел :)
40K
28 ноября 2008 года
unixoid7
7 / / 21.11.2008
Nick_M, :-P надо не заменять char, а а разделять. :-P код не работает.
Работает этот код:

Memo1->Lines->DelimetedText = sMsg;

Для этого надо было только одну строку :-D шо ж я сразу не догадался... Но жалко что пробелы тоже разделяются при этом способе.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог