![]() |
AW: Variablentypen bei ord() erzeugen Fehler
Zitat:
|
AW: Variablentypen bei ord() erzeugen Fehler
Zitat:
Ein maximaler Abstand von Strings? LG Noah |
AW: Variablentypen bei ord() erzeugen Fehler
Zitat:
c2 := char( faktor*ord(c1) mod 256) als nur die untersten 8 Bit des Produkts. Zweitens: Wenn Du zB faktor=16 hast, gibt es ein Problem 16 -> 0 32 -> 0 etc. Das heißt, eine Entschlüsselung ist nicht möglich. Aber zB factor=13 ist, entschlüsselt wird dann mit dem Faktor 197. (Das ist modulare Mathematik, muss man nicht unbedingt wissen). Und nochmal: Dies ist nur eine Einführung und gefährlich, weil nicht darstellbar Zeichen entstehen können. Wie schon von p80286 gesagt: binär wäre besser, d.h. Dein Ausgabe wäre ein file of byte. Aber bau erstmal die Sache mit char/string. Gute Nacht. |
AW: Variablentypen bei ord() erzeugen Fehler
Zitat:
Das sieht sehr logisch aus jedoch hab ich davon mit 16 Jahren leider keine Ahnung Tut mir leid! Ich versuche jetzt erstmal mit allen Hilfen das Programm zusammenzubasteln! LG Noah |
AW: Variablentypen bei ord() erzeugen Fehler
Rein Interessehalber, funktioniert mein Beispiel-Code bei Dir nicht oder ist es die falsche Art der "verschluesselung" die ich anwende, weil das Beispiel funktioniert von vorne bis hinten solange es Text ist um den es sich handelt.
(Post ![]() |
AW: Variablentypen bei ord() erzeugen Fehler
Zitat:
Die beiden verwendeten Prozeduren:
Delphi-Quellcode:
Der Button:
//String aus einer Datei laden Funktion
function LoadStringFromFile(sInFile: String; var sFileString: String): Boolean; var FileStream: TFileStream; begin Result := False; if not FileExists(sInFile) then Exit; FileStream := TFileStream.Create(sInFile, fmOpenRead); try if FileStream.Size <> 0 then begin SetLength(sFileString, FileStream.Size); FileStream.Read(sFileString[1], FileStream.Size); Result := True; end; finally FileStream.Free end; end; //Funktion Ende //Funktion Verschlüsselung procedure Verschluesselung(const InputString: string; const Modifier: Byte; var Output: String); var s: string; i: Integer; b: Byte; f: file of Byte; begin // Datei mit verschluesseltem Inhalt sichern AssignFile(F, 'C:\Users\Noah\Desktop\hallo.txt'); Rewrite(f); for i := 1 to Length(InputString) do begin b := Ord(InputString[i]) + Modifier; write(f, b); end; CloseFile(F); // Datei mit verschluesseltem Inhalt laden AssignFile(F, 'C:\Users\Noah\Desktop\hallo.txt'); Reset(F); s := ''; while not Eof(F) do begin Read(f, b); s := s + Char(b - Modifier); end; CloseFile(F); Output := S; end; //Funktion Ende
Delphi-Quellcode:
LG Noah
procedure TForm1.Button1Click(Sender: TObject);
var dateistring,output:String; begin //String laden (Dateipfad der umzuwandelnden Datei,Ziel String) LoadStringFromFile(filename,dateistring); //Verschlüsselung laden verschluesselung(dateistring,StrToInt(Edit1.text),output); showmessage(output); end; |
AW: Variablentypen bei ord() erzeugen Fehler
Nochmal in aller Deutlichkeit
Du verschlüsselst Daten, keine Zeichen! Wenn Du mit Char oder Strings und Texfiles hantierst kannst Du Dir jede Menge ungewollte Fehler einhandeln. Das mag ein- zweimal gut gehen aber auf Dauer geht das schief. Gruß K-H |
AW: Variablentypen bei ord() erzeugen Fehler
Zitat:
Wenn ja wie? Tut mir leid aber ich zwinge auch niemandem mir zu helfen. LG Noah |
AW: Variablentypen bei ord() erzeugen Fehler
Hier meine Variante entheddert so das Du theoretisch damit gleich loslegen kannst, wenn niemand einwände hat.
Nur für Text, wohlgemerkt(!)
Delphi-Quellcode:
So hier Aufrufen:
procedure CryptStringToFile(const InputString: string; const Modifier: Byte; const Filename: String);
var s: string; i: Integer; b: Byte; f: file of Byte; begin AssignFile(F, Filename); Rewrite(f); for i := 1 to Length(InputString) do begin b := Ord(InputString[i]) + Modifier; write(f, b); end; CloseFile(F); end; function CryptFileToString(const Filename: string; const Modifier: Byte): String; var b: Byte; f: file of Byte; begin AssignFile(F, Filename); Reset(F); Result := ''; while not Eof(F) do begin Read(f, b); Result := Result + Char(b - Modifier); end; CloseFile(F); end;
Delphi-Quellcode:
var
s : String; begin s := 'Das ist ein DP Test.'; // in dieser Zeile speichern wir einen String S verschluesselt in eine Datei CryptStringToFile(S, 5, Application.ExeName+'.txt'); s := ''; // <- hier wird String gekillt, wir wollen ja nicht cheaten :-) // in dieser Zeile holen wir den verschluesselten String zurück s := CryptFileToString(Application.ExeName+'.txt', 5); // mach was mit "s" end; |
AW: Variablentypen bei ord() erzeugen Fehler
Zitat:
LG Noah |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 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