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/)
-   -   Werte vergleichen (https://www.delphipraxis.net/81924-werte-vergleichen.html)

Sierra 5. Dez 2006 13:49

Re: Werte vergleichen
 
Danke, das hat mich schon einen Schritt weiter gebracht, aber es funktioniert leider noch nicht.
Am Ende hat k (bei "t" und "k") den Wert 2 und nicht 3.
Meiner Meinung nach hat das noch mit i und j zu tun.
Ich weiß nur noch nicht, wie ich nun auf 3 statt auf 2 komme.

Klaus01 5. Dez 2006 13:54

Re: Werte vergleichen
 
Habe in meinem ersten Beitrag noch etwas hinzugefügt.

Grüße
Klaus

Sierra 5. Dez 2006 13:56

Re: Werte vergleichen
 
Meinst du diese Zeile?

Delphi-Quellcode:
j:=i mod ord(zSchluessel[i]);
Die habe ich nämlich schon hinzugefügt und es ergibt sich das Ergebnis, welches ich in meinem vorigen Beitrag erwähnt habe.

Klaus01 5. Dez 2006 13:57

Re: Werte vergleichen
 
nein, ich meinte diese:
edit2: Ist bei Dir A = 0 B = 1 ... und a = 0 und b = 1 ...?
Dann mußt Du von allen ord-Werten den Ordinalwert von A abziehen, dann solltest Du auf Deine
Werte kommen.

edit3: ord(t) != 19 und ord(k) != 10, ord gibt Dir den Ascii Wert eines Zeichens zurück.
19= ord(t) - ord(a);

Grüße
Klaus

Sierra 5. Dez 2006 14:37

Re: Werte vergleichen
 
Wenn aber

Delphi-Quellcode:
19= ord(t) - ord(a);
ist, wie komme ich dann auf die 10?
Und wie realisiere ich das?

Sierra 5. Dez 2006 15:29

Re: Werte vergleichen
 
Weiß denn niemand, wie ich das Problem lösen könnte?
Vielen Dank.

Klaus01 5. Dez 2006 20:01

Re: Werte vergleichen
 
Hallo Sierra,

eine Lösung zu Deinem Problem findes Du hier oder hier.

Und hier ist die Verschlüsselung beschrieben:

Ich weiß es nicht so genau, aber ...

Delphi-Quellcode:
function Verschluesseln(pPlaintext, pSchluessel: String):String;
var i, j: integer;
    lBuchstabe: char;
    zPlainText:String;
    zSchluessel:String;
begin
  zPlaintext:=lowercase(pPlaintext);
  zSchluessel:=lowerCase(pSchluessel);
  result:='';
  for i:=1 to length(zPlaintext) do
    begin
      j:=ord(zSchluessel[i])- ord('a'); // Anzahl der Verschiebungen ermitteln

      if ord(zPlainText[i])+j > (ord('a') + 26) then // ist der verschobene Buchstabe > 'z'
        lBuchstabe:=chr(ord(ZPlainText[i])+j-26)
      else
        lBuchstabe:=chr((ord(ZPlainText[i])+j));
      result:=result+lBuchstabe;
    end;
end;
edit: Funktion ersetzt

Grüße
Klaus

DP-Maintenance 6. Dez 2006 11:12

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


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

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