Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Windows Registry Datei als text Laden??? (https://www.delphipraxis.net/46140-windows-registry-datei-als-text-laden.html)

Christian Seehase 20. Mai 2005 20:52

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.

Roland Wind 18. Aug 2006 11:58

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 07:43 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz