Показать сообщение отдельно

  #5  
Старый 10.12.2006, 17:59
a1nt
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме:
573934

Репутация: 114
По умолчанию

Цитата:
const
KEY_CTRL_B = 02;
KEY_CTRL_I = 9;
KEY_CTRL_S = 19;
KEY_CTRL_U = 21;
Вот тебе константы с кодаме некоторых горячих клавиш, которые передаются в varKey при событии OnKeyPress в Delphi.

Еще. Насколько я знаю средствами VCL нельзя вызвать выделение текста в классе TMemo (поправьте если не прав. Выход - WinAPI, я в нем не очень силен, но если что-нибудь придумаю, напишу.

А вот насчет слов, это просто. Я тут набросал...
Этот код соберет весь список слов из Memo1 и запихнет их в ListBox1, я думаю, ты без труда адаптируешь этот код для себя, тем более откомментировал по самое не хочу.

Код:
var i:integer;
h,buf:String;
begin
For i:= 0 to Memo1.Lines.Count-1 do begin //Цикл перебора строк
h:=Memo1.Lines[i];
while(not (h='')) do begin //Цикл перебор слов (пока строка не закончится)
//Здесь можно сделать счетчик, чтобы выделять определенное слово
if pos(' ',h)>0 then begin  
buf:=copy(h,1,pos(' ',h)); 
delete(buf,length(buf),1); //Пробел перед след. словом нам тут точно не нужен
end else buf:=h; //Ну а ежели в строке только одно слово, то так и выделяем
delete(h,1,length(buf)+1); //Удаляем найденное слово из оставшейся строки, чтобы второе стало первым.
ListBox1.Items.Add(buf); //Здесь находится обработка найденного слова, в моем коде оно добавляется в ListBox1, ты конечно можешь выделять, как хочешь.
end;
end;
 
Ответить с цитированием