![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пролистать memo [D7, WinXP]
sardox © (2005-01-21 11:31:00)как пролистать мемо до определенного слова. пример. есть текст. в нем где то в середине есть слово "Нужное слово". И мне нужно пролистнуть весь текст до этого слова. как можно сделать?
если не понятно - то еще пример - нажмите в браузере контр+F. появится меню поиска. наберите что нить. нажмите поиск. и у вас страница прокрутится до искомого слова. жду ответа
PZ (2005-01-22 17:17:00) [1]Но этот код гораздо сложнее, а результат тот же.
sardox (2005-01-22 16:41:00) [2]вообщем сенкс всем, но я уже нашел:
сначала циклом пробиваешь и находишь первую букву слова,её номер,потом сравниваешь последнюю и предпоследнюю, .
memo1.Perform(WM_VSCROLL, memo1.Perform(EM_LINEfromchar,number,0)*65536+SB_THUMBPOSITION,0); // а это перелистывает
вот весб код
procedure TForm1.ListBox1Click(Sender: TObject);
var
txt,mem: string;
res ,number,number2:integer;
begin
edit1.Text := txt; //нужное слово
mem:=memo1.Text; //наш текст
for number:=1 to memo1.gettextlen do //ищется слово txt
begin
if txt[1] = mem[number] then //сравнение 1 символа
begin
if txt[edit1.GetTextLen] = mem[number + edit1.GetTextLen - 1] then if txt[edit1.GetTextLen-1] = mem[number + edit1.GetTextLen - 2] then //сравнение последнего и предпоследнего
begin
memo1.Perform(WM_VSCROLL, memo1.Perform(EM_LINEfromchar,number,0)*65536+SB_THUMBPOSITION,0);
break;
end;
end;//1
begin
end;
end;
Aleks (2005-01-21 21:31:00) [3]можно и так (Будет искать слова не зависимо от регистра букв).
Var
I, P : Integer;
S1 : String;
begin
S1 := 'нужное слово';
P:= Pos(AnsiUpperCase(S1),AnsiUpperCase(Memo1.Lines[0]));
ShowMessage('Позиция в строке '+(inttostr(p)));
end;
PZ (2005-01-21 19:18:00) [4]procedure TForm1.Button2Click(Sender: TObject);
Var
I, P : Integer;
S : String;
begin
S := 'Нужное слово';
P := Pos(S, Memo1.Text);
Memo1.SelStart := P;
Memo1.SelLength := Length(S);
end;
Palladin (2005-01-21 18:57:00) [5]
> [1] Neznaika © (21.01.05 15:17)
Ага... эти методы очень помогают найти слово... просим юзера выделить это слово и тут же находим...
BFG9k (2005-01-21 17:31:00) [6]Функция Pos+F1
Neznaika (2005-01-21 15:17:00) [7]Найти в мемо нужное слово :)-<-<
Возможно тебе поможет
SelLength + F1
SelStart + F1