Thema: Delphi ATBaSCHVerschlüsselung

Einzelnen Beitrag anzeigen

Mulgatree

Registriert seit: 9. Okt 2011
10 Beiträge
 
#1

ATBaSCHVerschlüsselung

  Alt 12. Jan 2013, 15:28
Hallo!
Wir haben in _Informatik im Moment das Thema Verschlüsselung, speziell die ATBaSCH-Verschlüsselung.
Diese Verschlüsselung ist einfach, der eingegebene Buchstabe wird durch den ersetzt, der genausoweit weg ist wie auf der anderen seite vom Alphabet. Doof ausgedrückt, aber simpel:
ZYXWVUTSRQPONMLKJIHGFEDCBA
^
ABCDEFGHIJKLMNOPQRSTUVWXYZ

Bis jetzt haben ich folgendes Zusammengebastelt:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    b_verschluesseln: TButton;
    e_eingabe: TEdit;
    b_entschluesseln: TButton;
    e_ausgabe: TEdit;
    b_loeschen: TButton;
    b_close: TButton;
    procedure b_closeClick(Sender: TObject);
    procedure b_verschluesselnClick(Sender: TObject);
  private
    { Private-Deklarationen }
    function getkey(a:string): integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

function TForm1.getkey(a:string): integer;
begin
result:=(ord(StrToInt(a))) - 65;
end;
procedure TForm1.b_closeClick(Sender: TObject);
begin
close;
end;

procedure TForm1.b_verschluesselnClick(Sender: TObject);
var i, b: integer; s, f: string;
begin
for i:=1 to length(e_eingabe.Text) do
  begin
    f:=(e_eingabe.Text[i]);
    b:=getkey(f);
    s:=s + chr((90 - b));
end;
e_ausgabe.text:=s;
end;
end.
eigentlich eine sehr einfache programmierung, aber es hakt dann bei der Verschlüsselung. Wenn ich z.B. das Wort 'HALLO
'(eingegebene Buchstaben werden automatisch in Großbuchstaben umgewandelt) eingebe, kommt folgende Fehlermeldung: Im Projekt ATBaSCh.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: ''H' ist kein gültiger Integerwert'.
Das Problem wird dann in folgender Zeile markiert:
    b:=getkey(f); Deklariert man die Variabel f als Char und passt die function getkey an, kommt dieselbe Fehlermeldung!
Irgendwelche Ideen? Ich komm nicht weiter und wäre sehr dankbar!
  Mit Zitat antworten Zitat