Относительно последнего вопроса... Rus2Lat можно сделать и так:
Код:
unit Unit1;
interface
uses
SysUtils,Forms,Dialogs,StdCtrls,Controls,Classes;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function rus2lat(data:string):string;
var a: array [1..30] of string;
i,L,j,k:byte;
Rus,Lat,sout:string;
begin
sout:='';
L:=Length(data);
Rus:='абвгдежзиклмнопрстуфхю'; //собственно эти строки и служат
Lat:='abvgdegziklmnoprstyfhu'; //для перевода RUS символов в ENG
for i:=1 to L do
begin
for j:=1 to 23 do
if data[i]=Rus[j] then a[i]:=Lat[j]
else
if AnsiLowerCase(data[i])=Rus[j] then a[i]:=AnsiUpperCase(Lat[j]);
end;
for k:=1 to L do sout:=sout+a[k];
Rus2Lat:=sout;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:=rus2lat(Edit1.Text);
end;
end.
На форму бросаем TEdit, TLabel и TButton... проверил, работает...хотя строковые переменные Rus и Lat скорей всего надо будет переписать. Эти только для примера.