Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.170 Beiträge
 
Delphi 12 Athens
 
#15

Re: Leerzeichen in Unterstriche umwandeln

  Alt 10. Feb 2009, 10:58
drum fragte ich ja nach dem letzen Code,
denn wenn ich ein
' '      : s1 := s1 + ' '; in das CASE reinmach, dann bleibt das Leerzeichen erhalten.

nja, abgesehn, daß bei deiner Verschlüsselung die Berechnung nicht stimmte ... wie gesagt, du mußt auf den Wertebereich achten (also daß alles innerhalb der Buchstaben bleibt) und das Leerzeichen wird unverändert beibehalten.

kannst ja gern das Ergebnis deiner Funktion hiermit vergleichen
http://www.ivhp.de/files/caesar.htm
wenn das Selbe rauskommt, daß isses sozusagen richtig
Delphi-Quellcode:
PROCEDURE TForm1.FormCreate(Sender: TObject);
VAR s, s1, aus: String;
    sch, i, ASCII: Integer;

BEGIN
  sch := StrToInt(lbein.text);
  s := edein.Text;
  s1 := '';
  FOR i := 1 TO Length(s) DO
    CASE s[i] OF
      'A'..'Z' : s1 := s1 + s[i];
      'a'..'z' : s1 := s1 + UpCase(s[i]);
      'ß'      : s1 := s1 + 'SS';
      'ä', 'Ä' : s1 := s1 + 'AE';
      'ö', 'Ö' : s1 := s1 + 'OE';
      'ü', 'Ü' : s1 := s1 + 'UE';
      ' '      : s1 := s1 + ' ';
    END;
  aus := '';
  FOR i := 1 to Length(s1) DO
  BEGIN
    IF s1[i] <> ' THEN
    BEGIN
      ASCII := Ord(s1[i]) + sch;
      //WHILE ASCII > Ord('Z') DO ASCII := ASCII - 26;
      WHILE ASCII > Ord('Z') DO ASCII := ASCII - (Ord('Z') - Ord('A') + 1);
      aus := aus + Chr(ASCII);
    END
    ELSE
      aus := aus + s1[i];
  END;
  edaus.Text := aus;
END;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat