Autor Beitrag
Matze33
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 01.09.10 10:52 
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:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
unit U_Codieren2;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Neu1: TMenuItem;
    ffnen1: TMenuItem;
    Speicherals1: TMenuItem;
    Schlieen1: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Hilfe1: TMenuItem;
    Info1: TMenuItem;
    Btn_Codieren: TBitBtn;
    E_Passwort: TLabeledEdit;
    procedure Schlieen1Click(Sender: TObject);
    procedure Neu1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ffnen1Click(Sender: TObject);
    procedure Speicherals1Click(Sender: TObject);
    procedure Info1Click(Sender: TObject);
    procedure Btn_CodierenClick(Sender: TObject);
  private
  Speicher:Array of byte;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Schlieen1Click(Sender: TObject);
begin
 close;
end;

procedure TForm1.Neu1Click(Sender: TObject);
begin
  Memo1.Clear;
  E_Passwort.Clear;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Clear;
  E_Passwort.Clear;
end;

procedure TForm1.ffnen1Click(Sender: TObject);
begin
  if(OpenDialog1.Execute) then Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

procedure TForm1.Speicherals1Click(Sender: TObject);
begin
  if SaveDialog1.Execute then Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;

procedure TForm1.Btn_CodierenClick(Sender: TObject);
var
  V_Passwort, Ni, NZeile, NText:string;
  i, step,d,N,len:Integer;
begin
  d:=0;
  V_Passwort:=E_Passwort.Text;
  len:=length(Memo1.Text);
  getmem(speicher,len);

  FOR N:=1 TO len DO
  begin
    Speicher[N]:=ord(Memo1.Text[N])
  end;

  FOR i:=1 TO len DO
  begin
    step:=Ord(V_Passwort[d]);
    d:=d+1;
  if d>length(V_Passwort) then d:=1;
  end;

  FOR N:=1 TO len DO
  begin
    Speicher[i]:=step XOR Speicher[i];
    Ni:=char(Speicher[i]);
    NZeile:=NZeile + Ni;
    NText:=NZeile + NZeile;
    Memo1.Text:=NText;
  end;
end;

end.


Hi, ich hoffe, ihr könnt aus dem Code meine eigentliche Aufgabe ableiten. Wir sollen einen Text mit einem Passwort (de)codieren. Das ganze funktioniert aber noch nicht.
Kann mir da wer helfen?

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt
Fienix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109

Win 2K, Win XP Pro, Win 7
D 5 Pro., D 7 Ent., D 2010 Pro.
BeitragVerfasst: Mi 01.09.10 10:59 
Was GENAU funktioniert nicht!

Keiner hat Lust deine Code abzutippen... :wink:

_________________
Wer sichert ist feige!!
Matze33 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 01.09.10 11:07 
Hab euch mal die EXE hochgestellt: *Link entfernt*


Zuletzt bearbeitet von Matze33 am Mi 01.09.10 11:15, insgesamt 1-mal bearbeitet
JoelH
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 806
Erhaltene Danke: 17

Win10
Delphi Alexandria 11.2 Patch 1
BeitragVerfasst: Mi 01.09.10 11:09 
sag einfach an wo welcher Fehler auftritt.

_________________
mfg. Joel
Matze33 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 01.09.10 11:14 
Ich habe einen Beispielstext, den ich codieren will:
Zitat:
Unser Gymnasium am Wall, die helle Schule,
ist ein Ort, an dem
Achtung und Toleranz,
friedliches und gewaltfreies Miteinander,
Verantwortungsbewusstsein für sich selbst und andere,
demokratisches Verhalten,
Weltoffenheit,
sorgsamer Umgang mit Gesundheit und Umwelt,
Förderung und Entwicklung der Persönlichkeit jedes Einzelnen,
individuelle Kompetenzstärkung
gelebt, gelehrt und gelernt werden.

Alle Beteiligten,
die Schülerinnen und Schüler
zusammen mit ihren Lehrerinnen und Lehrern,
das nichtpädagogische Personal und die Eltern
fördern die Identifikation mit unserem „Lebensraum“ Schule.

Professionelle Bedingungen, hohe Unterrichtsqualität, Praxisnähe,
kontinuierliches Interesse, Leistungsbereitschaft und Engagement sowie
Transparenz unterstützen dabei nachhaltig die Bildungsarbeit und sichern somit lebenswichtige persönliche Kompetenzen.


Wenn ich den ganze Text mit "Schule" codieren will, dan codiert er nur den ersten Buchstaben. Als erstes erhalt ich "l", dann "" und dann "S". Danach wechseln sich die letzten beiden Zeichen immer ab, wenn ich den Button benutze.
Nehme ich nur den ersten Absatz, dann stürzt das Programm ab.

Hoffe, das reicht ;)
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 01.09.10 11:17 
Ich schätze mal das ist deine Schulaufgabe, oder? Kannst du mal die Angabe posten?

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Matze33 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 01.09.10 11:21 
Korrekt.
Ne Angabe haben wir aber nciht direkt. Einfach einen Text mit XOR codieren und decodieren.
Fienix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109

Win 2K, Win XP Pro, Win 7
D 5 Pro., D 7 Ent., D 2010 Pro.
BeitragVerfasst: Mi 01.09.10 11:38 
Versuch doch erstmal ein einzelnes Wort zu codieren!
Beim Debuggen sollte es dann auch ersichtlich sein!

_________________
Wer sichert ist feige!!
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Mi 01.09.10 11:57 
Ganz ehrlich, das was du gemacht hast ist nicht durchdacht.
Kommentier mal bitte jede Zeile deines Codes, ab GetMem()
Dann fällt dir der Fehler wahrscheinlich selber auf...
Gammatester
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 328
Erhaltene Danke: 101



BeitragVerfasst: Mi 01.09.10 13:20 
@Matze33: Hast Du denn aus einer Woche Diskussion bei Delphi-Praxis www.delphipraxis.net...en-mit-passwort.html nichts gelernt, daß Du hier im wesentlichen kaum veränderten fehlerhaften Code verbessert haben willst.