Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2011, 19:41   #1
abab
Новичок
Джуниор
 
Регистрация: 30.12.2011
Сообщений: 1
По умолчанию англо-русский переводчик

помогите доделать прогу, а то чет сам никак не могу сообразить как дальше


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;

type
TForm1 = class(TForm)
Label1: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
StringGrid1: TStringGrid;
Memo2: TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
s1,s2:tstringlist;
c:set of char = ['A'..'Z','a'..'z'];
i:integer;
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
s1:=tstringlist.Create;
s1.LoadFromFile('1.txt');

s2:=tstringlist.Create;
s2.LoadFromFile('2.txt');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
s,s5:string;
j:integer;
k_slov,k_per:integer;
m_slov:array[1..1000] of string;
per_slov:array[1..1000] of integer;

flag:boolean;
p:integer;

begin

for p:=0 to memo1.Lines.Count-1 do
begin

s:=memo1.Lines.Strings[p];

k_slov:=0;
k_per:=0;
s5:='';
if length(s)>0 then
if s[1] in c then flag := True
Else flag := false;

for j:=1 to length(s) do
begin


if s[j] in c then
begin //буква

if flag then s5:=s5+s[j]
else
begin
inc(k_slov);
m_slov[k_slov]:=s5;
s5:=s[j];
flag:=true;
end;


end
else
begin //не буква
if not flag then s5:=s5+s[j]
else
begin
inc(k_slov);
inc(k_per);
m_slov[k_slov]:=s5;
per_slov[k_per]:=k_slov;
s5:=s[j];
flag:=false;
end;

end;




end;




for i:=1 to k_slov do

begin
flag:=false;
for j:=1 to k_per do
if i=per_slov[j] then flag:=true;

if flag then stringGrid1.Cells[i-1,1]:=m_slov[i]
else stringGrid1.Cells[i-1,0]:=m_slov[i];

end;

в этом промежутке надо задать циклы по обработке стринг грид 1 перевести даные каждой ячейки второй строки, соединить первые вторые строки и добавить в мемо2 переведенное на русский язык предложение


memo2.Lines.Add()



end;



end;

procedure TForm1.Button2Click(Sender: TObject);
begin
form2.show;
end;

end.
abab вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Англо-русский словарь на делфи! nelly.nelly Помощь студентам 3 15.05.2011 13:39
Программа Англо- Русский переводчик в с++ Сергей2903 Помощь студентам 1 07.05.2011 07:26
англо-русский словарь в txt the_deer_one Свободное общение 4 19.04.2011 19:24
Односвязные списки, создание англо-русского словаря ldinka135 Помощь студентам 4 05.01.2011 18:05
англо - русский словарь в txt или в Accesse! ! IT-man Свободное общение 3 07.04.2009 20:40