Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Cäsar-Code (https://www.delphipraxis.net/147520-caesar-code.html)

himitsu 15. Feb 2010 11:16

Re: Cäsar-Code
 
Zitat:

Zitat von CASA
dass z nicht zu a umgewandelt wird,

Welches z und a?

Außerdem verschiebst du aktuell alle Zeichen.
Bei Cäsar werden aber nicht alle Zeichen verändert

Delphi-Quellcode:
if eingabe[i] in ['a'..'z'] then
  eingabe[i] := Chr((Ord(eingabe[i]) - Ord('a') + offset) mod 26 + Ord('a'));
Dieses verschiebt z.B. die kleinen Buchstaben a bis z innerhalb ihres Bereichs.

DP-Maintenance 15. Feb 2010 11:32

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.

HLukas 16. Feb 2010 10:21

Re: Cäsar-Code
 
Noch eine Antwort!

procedure TForm1.Button1Click(Sender: TObject);
var Eingabe, Ausgabe : String;
i, ascii, Schritt : Integer;
begin
Eingabe := Edit1.text;
Ausgabe := '';
Schritt := StrToInt(Edit3.text); // Verschiebegrad
for i := 1 to length(Eingabe) do
begin
ASCII := ord(Eingabe(.i.));
ASCII := ((ASCII + Schritt-96) mod 26)+96;
Ausgabe := Ausgabe + char(ASCII);
end;
Edit2.Text := Ausgabe;
end;

Will man Zeichen ausnehmen kann das noch eingebaut werden

himitsu 16. Feb 2010 10:46

Re: Cäsar-Code
 
siehe auch schon in Beitrag #1
Zitat:

Zitat von CASA
[edit=Luckie]Delphi Tags. Mfg, Luckie[/edit]

Wäre schön, wenn ihr das zukünftig selber macht.
Über den entsprechenden http://www.delphipraxis.net/template.../icon_edit.gif-Button kannste das noch schnell ändern.

Zitat:

Zitat von HLukas
Will man Zeichen ausnehmen kann das noch eingebaut werden

Will? Es muß, denn rate mal, was dein Code jetzt aus allem macht, was kein Buchstabe innerhalb dieses bestimmten Bereichs ist.
> Leerzeichen, Satzpunkt, Zahlen und Co. werden alle zerstört.

PS: Statt (.i.) macht sich [i] bestimmt übersichtlicher.


@alle anderen mitlesenden Programmierer:
Laufzeit- und Speicheroptimierungen, bezüglich "Ausgabe := Ausgabe + ...", würde ich hier absichtlich mal außen vor lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:09 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz