imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 28.04.2003, 23:41     # 1
diablist
Newbie
 
Регистрация: 09.08.2002
Адрес: prison
Сообщения: 10

diablist Путь к славе только начался
Exclamation Delphi. Помогите плиз нужно написать простейший переводчик!

Реализация очень простая. Загружаю в memo или richedit текстовый файл,
и по зараннее заготовленной базе или текстового файла с словами, проверяю если слово в базе есть, то заменить в моем загруженном файле. Вот и все никаких наворото ничего только основу расскажите или дайте ссылку!!
__________________
Satanas
diablist вне форума  
Старый 06.05.2003, 16:26     # 2
diablist
Newbie
 
Регистрация: 09.08.2002
Адрес: prison
Сообщения: 10

diablist Путь к славе только начался
Никто не отвечает на мои мольбы
Ну хоть подскажите как зделать массовый search-replace в RichEdit'е?
__________________
Satanas
diablist вне форума  
Старый 07.05.2003, 17:35     # 3
sasa001
Guest
 
Сообщения: n/a

diablist
Хе.... )))) Прикольно написал )))
А вот я бы не парился и БД слепил... по-моему, так красивше будет...
 
Старый 08.05.2003, 16:59     # 4
diablist
Newbie
 
Регистрация: 09.08.2002
Адрес: prison
Сообщения: 10

diablist Путь к славе только начался
sasa001
Дык подскажы как Яж для того и помощи спрашую.
__________________
Satanas
diablist вне форума  
Старый 10.05.2003, 21:35     # 5
donatas
Junior Member
 
Регистрация: 12.09.2002
Сообщения: 99

donatas Мелкий засранец
хэлпы рулят
Код:
procedure TForm1.Button1Click(Sender: TObject);

begin
  FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
  FindDialog1.Execute;
end;

procedure TForm1.FindDialog1Find(Sender: TObject);
var
  FoundAt: LongInt;
  StartPos, ToEnd: Integer;
begin
  with RichEdit1 do
  begin
    { begin the search after the current selection if there is one }
    { otherwise, begin at the start of the text }
    if SelLength <> 0 then

      StartPos := SelStart + SelLength;
    else

      StartPos := 0;

    { ToEnd is the length from StartPos to the end of the text in the rich edit control }

    ToEnd := Length(Text) - StartPos;

    FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
    if FoundAt <> -1 then
    begin
      SetFocus;
      SelStart := FoundAt;
      SelLength := Length(FindDialog1.FindText);
    end;
  end;
end;
__________________
Latest Active Project: nC++
donatas вне форума  
Старый 13.05.2003, 19:10     # 6
diablist
Newbie
 
Регистрация: 09.08.2002
Адрес: prison
Сообщения: 10

diablist Путь к славе только начался
donatas
Спасибо, но это не совсем то. Мне не нужно чтобы вылазил диалог. Нужно чтобы молча заменил указанные слова в документе
__________________
Satanas
diablist вне форума  
Старый 13.05.2003, 20:17     # 7
donatas
Junior Member
 
Регистрация: 12.09.2002
Сообщения: 99

donatas Мелкий засранец
var
strfrom,strto:string
str:string;
i:integer;
--------------
for i:=0 to memo1.lines.count-1 do
begin
str:=memo1.lines[i];
if pos(strfrom,str)>0 then
memo1.lines[i]:=
copy(str,0,pos(strfrom,str)-1)+strto+copy(str,pos(strfrom,str)+length(strfrom)),length(str)-(pos(strfrom,str)+length(strfrom)));
end;

вот,писал прямо тут,значит мог в количестве скобок ошибиться =\ но в целом должно работать
strfro - что ищем
strto - на что заменяем....
я думаю в цикле сможешь запускать,и подставлять from/to
__________________
Latest Active Project: nC++
donatas вне форума  
Старый 14.05.2003, 04:54     # 8
diablist
Newbie
 
Регистрация: 09.08.2002
Адрес: prison
Сообщения: 10

diablist Путь к славе только начался
ПАсибо!!!
Бум копатЦА
__________________
Satanas
diablist вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:27.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.