Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Delphi Project Viewer 1.0 (https://www.delphipraxis.net/191960-delphi-project-viewer-1-0-a.html)

Delphi-Laie 9. Mär 2017 11:16

AW: Delphi Project Viewer 1.0
 
Zitat:

Zitat von himitsu (Beitrag 1363630)
PS: DFM/FMX können auch binär sein. (auch wenn seit paar Jahren das Standardformat "Text" ist)

Bis Delphi 4 nur so, danach optional, wenn auch nicht mehr voreingestellt.

Delphi kann sie aber auch im Klartext anzeigen. Das für binäre Dateien zu implmentieren, wäre eine echte Herausforderung und ein erheblicher Mehrwert des Programmes, scheitert aber wohl daran, daß das Format nicht offengelegt wurde / ist. Man denke nur mal daran, wie schwer sich die Gemeinde freier Programmierer tat und tut, NTFS die Geheimnisse zu entlocken, zumal das immer weiter entwickelt wird. Soweit ich weiß, ist das Schreiben darauf bis heute nicht offiziell für zuverlässig erklärt worden.

nahpets 9. Mär 2017 11:27

AW: Delphi Project Viewer 1.0
 
Binäres DFM lesen: How to convert Delphi forms from binary to text and vice versa

Zitat:

Zitat von Delphi-Laie
Das für binäre Dateien zu implmentieren, wäre eine echte Herausforderung und ein erheblicher Mehrwert des Programmes, scheitert aber wohl daran, daß das Format nicht offengelegt wurde / ist.

Delphi enthält die entsprechenden Routinen, man muss sie nur nutzen.

Siehe Unit Classes -> procedure ObjectResourceToText.
Der umgekehrte Weg geht natürlich auch.

himitsu 9. Mär 2017 11:40

AW: Delphi Project Viewer 1.0
 
Das Format ist auch offen und recht einfach.

TReader, TWriter und der Rest versteckt sich in TComponent und TReader/TWriter, die Komponenten/Property-Schreib-/Lesefunktionen.
Kann man gut nutzen, wenn man DFMs "manuell" einlesen will, um was zu suchen, oder weil der DFM-Loader alle Komponenten/Typen braucht, die nicht immer vorhanden sind.
Den "Text" manuell zu parsen ist auch blöd, da ist es schöner sich das von TReader einlesen zu lassen.
Ich hab TReader/TWriter auch schon selber für binäre Speicherformate verwendet, was gut für Abwärtskompatibilität ist, ähnlich zu XML kann man "unbekannte" Teile überspringen, da das Format sich selber kommentiert.

Einkompilert wird auch immernoch die binäre Resource. (glaub ich)

mjustin 9. Mär 2017 12:24

AW: Delphi Project Viewer 1.0
 
Eine Suchfunktion, die auch mit den in DFM Dateien auf mehrere Zeilen zerlegten Strings klar kommt, wäre ein echtes Alleinstellungsmerkmal (afaik).

In diesem Beispiel findet GExperts Grep Search zum Beispiel die topfblume nicht

Delphi-Quellcode:
object qryExample: TSimpleDataSet
    DataSet.CommandText =
      'select * from topf' +
      'blume'
...

tomkupitz 9. Mär 2017 13:16

AW: Delphi Project Viewer 1.0
 
Code:
var fs: TFileStream;
    ms: TMemoryStream;

begin
  fs:=TFileStream.Create(fn, fmOpenRead);
  ms:=TMemoryStream.Create;

  try
    ObjectResourceToText(fs, ms);

    Form1.Memo1.Lines.LoadFromStream(ms);

  finally
    fs.Free;
    ms.Free;
  end;
end;
Das will er nicht...

nahpets 9. Mär 2017 13:19

AW: Delphi Project Viewer 1.0
 
Warum nicht? Kommentarlos?

tomkupitz 9. Mär 2017 13:22

AW: Delphi Project Viewer 1.0
 
Memo bleibt leer. Keine Delphi Meldung. Unteres geht...

Code:
  SrcS := TFileStream.Create(Src, fmOpenRead);
  DestS := TFileStream.Create(Dest, fmCreate);
  try
    ObjectResourceToText(SrcS, DestS);
    if FileExists(Src) and FileExists(Dest) then
      Result := True
    else
      Result := False;
  finally
    SrcS.Free;
    DestS.Free;
  end;

nahpets 9. Mär 2017 13:28

AW: Delphi Project Viewer 1.0
 
Bitte Quelltext marginal ändern:
Delphi-Quellcode:
var fs: TFileStream;
    ms: TMemoryStream;

begin
  fs:=TFileStream.Create(fn, fmOpenRead);
  ms:=TMemoryStream.Create;
  try
    ObjectResourceToText(fs, ms);
    ms.Position := 0; // <-- das muss da rein, dann geht's.
    Form1.Memo1.Lines.LoadFromStream(ms);
  finally
    fs.Free;
    ms.Free;
  end;
end;

tomkupitz 9. Mär 2017 13:38

AW: Delphi Project Viewer 1.0
 
So ist das ok. Danke.

tomkupitz 9. Mär 2017 16:06

AW: Delphi Project Viewer 1.0
 
Update:

Version 1.0.40.0

- Binär zu Text Konvertierung für *.dfm Dateien
- allg. Dateiverwaltung verbessert


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 Uhr.
Seite 2 von 5     12 34     Letzte »    

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