![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск русского текста в RichEdit
A1ex © (2004-03-22 14:27:00)Вопрос такого плана. В RichEdit осуществляется поиск кусков текста. Если это английский - проблем нет, все работает. Если искомый текст - кирилица, то упрямо не видит его при поиске. Должно ли так быть и если да, то как можно обойти. Не охота самому писать продцедуру поиска... Текст загружается из файла как reText. KOL1.90
WinXP если это важно.
<Falcon> (2004-03-29 18:39:00) [1]Уже сделал :-) Хотелось просто с этим разобраться... Особенно почему
Dest:=RichEdit1.Items[1];
мусор выдает.
Gandalf (2004-03-29 17:13:00) [2]M$ по этому поводу молчит, попробуй дедовский способ через Pos.
<Falcon> (2004-03-29 16:10:00) [3]Вот код:
procedure TForm1.Button1Click(Sender: PObj);
var
Dest : string;
begin
if OpenSaveDialog1.Execute then
begin
RichEdit1.RE_LoadFromFile(OpenSaveDialog1.Filename,reText,False);
Dest:=RichEdit1.Items[1];
ShowMessage(Dest);
end;
end;
procedure TForm1.Button2Click(Sender: PObj);
var
RF : integer;
begin
// ActivateKeyboardLayout(LoadKeyboardLayout('00000419',KLF_ACTIVATE), KLF_REORDER);
RF:=RichEdit1.RE_SearchText(EditBox1.Text,True,True,True,0,-1);
if RF >=0 then
begin
RichEdit1.SelStart:=RF;
RichEdit1.SelLength:=Length(EditBox1.Text);
end else ShowMessage('String not found!');
end;
procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
RichEdit1.Font.FontCharset:=RUSSIAN_CharSet;
end;
end.
Текстовый файл - для примера 1 сторока : 'some text и тут текст'
Вот собственно и все...
Gandalf (2004-03-25 22:52:00) [4]Повоторюсь - код в студию! Ваш Код поиска.
<Falcon> (2004-03-25 11:36:00) [5]Между прочим, о поиске, обнаружил вот такую забавную вещь.
Если присвоить строковой переменной значение строки RichEdit, то
вместо кирилицы получим мусор. т.е.
RichEdit1.Items[i] --- 'some text и тут текст'
теперь делаем:
Str:=RichEdit1.Items[i];
имеем:
Str --- 'some text "а тут уже мусор"'
Естесвенно имеется в виду что текст загружен как reText.
Теперь еще вопрос, почему при поиске кирилицы имеет значение текущая расскладка клавиатуры. При русской - текст находится, при английской - нет. Это как-то нехорошо.
Кто может просвятить?
<Falcon> (2004-03-23 09:27:00) [6]Проверь свойства AutoKeybdSet, AutoKeyboard
Gandalf (2004-03-22 18:18:00) [7]Код в студию.