Autor Beitrag
Polka16
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 17.04.08 10:55 
wir haben heute ein fast vollständiges Programm bekommen , nun müssen wir mittels eines buttons oder einer function das verschlüsselte entschlüsseln


ausblenden volle Höhe 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:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Klartext: TMemo;
    Vtext: TMemo;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
  var
  ver, ent :char ;
  i, zahl, laenge :integer;
  klar, Versch :string;

begin 
    ver:='a';
    ent:= Ansilowercase(edit1.text)[1];
    zahl := ord(ent)-ord(ver);
    klar:=Ansilowercase(Klartext.text);
    laenge:=length(klar);
    for i:=1 to laenge do begin
    case Klar[i] of
      'ä': Versch:= Versch+'ae';
      'ö': Versch:= Versch+'oe';
      'ü': Versch:= Versch+'ue';
      'ß': Versch:= Versch+'ss';
      ' ': Versch:= Versch

      else Versch:=Versch+Klar[i];
      end;
      end;
      klar:=Versch    ;
      Versch:=' ';
      laenge:=length(Klar);
      for i:=1 to laenge do begin

      if ord(Klar[i])> 122-zahl then
      Versch:=Versch+chr(ord(Klar[i])-26+Zahl)
        else
         Versch:=Versch+chr(ord(Klar[i])+Zahl);
         end;
         Vtext.Lines.Add(Versch);
   end;

end.

----
danke im Voraus

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Do 17.04.08 11:17 
user profile iconPolka16 hat folgendes geschrieben:
wir haben heute ein fast vollständiges Programm bekommen , nun müssen wir mittels eines buttons oder einer function das verschlüsselte entschlüsseln
Fein. Und was sollen wir jetzt tun? Was ist dein bisheriger Ansatz, deine Ideen, wo geht es nicht weiter?

_________________
We are, we were and will not be.
Zorro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76

Win 2000, Win XP Pro
Delphi 7 Architect
BeitragVerfasst: Do 17.04.08 11:20 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  if ord(Klar[i])> 122-zahl then
    Versch:=Versch+chr(ord(Klar[i])-26+Zahl)
  else
    Versch:=Versch+chr(ord(Klar[i])+Zahl);


Also gehts doch (primär) nur darum, den in den hier zitierten Zeilen stattfindenden Vorgang umzukehren. Fertig.
Danach kannst du dir Gedanken machen, ob es eine (wasserdichte) Möglichkeit gibt, zu erkennen, ob "ae","ss" usw. tatsächlich als "ae","ss" zu behandelen sind (und damit stehen bleiben müssen) oder ob sie in Umlaute zurückverwandelt werden müssen (und DIESE Entscheidung ist wesentlich schwieriger als die Cäsar-Verschiebung rückgängig zu machen).

Greetz
Zorro

Editiert: Tippfehler beseitigt.

_________________
Real programmers confuse Xmas and Halloween because DEC 25 = OCT 31