![]() |
verschlüsselte Datei auslesen
hi,
das andere problem haben wir ja super gelöst :) ich habe die datei verschlüsselt, wie kann ich sie jetzt auslesen??? ich habe schon mal eine simple verschlüsselung gemacht aber die war im programm und nicht von einer datei auslesen.
Delphi-Quellcode:
hier das programm zum entschlüsseln und verschlüsseln
implementation
uses Unit2; {$R *.dfm} const Codes64 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/'; function Decode64(S: string): string; var i: Integer; a: Integer; x: Integer; b: Integer; begin Result := ''; a := 0; b := 0; for i := 1 to Length(s) do begin x := Pos(s[i], codes64) - 1; if x >= 0 then begin b := b * 64 + x; a := a + 6; if a >= 8 then begin a := a - 8; x := b shr a; b := b mod (1 shl a); x := x mod 256; Result := Result + chr(x); end; end else Exit; end; end; //---- Entschlüsselung Ende ---- procedure TForm1.Button1Click(Sender: TObject); var i: integer; myIni:TIniFile; eRec:TSearchRec; begin If OpenDialog1.execute then begin Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear; Edit5.Clear; //Edit6.Clear; if FindFirst(ExtractFilePath(Application.ExeName) + '*.ini', faanyfile, eRec) = 0 then begin repeat; if (eRec.Name <> '.') and (eRec.Name <> '..') then begin myini := TIniFile.Create(ExtractFilePath(Application.ExeName) + eRec.Name); Edit1.Text := myini.ReadString('FTP','IP','N/A'); Edit2.Text := myini.ReadString('FTP','user','N/A'); Edit3.Text := myini.ReadString('FTP','pass','N/A'); Edit4.Text := myini.ReadString('FTP','Path','N/A'); Edit5.Text := myini.ReadString('FTP','Port','N/A'); end; until FindNext(eRec) <> 0; FindClose(eRec); end; begin try ListView1.Items.Clear; ListView1.ViewStyle := vsReport; i:=1; while (myini.ValueExists('DATEN',IntToStr(i))) do begin Listitem := listview1.Items.Add; Listitem.Caption := myini.ReadString('DATEN', IntToStr(i),'N/A'); Listitem.SubItems.Add(myini.ReadString('DATEN','1.' + IntToStr(i),'N/A')); inc(i); end; finally myini.Free; end; end; end; end; ![]() wäre über jede hilfe dankbar mfg Paul |
Re: verschlüsselte Datei auslesen
Ja und wo ist jetzt das Problem? Eventuell solltest du auch noch irgendwo Decode64 aufrufen.
|
Re: verschlüsselte Datei auslesen
Hi,
ich weiß ja nicht genau wie ich auslesen soll deshalb frag ich ja hier mal mein ideenansatz
Delphi-Quellcode:
mfg Paul
if FindFirst(ExtractFilePath(Application.ExeName) + '*.ini', faanyfile, eRec) = 0 then begin
repeat; if (eRec.Name <> '.') and (eRec.Name <> '..') then begin AssignFile(f,ExtractFilePath(Application.ExeName) + eRec.Name); Reset(f); repeat ReadLn(f, S1); S2:= Decode64(S1); until EoF(f); CloseFile(f); Edit1.Text := myini.ReadString('FTP','IP','N/A'); Edit2.Text := myini.ReadString('FTP','user','N/A'); Edit3.Text := myini.ReadString('FTP','pass','N/A'); Edit4.Text := myini.ReadString('FTP','Path','N/A'); Edit5.Text := myini.ReadString('FTP','Port','N/A'); end; until FindNext(eRec) <> 0; FindClose(eRec); end; |
Re: verschlüsselte Datei auslesen
Und? Sieht doch auf den ersten Blick gut aus. Und da du nichts von Problemen oder etwaigen Fehlermeldungen schriebst, gehe ich mal davon aus, dass es das tut, was du willst.
|
Re: verschlüsselte Datei auslesen
nein leider macht er noch eine fehlermeldung :(
Delphi-Quellcode:
mfg
if FindFirst(ExtractFilePath(Application.ExeName) + '*.TDP', faanyfile, eRec) = 0 then begin
repeat; if (eRec.Name <> '.') and (eRec.Name <> '..') then begin AssignFile(f,ExtractFilePath(Application.ExeName) + eRec.Name); Reset(f); repeat ReadLn(f, S1); S2:= Decode64(S1); until EoF(f); CloseFile(f); Edit1.Text := myini.ReadString('FTP','IP','N/A'); // <--- hier bleibt er stehen, ick denk mal weil er nicht weiß was er mit myini machen soll Edit2.Text := myini.ReadString('FTP','user','N/A'); Edit3.Text := myini.ReadString('FTP','pass','N/A'); Edit4.Text := myini.ReadString('FTP','Path','N/A'); Edit5.Text := myini.ReadString('FTP','Port','N/A'); end; until FindNext(eRec) <> 0; FindClose(eRec); end; |
Re: verschlüsselte Datei auslesen
Hast du die INI auch erstellt? (Create) Wenn ja, dann versuch mal, einen statischen Dateipfad ('C:\test.ini')einzusetzen, bzw überprüf mit FileExists() ob die Datei existiert. Vielleicht findet er die Datei ja einfach nicht :gruebel:
|
Re: verschlüsselte Datei auslesen
Wo hast du eien Instanz von myini erzeugt?
|
Re: verschlüsselte Datei auslesen
hi,
also wenn ich das in die memo.text lesen lasse entschlüsselt er das, aber wie bekomme ich das jetzt auf myini bezogen so das alles entschlüsselte auf seinen platz wieder kommt.
Delphi-Quellcode:
mfg Paul
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; myIni:TIniFile; eRec:TSearchRec; f:Textfile; S1, S2:String; begin If OpenDialog1.execute then begin Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear; Edit5.Clear; //Edit6.Clear; if FindFirst(ExtractFilePath(Application.ExeName) + '*.TDP', faanyfile, eRec) = 0 then begin repeat; if (eRec.Name <> '.') and (eRec.Name <> '..') then begin AssignFile(f,ExtractFilePath(Application.ExeName) + eRec.Name); myini := TIniFile.Create(ExtractFilePath(Application.ExeName) + eRec.Name); Reset(f); repeat ReadLn(f, S1); S2:= Decode64(S1); memo1.text:=S2; until EoF(f); CloseFile(f); Edit1.Text := myini.ReadString('FTP','IP','N/A'); Edit2.Text := myini.ReadString('FTP','user','N/A'); Edit3.Text := myini.ReadString('FTP','pass','N/A'); Edit4.Text := myini.ReadString('FTP','Path','N/A'); Edit5.Text := myini.ReadString('FTP','Port','N/A'); end; until FindNext(eRec) <> 0; FindClose(eRec); end; begin try ListView1.Items.Clear; ListView1.ViewStyle := vsReport; i:=1; while (myini.ValueExists('DATEN',IntToStr(i))) do begin Listitem := listview1.Items.Add; Listitem.Caption := myini.ReadString('DATEN', IntToStr(i),'N/A'); Listitem.SubItems.Add(myini.ReadString('DATEN','1.' + IntToStr(i),'N/A')); inc(i); end; finally myini.Free; end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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-2025 by Thomas Breitkreuz