AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Delphi Project Viewer 1.0

Delphi Project Viewer 1.0

Ein Thema von tomkupitz · begonnen am 7. Mär 2017 · letzter Beitrag vom 30. Nov 2023
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.464 Beiträge
 
Delphi 12 Athens
 
#1

AW: Delphi Project Viewer 1.0

  Alt 9. Mär 2017, 11:40
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)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Mär 2017 um 11:45 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.010 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Delphi Project Viewer 1.0

  Alt 9. Mär 2017, 12:24
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'
...
Michael Justin
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
355 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi Project Viewer 1.0

  Alt 9. Mär 2017, 13:16
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...
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: Delphi Project Viewer 1.0

  Alt 9. Mär 2017, 13:19
Warum nicht? Kommentarlos?
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
355 Beiträge
 
Delphi 12 Athens
 
#5

AW: Delphi Project Viewer 1.0

  Alt 9. Mär 2017, 13:22
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;
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Delphi Project Viewer 1.0

  Alt 9. Mär 2017, 13:28
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;
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
355 Beiträge
 
Delphi 12 Athens
 
#7

AW: Delphi Project Viewer 1.0

  Alt 9. Mär 2017, 13:38
So ist das ok. Danke.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 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