| Autor |
Beitrag |
Matze33
Hält's aus hier
Beiträge: 4
|
Verfasst: Mi 01.09.10 10:52
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; public 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 Narses: Code- durch Delphi-Tags ersetzt
|
|
Fienix
      
Beiträge: 109
Win 2K, Win XP Pro, Win 7
D 5 Pro., D 7 Ent., D 2010 Pro.
|
Verfasst: Mi 01.09.10 10:59
Was GENAU funktioniert nicht!
Keiner hat Lust deine Code abzutippen... 
_________________ Wer sichert ist feige!!
|
|
Matze33 
Hält's aus hier
Beiträge: 4
|
Verfasst: 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
      
Beiträge: 806
Erhaltene Danke: 17
Win10
Delphi Alexandria 11.2 Patch 1
|
Verfasst: Mi 01.09.10 11:09
sag einfach an wo welcher Fehler auftritt.
_________________ mfg. Joel
|
|
Matze33 
Hält's aus hier
Beiträge: 4
|
Verfasst: 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
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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 
Hält's aus hier
Beiträge: 4
|
Verfasst: Mi 01.09.10 11:21
Korrekt.
Ne Angabe haben wir aber nciht direkt. Einfach einen Text mit XOR codieren und decodieren.
|
|
Fienix
      
Beiträge: 109
Win 2K, Win XP Pro, Win 7
D 5 Pro., D 7 Ent., D 2010 Pro.
|
Verfasst: 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
      
Beiträge: 1207
Erhaltene Danke: 31
Win 10
Delphi 2009 Pro, C++ (Visual Studio)
|
Verfasst: 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
      
Beiträge: 328
Erhaltene Danke: 101
|
Verfasst: 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.
|
|
|