AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Einfacher Verschlüsselungs-Algorythmus // Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

Einfacher Verschlüsselungs-Algorythmus // Fehler

Ein Thema von jawo3 · begonnen am 15. Sep 2009 · letzter Beitrag vom 16. Sep 2009
 
jawo3

Registriert seit: 15. Sep 2009
Ort: Niedersachsen
41 Beiträge
 
#9

Re: Einfacher Verschlüsselungs-Algorythmus // Fehler

  Alt 16. Sep 2009, 15:02
Vielen Dank für eure Hilfe, ich hab's jetzt hinbekommen und es funktioniert, wie ich es wollte.

Hier der fertige Quelltext:
Delphi-Quellcode:
(*
ZUWEISUNG DER EINGABE ELEMENTE ZU DEN AUSGABE ELEMENTEN / VERSCHLÜSSELUNGSALGORYTHMUS:
->Die Ihalte von EditEingabe und EditAusgabe werden in der Theorie als zwei Zweidimensionale-Arrays
  angesehen. EditAusgabe entsteht aus EditEingabe durch Spiegelung des Arrays über die Diagonale.
  Somit hat jede Ausgangsstelle einen eindeutigen Partner, was das Rückgängigmachen der Verschlüsselung
  ermöglicht.

EditEingabe                      EditAusgabe
1  2  3  4  5        >        25 20 15 10 5
6  7  8  9 10          >      24 19 14  9 4
11 12 13 14 15  ---------->    23 18 13  8 3
16 17 18 19 20          >      22 17 12  7 2
21 22 23 24 25        >        21 16 11  6 1

*)


unit Chaos;

interface

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

type
  TForm1 = class(TForm)
    EditEingabe: TEdit;
    EditAusgabe: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    ButtonStart: TButton;
    ButtonEnd: TButton;
    Label3: TLabel;
    EditVerwZeichen: TEdit;
    procedure ButtonEndClick(Sender: TObject);
    procedure ButtonStartClick(Sender: TObject);
    procedure EditEingabeChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var Form1: TForm1;
const ArrayAusgabe: array [1..25] of integer = (25,20,15,10,5,24,19,14,9,4,23,18,13,8,3,22,17,12,7,2,21,16,11,6,1);
                          //ArrayAusgabe speichert die definierte Zuordnung der neuen Charakterpositionen gemäß des gewählten Verschlüsselungsstandards

implementation
{$R *.dfm}

procedure TForm1.EditEingabeChange(Sender: TObject);
begin
  EditVerwZeichen.Text:=IntToStr(Length(Form1.EditEingabe.Text)); //Anzeige der verwendeten Zeichen
end;

procedure TForm1.ButtonStartClick(Sender: TObject); //Button zum Starten der Verschlüsselung

var h,i: integer; // für for-Schleifen
    StringEingabe: string; // Zum speichern des Eingabe Satzes.
    StringAusgabe: string; // Zum speichern des Ausgabe Satzes.
    leer: char;

begin

if length(EditEingabe.Text)=0 then showmessage('Bitte Text eingeben'); //Keine Zeichen eingegeben?
if length(EditEingabe.Text)>25 then showmessage('Bitte maximal 25 Zeichen eingeben'); // Zu viele Zeichen eingegeben?

StringEingabe := EditEingabe.Text; //Inhalt aus Eingabe Textfeld wird als String gespeichert
leer:=' ';

if length(EditEingabe.Text)<25 then
  begin
    for h:=1 to 25-length(EditEingabe.Text) do
      begin
        StringEingabe:=StringEingabe + leer;
      end; //Eingabe mit Leerzeichen auffüllen, falls Anzahl Zeichen < 25
  end;

setlength(StringAusgabe,25); //Maximale Länge des Ausgabestrings wird auf 25 festgesetzt

for i:=1 to 25 do //einzelne Zeichen des Strings werden nacheinander mit neuen Positionen als neuer String gespeichert
  begin
    StringAusgabe[ArrayAusgabe[i]]:=StringEingabe[i]; //Zuweisung
  end;
EditAusgabe.Text:=StringAusgabe; //Anzeige im Ausgabe Textfeld
end;

procedure TForm1.ButtonEndClick(Sender: TObject); // Button zum Beenden des Programms
begin
  close;
end;

end.
Grüße
Jan
Jan
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.
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 by Thomas Breitkreuz