![]() |
INI aus Memorystream
Hallo
Ich habe ein INI File mit AES - Rijndael verschlüsselt. Nun möchte ich die Datei in meinem Programm wieder entschlüsseln, das klappt auch ganz gut aber wenn ich nun die datei einfach speichere, unverschlüsselt!, dan könnte ich das ding auch gleich ohne AES machen.. Deshalb nun die frage, wie kann ich mit TInifile auf einen Stream zugreifen? weil dan würde ich die AES Datei in einen Stream entschlüsseln und diesen Laden.... Danke schonmal |
Re: INI aus Memorystream
Gabs da nicht TMemIniFile oder sowas?
|
Re: INI aus Memorystream
Vielleicht mit TMemInifile und der Methode setStrings
Edit: @NP: Ja, gabs. Ich hatte vorsichtshalber nochmal nachgesehen. :lol: |
Re: INI aus Memorystream
Hab grad mal in der Hilfe geguckt. Der Constructor erwartet auch 'nen Dateinamen.
Zitat:
|
Re: INI aus Memorystream
Jo
Also wenn ich TMemIniFile mache, dan kommt genau auch .Create(TFileName) Somit is das nicht das richtige.... |
Re: INI aus Memorystream
SetStrings() war schon richtig:
Delphi-Quellcode:
Freundliche Grüße
procedure LoadFromStream(ini: TMemIniFile; stream: TStream);
var s: TStrings; begin s := TStringList.Create; try s.LoadFromStream(stream); ini.SetStrings(s); finally s.Free; end; end; var ini: TMemIniFile; begin ini := TMemIniFile.Create(''); // ... end; |
Re: INI aus Memorystream
Funzt das mit nem leeren Dateinamen echt?
|
Re: INI aus Memorystream
Ich hab das nun mal so getestet
Delphi-Quellcode:
Doch leider bekomme ich eine Zugrifsverletzung....
procedure LoadFromStream(ini: TMemIniFile; stream: TStream);
var s: TStrings; begin s := TStringList.Create; try s.LoadFromStream(stream); ini.SetStrings(s); finally s.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var ini: TMemIniFile; str:tfilestream; begin str := tfilestream.Create('test.ini',fmOpenRead); LoadFromStream(ini,str); ini := TMemIniFile.Create(''); edit1.Text := ini.ReadString('test','test','error'); ini.Free; str.Free; end; Über die verwendung von LoadFromStream bin ich mir nicht so ganz im klaren... Was muss ich genau bei INI übergeben? Danke schonmal... Und Danke für den Code |
Re: INI aus Memorystream
Zitat:
|
Re: INI aus Memorystream
tatsächlich... :D
Es hat geklappt... Wer hätte das gedacht :D Vielen Vielen Dank an alle.... |
Re: INI aus Memorystream
Hallo,
ich habe diese Funktion bei mir auch implementiert. Allerdings unter RAD2007. Doch leider geschieht folgendes: Stream wird korrekt an LoadFromStream übergeben. s wird Created und bei s.LoadFromStream(Stream) passiert einfach nix. s bleibt leer. Keine Fehlermeldung, keine Exception - einfach nix. Hat jemand eine Vorstellung woran das liegen könnte. Gruß Frank. P.S. Mein Stream kommt von einem IdFtpClient und ist ein StringStream! |
Re: INI aus Memorystream
hast du auch die StreamPosition zurückgesetzt?
s.Position := 0; oder so |
Re: INI aus Memorystream
Hallo himitsu,
du bist so gut zu mir. Ein kleines Stream.Position := 0; und die Welt ist wieder in Ordnung. Tausend Dank Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 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