Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#27

AW: Vokale entfernen

  Alt 8. Dez 2010, 17:20
So, dann mal passend formatiert ...
Delphi-Quellcode:
procedure TForm1.EntvokalisierenClick(Sender: TObject);
var
  Text : string;
  i : integer;
begin
  Text := NormalText.Text;

  i := 1;

  while i <= Length( Text ) do
    begin
      case Text[ i ] of
        'A','E','I','O','U',
        'a','e','i','o','u' :
          begin
            Delete ( Text, i, 1 ) ;
            i := i - 1 ;
          end;
      end;
      i := i + 1 ;

      AusgabeText.Text := Text;
    end;
end;
... und jetzt mal ein wenig optimiert ...
Delphi-Quellcode:
procedure TForm1.EntvokalisierenClick(Sender: TObject);
var
  Text : string;
  i : integer;
begin
  Text := NormalText.Text;

  i := 1;

  while i <= Length( Text ) do
    begin
      case Text[ i ] of
        'A','E','I','O','U',
        'a','e','i','o','u' :
          Delete ( Text, i, 1 ) ;
      else // case
        i := i + 1;
      end; // case
    end; // while

  AusgabeText.Text := Text;
end;
... und dann noch mal so, wie es sich eigentlich gehört
wegen der Trennung von Code und Oberfläche (EVA)
Delphi-Quellcode:
function Entvokalisieren( const AStr : string ) : string;
var
  i : integer;
begin
  Result := AStr;

  i := 1;

  while i <= Length( Result ) do
    begin
      case Result[ i ] of
        'A','E','I','O','U',
        'a','e','i','o','u' :
          Delete ( Result, i, 1 ) ;
      else // case
        i := i + 1;
      end; // case
    end; // while

end;

procedure TForm1.EntvokalisierenClick(Sender: TObject);
begin
  AusgabeText.Text := Entvokalisieren( NormalText.Text );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 8. Dez 2010 um 17:26 Uhr)
  Mit Zitat antworten Zitat