Autor Beitrag
Scraffy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Di 26.12.06 14:40 
Hi also ich hab hier schon nen paar mal gepostes doch krieg da keine Antworten mehr :(. Also ich habnen Programm geschriebn, dass einen Text mithillfe eines Schlüsselwortes "verschlüsselt"^^ aber das Problem ist das ich keine Prozedur hinkrieg die das wieder rückgangig macht!! also ich schreib am besten mal auf, was ich bisher habe:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
VERSCHLÜSSELN
function verschluessle(inhalt, key: string): string;
var neu: char; a,b :String;
    zaehler, pos, verschiebung : integer;
begin
     a:= Form1.memKlartext.Text;  //zunächst werden den varibalen
     b:= Form1.edSchluessel.text; //Werte zugewiesen
     a:= lowercase (a);           //Und diese werden um es einfacher zu machen
     b:= lowercase (b);           //Klein geschrieben
     result:='';
 for zaehler := 1 to length(a) do
    begin
    if  a[zaehler] <> ' ' then  // Wenn a an der Stelle Zaehler kein Leerzeichen (' ') hat, soll der das machen
    begin
      pos := zaehler mod length(b);
        if (pos = 0) then pos := length(b);
          verschiebung := ord (b[pos]) - 97;    //ASCII Wert um 97 verringern
          neu := chr (ord(a[zaehler]) + verschiebung );
             if (ord( neu )>122) then
             neu := chr (ord(neu) - 26 );
             result := result + neu;
             Form1.memGeheimtext.Text:=result;
        end;
    end;

end;


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
ENTSCHLÜSSELN:

function entschluessle(inhalt, key: string): string;
var neu: char; a,b :String;
    zaehler, pos, verschiebung : integer;
begin
     a:= Form1.memgeheimtext.Text;
     b:= Form1.edSchluessel.text;
     a:= lowercase (a);
     b:= lowercase (b);
     result:='';
 for zaehler := 1 to length(a) do
    begin
    if  a[zaehler] <> ' ' then  // Wenn a an der Stelle Zaehler kein Leerzeichen (' ') hat, soll der das machen
    begin
      pos := zaehler mod length(b);
        if (pos = 0) then pos := length(b);
          verschiebung := ord (b[pos]) - 97;
          neu := chr (ord(a[zaehler]) - verschiebung );
             if (ord( neu )>122) then
             neu := chr (ord(neu) +26 );
             result := result + neu;
             Form1.memKlartext.Text:=result;
        end;
    end;

end;

Ich muss das zu Morgen fertig haben *Panik!!!* deswegen wären konkrete Vorschläge echt nett!! Also die erste Prozedur hab ich nur hingeschriben damit ihr wisst was genau rückgangig zu machen ist, damit gibt es allerdings kein Problem sondern nur mit Nummer 2.....
Danke für eure Hilfe!!!!! es eilt etwas xD...thx


P.S. wenn ihr nicht genau wisst wie das geht wär es auc super wenn ihr mir sagen könnt, wieso er die Leerzeichen mit verschlüsselt??? aber das iss eher ein kleines extra^^

Moderiert von user profile iconChristian S.: Titel geändert.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 26.12.06 14:43 
Titel: Re: !!!!!DRINGEND!!!!! Geheimen Text ENTschlüsseln (Vigenere
user profile iconScraffy hat folgendes geschrieben:
Hi also ich hab hier schon nen paar mal gepostes doch krieg da keine Antworten mehr :(.
Dann bitte ich darum, diesen Thread auch weiter zu benutzen. Die Richtlinien sind ziemlich eindeutig, wenn es um mehrere Threads zu einer Frage geht.

Hier geht es weiter: www.delphi-forum.de/viewtopic.php?t=67841

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.