Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.22;
Скачать: CL | DM;

Вниз

Анализ строки   Найти похожие ветки 

 
Иван ©   (2002-08-09 11:38) [0]

Добрый день. Делаю программу, содержащую TEdit, используемый в качестве строки для ввода команд. Так вот, как "по-умному" сделать разбиение строки? Т.е. при нажатии кнопки, Enter (вобщем неважно чего)строка разбивалась на:
-команду
-параметр 1
-параметр 2
...
-параметр n

Помогите!!!


 
Skier ©   (2002-08-09 11:42) [1]

>Иван

В RX Library есть модуль для "работы со строками", в
частности там есть функции : "вытаскивания" слова из строки по
номеру, получение кол-во слов в строке и т.д. и т.п.

Загляни туда...(модуль StrUtils.pas)


 
McSimm ©   (2002-08-09 11:48) [2]

"По-умному" - не знаю, могу предложить удобный вариант. При котором команда и параметры становятся элементами TStringList

При условии, что разделителем является пробел:

SL.Text := StringReplace(Edit1.Text, #32, #13#10, [rfReplaceAll]);


 
Kent ©   (2002-08-09 12:01) [3]

Используй объект TParser, он не документирован в помощи Delphi, но найти его можешь по ключевому слову. Парсер разбивает строку на лексемы. А там уж из них сам решай что команда, а что параметр.
Мне энтот объект очень помог !!!
Удачи !!!


 
Юрий Зотов ©   (2002-08-09 12:29) [4]

И даже без StringReplace:
StringList1.CommaText := Edit1.Text;
А затем берем команду и параметры StringList1.


 
Леха_   (2002-08-09 15:32) [5]

QStrings в инете найти без проблемм

если не найдешь могу выслать


 
Leran2002 ©   (2002-08-09 15:41) [6]

А строка так задана или как:
"-команду-параметр1-параметр2...-параметрN"


 
Leran2002 ©   (2002-08-09 15:52) [7]

В общем мне скоро уходить пора так что вот посмотри может подойдет (если строка задается как я думал):

var
S:string;
MyList:TStringList;
begin
S:=Edit1.Text;
MyList:=TStringList.Create;
MyList.Text:=StringReplace(S,"-",#13#10"-",[rfReplaceAll]); // Режем строку
if MyList.Count>0 then MyList.Delete(0);

Memo1.Lines.Assign(MyList); // Проверка

Надеюсь помог.



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

Текущий архив: 2002.08.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
6-71299
sm_dmitry
2002-06-10 22:00
2002.08.22
Twebbrowser и линки на exe


1-71205
Goblinus
2002-08-10 11:13
2002.08.22
Пара вопросиков по PageControl


1-71230
V.Turecky
2002-08-11 15:26
2002.08.22
Нужен пример с использованием BM_SETCHECK. Любой.


1-71153
Cr@sh
2002-08-13 15:51
2002.08.22
Ув. мастера, помогите с алгоритмом.


1-71128
andrey_pst
2002-08-13 09:57
2002.08.22
Получение имен неизвестных файлов.