Registriert seit: 19. Aug 2003
509 Beiträge
Delphi 7 Enterprise
|
Re: Wörter eingabe
22. Aug 2003, 18:46
Delphi-Quellcode:
implementation
{$R *.DFM}
type TBezeichner = record
a ,zahl: String[2];
end;
var S : array[0..25] of TBezeichner;
procedure TForm1.FormCreate(Sender: TObject);
begin
s[0].a := 'A'; s[0].zahl := '1';
s[1].a := 'B'; s[1].zahl := '2';
s[2].a := 'C'; s[2].zahl := '3';
s[3].a := 'D'; s[3].zahl := '4';
s[4].a := 'E'; s[4].zahl := '5';
s[5].a := 'F'; s[5].zahl := '6';
s[6].a := 'G'; s[6].zahl := '7';
s[7].a := 'H'; s[7].zahl := '8';
s[8].a := 'I'; s[8].zahl := '9';
s[9].a := 'J'; s[9].zahl := '10';
s[10].a := 'K'; s[10].zahl := '11';
s[11].a := 'L'; s[11].zahl := '12';
s[12].a := 'M'; s[12].zahl := '13';
s[13].a := 'N'; s[13].zahl := '14';
s[14].a := 'O'; s[14].zahl := '15';
s[15].a := 'P'; s[15].zahl := '16';
s[16].a := 'Q'; s[16].zahl := '17';
s[17].a := 'R'; s[17].zahl := '18';
s[18].a := 'S'; s[18].zahl := '19';
s[19].a := 'T'; s[19].zahl := '20';
s[20].a := 'U'; s[20].zahl := '21';
s[21].a := 'V'; s[21].zahl := '22';
s[22].a := 'W'; s[22].zahl := '23';
s[23].a := 'X'; s[23].zahl := '24';
s[24].a := 'Y'; s[24].zahl := '25';
s[25].a := 'Z'; s[25].zahl := '26';
end;
function TForm1.isZahl(c: Char): Boolean;
begin
result := c in ['0'..'9']
end;
function TForm1.isBuchstabe(c: Char): Boolean;
begin
result := c in ['A'..'Z','a'..'z']
end;
procedure TForm1.Button1Click(Sender: TObject);
var index,i : Integer;
u : String;
begin
index := 0;
i := 1;
while i <= length(Edit1.Text) do
begin
u := Edit1.Text;
if isBuchstabe(Edit1.Text[i]) then
begin
while index < 25 do
begin
if s[index].a = Edit1.Text[i] then
begin
insert(s[index].zahl, u,i);
delete(u,i+1,1);
Edit1.Text := u;
index := 25;
end else
index := index+1;
end;
end else
begin
if isZahl(Edit1.Text[i]) then
begin
while index < 25 do
begin
if s[index].zahl = Edit1.Text[i] then
begin
// hier muss noch der Teil rein, der wenn eine Zahl gefunden eird ,den String nach
//Kommas zerlegt; so wie es jetzt ist, geht es nur einstellig dafür aber hin- und her
delete(u,i,1);
insert(s[index].a, u,i);
Edit1.Text := u;
index := 25;
end else
index := index+1;
end;
end;
end;
index :=0;
i:=i+1;
end;
end;
end.
Das hab ich ebend mal schnell zusammen genagelt. Nur grob getestet. Muß noch tüchtig viel optimiert werden. Aber es sollte ja blos eine Anregung sein.
[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
Danke Daniel. Ich gelobe Besserung.
|
|
Zitat
|