Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];
ВнизПролистать memo Найти похожие ветки
← →
sardox (2005-01-21 11:31) [0]как пролистать мемо до определенного слова. пример. есть текст. в нем где то в середине есть слово "Нужное слово". И мне нужно пролистнуть весь текст до этого слова. как можно сделать?
если не понятно - то еще пример - нажмите в браузере контр+F. появится меню поиска. наберите что нить. нажмите поиск. и у вас страница прокрутится до искомого слова. жду ответа
← →
Neznaika © (2005-01-21 15:17) [1]Найти в мемо нужное слово :)-<-<
Возможно тебе поможет
SelLength + F1
SelStart + F1
← →
BFG9k (2005-01-21 17:31) [2]Функция Pos+F1
← →
Palladin © (2005-01-21 18:57) [3]
> [1] Neznaika © (21.01.05 15:17)
Ага... эти методы очень помогают найти слово... просим юзера выделить это слово и тут же находим...
← →
PZ (2005-01-21 19:18) [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;
← →
Aleks (2005-01-21 21:31) [5]можно и так (Будет искать слова не зависимо от регистра букв).
Var
I, P : Integer;
S1 : String;
begin
S1 := "нужное слово";
P:= Pos(AnsiUpperCase(S1),AnsiUpperCase(Memo1.Lines[0]));
ShowMessage("Позиция в строке "+(inttostr(p)));
end;
← →
sardox (2005-01-22 16:41) [6]вообщем сенкс всем, но я уже нашел:
сначала циклом пробиваешь и находишь первую букву слова,её номер,потом сравниваешь последнюю и предпоследнюю, .
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;
← →
PZ (2005-01-22 17:17) [7]Но этот код гораздо сложнее, а результат тот же.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c