Thema: Delphi Wörter eingabe

Einzelnen Beitrag anzeigen

Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Wörter eingabe

  Alt 22. Aug 2003, 17: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.
  Mit Zitat antworten Zitat