Показать сообщение отдельно
  #1  
Старый 30.12.2011, 14:59
abab abab вне форума
Прохожий
 
Регистрация: 30.12.2011
Сообщения: 4
Репутация: 10
По умолчанию Англо-русский переводчик

добрый день! помогите с программой, а то сам чет не могу сообразить...
Код:
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;


begin

{if radiobutton1.Checked then
begin
if s1.IndexOf(edit1.Text)<>-1 then
edit2.Text:=s2.Strings[s1.IndexOf(edit1.Text)];
end else
begin
if s2.IndexOf(edit1.Text)<>-1 then
edit2.Text:=s1.Strings[s2.IndexOf(edit1.Text)];
end; }
  begin

  s:=memo1.Text;

  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;

    end;
----------------------------------------------------------
 begin
for i:=1 to k_slov do
{if i=per_slov then}
begin
Form1.Memo2.Lines.Add(IntToStr(k_slov);
  end;

ВОТ СДЕСЬ НАДО ЗАДАТЬ ЦИКЛ ТАКОЙ ШТО Б ОН МНЕ ПЕРЕВОДИЛ РАЗДЕЛЕННЫЕ СЛОВА НА РУССКИЙ ИЗ 1.TXT
-------------------------------------------------------------

end;





end;

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

end.
Админ: Пользуемся тегами для оформления кода!
Ответить с цитированием