![]() |
Re: Windows Registry Datei als text Laden???
Moin Jonny,
sBuf ist, vom grundlegenden Typ her, als Pointer deklariert (hier speziell auf einen WideChar) Mit dem ^ dereferenziert man, dass heisst, dem Compiler wird hier mitgeteilt, dass an der Stelle mit dem Schreiben begonnen werden soll, auf der der Wert in sBuf zeigt. Lässt Du das ^ weg, wird an die Stelle geschrieben, an der sBuf steht. Wäre sBuf als string deklariert, müsstest Du auch die gewünschte Stelle angeben (sBuf[1]), damit in den String geschrieben wird. |
Re: Windows Registry Datei als text Laden???
Hi Leute
Und wie kann ich nun eine Textdatei wieder als Registry Datei speichern. Habe es schon mal probiert, bin aber auf keinen grünen Zweig gekommen. Folgenden Code habe ich geschrieben:
Delphi-Quellcode:
function TEditorForm.SaveBinaryReg(const aFileName: string): boolean;
var MemoryStream: TMemoryStream; WideCharP: PWideChar; TextSize: Cardinal; BufferSize: Cardinal; begin result := False; MemoryStream := TMemoryStream.Create; try MemoryStream.Clear; // Detect Size TextSize := Length(SynEditor.Lines.Text); BufferSize := TextSize*SizeOf(WideChar); // Write MemoryStream GetMem(WideCharP, BufferSize); try StringToWideChar(SynEditor.Lines.Text, WideCharP, TextSize); MemoryStream.Write(WideCharP^, BufferSize); finally FreeMem(WideCharP, BufferSize); end; // Write File try MemoryStream.SaveToFile(aFileName); result := True; except on E: Exception do ExpMessageDlg(Application.MainForm, Format(SFileCreateError, [aFileName, E.Message]), mtWarning, [mbOk], 0); end; finally FreeAndNil(MemoryStream); end; end; Hat einer eine Idee ?? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:09 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