Автор, Вы уж определитесь, Вам надо текст запроса преобразовать в некие строки, или же результат выборки по данному запросу из базы выводить текстом ?
Выводить результаты выборки лучше в 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-ов
