Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разбиение строку на слова с помощью TStringList, забыл как через TStringList 
:(
    Опции темы
Delphist
  Дата 19.6.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Подскажите, пожалуйста, как с помощью TStringList'a разбить строку на слова. Помню, что в TStringList.Delimiter задавали разделитель.


================
P.S.
Конечно, есть более продвинутые способы, например:
Код

var
  sl: TStringList;
begin

  sl := TStringList.Create;
  try
    ExtractStrings([';', ','], [''‘], 'language: russian; delphi, php, c++; Ivanov', sl);
  finally
    sl.Free;
  end;
end;


но хотелось бы средствами самого TStringList'a

Это сообщение отредактировал(а) Delphist - 19.6.2008, 12:23


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Delphist
Дата 20.6.2008, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Странно, что никто не знает как это сделать?


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Qu1nt
Дата 20.6.2008, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 18
Всего: 50



Вроде, свойство Delimiter типа Char. Т.е. можно задать только один разделитель.
PM MAIL   Вверх
Delphist
Дата 20.6.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(Qu1nt @  20.6.2008,  11:54 Найти цитируемый пост)
Вроде, свойство Delimiter типа Char. Т.е. можно задать только один разделитель. 

ну и...
как заставить "слово1, слово2, слово3" превратиться в StringList'e в список из
слово1
слово2
слово3


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Qu1nt
Дата 20.6.2008, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 18
Всего: 50



Например так:
Код

procedure TForm1.Button1Click(Sender: TObject);
const
  TXT = 'слово1, слово2, слово3';
var
  i: Integer;
begin
  with TStringList.Create do
  begin
    DelimitedText := TXT;
    for i := 0 to Count - 1 do
      ShowMessage(Strings[i]);
    Free;
  end;
end;


Это сообщение отредактировал(а) Qu1nt - 20.6.2008, 15:31
PM MAIL   Вверх
ama_kid
Дата 20.6.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 15
Всего: 95



Цитата(Qu1nt @  20.6.2008,  15:28 Найти цитируемый пост)
Например так
Или, если разделитель произвольный, так:
Код
procedure TForm1.Button1Click(Sender: TObject);
const
  TXT = 'слово1, слово2, слово3';
var
  i: Integer;
begin
  with TStringList.Create do
  begin
    Delimiter:=',';
    DelimitedText:=TXT;
    for i := 0 to Count - 1 do
      ShowMessage(Strings[i]);
    Free;
  end;
end;



Это сообщение отредактировал(а) ama_kid - 20.6.2008, 15:32


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Delphist
Дата 20.6.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(ama_kid @  20.6.2008,  16:32 Найти цитируемый пост)
Или, если разделитель произвольный, так:

Спасибо, точно. Блин надо было присваивать DelimitedText, а я Text'у


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
MetalFan
Дата 21.6.2008, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



для более сложной разбивки можно ExtractStrings прикрутить


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 21.6.2008, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата(MetalFan @  21.6.2008,  21:09 Найти цитируемый пост)
для более сложной разбивки можно ExtractStrings прикрутить 

В первом сообщении это показано ;) Радует, что мой блог читают  smile 


--------------------
user posted image
PM MAIL WWW Skype   Вверх
MetalFan
Дата 22.6.2008, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



aktuba, эмм... нипонял, ты про что?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 22.6.2008, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата(MetalFan @  21.6.2008,  21:09 Найти цитируемый пост)
для более сложной разбивки можно ExtractStrings прикрутить 


Цитата(Delphist @  19.6.2008,  13:10 Найти цитируемый пост)
Конечно, есть более продвинутые способы, например:
Код

var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    ExtractStrings([';', ','], [''‘], 'language: russian; delphi, php, c++; Ivanov', sl);
  finally
    sl.Free;
  end;
end;

но хотелось бы средствами самого TStringList'a

Вот про это. А ты про что?


--------------------
user posted image
PM MAIL WWW Skype   Вверх
MetalFan
Дата 22.6.2008, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



aktuba, а я торможу)  smile 


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Delphist
Дата 23.6.2008, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(aktuba @  21.6.2008,  21:42 Найти цитируемый пост)
Радует, что мой блог читают  

Больше всего меня порадовало на твоем блоге про приведении типов, к моему стыду я не знал что as себя так странно ведет


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
aktuba
Дата 23.6.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата(Delphist @  23.6.2008,  12:01 Найти цитируемый пост)
Больше всего меня порадовало на твоем блоге про приведении типов, к моему стыду я не знал что as себя так странно ведет

Это выявил не я, а December... Я только участвовал в поиске причин.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0939 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.