Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi BinaryDFM > TextDFM (https://www.delphipraxis.net/91475-binarydfm-textdfm.html)

Andreas L. 5. Mai 2007 13:45


BinaryDFM > TextDFM
 
Hi,
wie kann ich eine binäre DelphiForm Datei in eine Text-DFM konvertieren?

bye,
Andy

Neutral General 5. Mai 2007 13:52

Re: BinaryDFM > TextDFM
 
Hi,

Wenn du ein Delphi hast das Text-dfms unterstützt dann kannst du die dfm laden-> rechtsklick aufs Formular und das Häkchen vor "Text DFM" aktivieren und dann die dfm speichern.

Gruß
Neutral General

Andreas L. 5. Mai 2007 14:01

Re: BinaryDFM > TextDFM
 
Das ist mir klar :-) Ich will es aber "programmatisch" lösen ;-)

Hawkeye219 5. Mai 2007 16:58

Re: BinaryDFM > TextDFM
 
Hallo Andreas,

der folgende Code zeigt dir die prinzipielle Vorgehensweise:

Delphi-Quellcode:
procedure TForm1.Button1Click (Sender: TObject);
var
  FileStream  : TFileStream;
  StringStream : TStringStream;
begin
  // Formulardatei zum Lesen öffnen
  FileStream := TFileStream.Create('form_Main.dfm', fmOpenRead);
  try
    // Header der Ressourcendatei überlesen
    FileStream.ReadResHeader;
    // Ziel-Stream öffnen
    StringStream := TStringStream.Create('');
    try
      // Konvertierung binär -> Text
      ObjectBinaryToText (FileStream, StringStream);
      // Textinhalt in Memo anzeigen
      StringStream.Seek(0, soFromBeginning);
      Memo1.Text := StringStream.DataString;
    finally
      // Ziel-Stream schließen
      StringStream.Free;
    end;
  finally
    // Quell-Stream schließen
    FileStream.Free
  end;
end;
Bei der Übernahme solltest du selbstverständlich eine Fehlerbehandlung ergänzen.

Gruß Hawkeye

Andreas L. 5. Mai 2007 17:55

Re: BinaryDFM > TextDFM
 
Klasse, vielen Dank ;-)

_frank_ 5. Mai 2007 18:22

Re: BinaryDFM > TextDFM
 
mein DFM-Editor bringt eine Batch-Konvertierung für bin<>txt mit, falls du das brauchst ;)

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 Uhr.

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