Показать сообщение отдельно
  #10  
Старый 28.04.2014, 07:57
phomm phomm вне форума
Новичок
 
Регистрация: 07.10.2013
Адрес: Тюмень
Сообщения: 50
Версия Delphi: 7/2007/XE+/FPC
Репутация: 22
По умолчанию

Автор, Вы уж определитесь, Вам надо текст запроса преобразовать в некие строки, или же результат выборки по данному запросу из базы выводить текстом ?
Выводить результаты выборки лучше в TDBGrid ну или на крайний случай в TStringGrid или TListBox (но для них надо будет использовать цикл обхода по "набору данных"). TMemo же практически не подходит для такой задачи.
Если же нужно просто слова выделить из текста запроса, то можно использовать Copy Pos и т.п. но будет негибко (чуть поменяете текст запроса и всё может слететь), можно "использовать RegExp" © но для Вас будет сложновато и в принципе, тоже может быть негибко.
Могу предложить обычный способ деления на слова с помощью TStringList:
Код:
procedure WordDivider(SL: TStringList);
var
  Text: string;
begin
  Text := SL.Text;
  StringReplace(text, '  ', ' ', [rfReplaceAll]); // kill all double-space
  SL.Delimiter := ' ';
  SL.DelimitedText := Text; // divide all Text into words
end;
// вызов
var
  SL: TStringList;
...
SL := TStringList.Create;
SL.Text := 'ваша строка с чем угодно';
WordDivider(SL);
for i := 0 to SL.Count - 1 do
  Memo1.Lines.Add(SL[i]); // выводим разбитый на слова текст
Для Вашего случая можно потом обращаться к конкретным номерам слов по SL[номер]

П.С. тема трёх MAD-ов
Ответить с цитированием