Конференции:  3D графика Delphi Игры Бизнес Потрепаться PHP&MySQL QuarkXPress Turbo Pascal WEB-дизайн 
<<<    Конференция "Delphi"   >>>
Fantom [2003-09-05 12:20:48]
ПАРСИНГ СТРОКИ
Привет!
Поставлена задача: пользователь заносит в поле Edit, Memo
или SQL таблицу с клавиатуры нечто вида "а+в".
Необходимо в Delphi произвести вычисления по функции, заданной таким образом.
Подскажите, с какой стороны браться за ентот орешек
Спасибо!

Man in Black ® [2003-09-05 14:48:02]    [1]
Проще всего:
Var
sl:TStringList;

Begin
Edit.Text:='base+table+select+something+etc';

sl:=TStringList.Create;
sl.text:=Edit.Text;
sl.text:=StringReplace(sl.text, '+' , #13#10 ,[rfReplaceAll]);

//После этого sl[0] будет равнятьсяbase,  sl[1] - table, sl[2] - select и т.д.

sl.free;

End;


Можно делать более гибко, работая с Pos и Length.

Sabrian [2003-09-25 18:43:08]    [2]
Загляни на http://algolist.manual.ru/ там в разделе "Разработка компиляторов и разбор выражений" есть статья о Обратной польской нотации, а если самому писать влом будет - оставь mail, я тебе свой исходник скину.

Tiger [2004-02-15 12:06:57]    [3]
Sabrian, скинь, плиз, свой исходник на мой мэйл: p-tigr@mail.ru

Заранее спасибо!!!

SomeOne [2009-07-29 19:03:17]    [4]
привет

1 [2010-05-03 14:15:14]    [5]
согласен

User [2010-05-04 14:50:56]    [6]
пыво
Thanks mate

SomeOne [2010-05-08 11:59:03]    [7]
приветя улыбаюсьмое почтениеязыкязыкязыкязыкязыкязыкязыкязыкязыкязыкязыкязык

GlooK [2010-11-03 08:26:54]    [8]
Лучше всего использовать модуль TRegExpr как описано в статье http://tdlite.ru/delphi/coregexpr/


ПОДПИСАТЬСЯ НА ТЕМУ

E-mail
7+8?



приветя улыбаюсьхадаподмигиваюя тащусьмое почтениесчастливоцелуюбухаемужас
не понялплачуфупечальзлойстесняюсьсогласеннетгыкурю
суперязыкмузонпыворыдаю


Ваше имя: 
     Осталось: 

 

Допускается форматирование текста:
[•B]полужирный[B•] [•I]наклонный[I•] [•U]подчеркнутый[U•] [•‹]URL картинки[›•].
Для кода программ используйте [•¤] код программы [¤•]
Количество открывающих и закрывающих тэгов форматирования текста должно быть равным, иначе форматирование не осуществится.


Adelavida Link       Рейтинг@Mail.ru