AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Wie ein komplexes Object In eine Datei speichern?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie ein komplexes Object In eine Datei speichern?

Ein Thema von Kedariodakon · begonnen am 21. Feb 2005 · letzter Beitrag vom 21. Feb 2005
Antwort Antwort
Seite 3 von 3     123   
Robert_G
(Gast)

n/a Beiträge
 
#21

Re: Wie ein komplexes Object In eine Datei speichern?

  Alt 21. Feb 2005, 15:48
Zitat von sniper_w:
Es ist von nichts abgeleitet und OBJECT ist eine Abwärtskompatibilitet mit TurboPascal...Gute allte Zeiten...
In einem anderen Thread hörte ich, dass es von record ableitet.
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#22

Re: Wie ein komplexes Object In eine Datei speichern?

  Alt 21. Feb 2005, 15:49
Zitat von sniper_w:
Es ist von nichts abgeleitet und OBJECT ist eine Abwärtskompatibilitet mit TurboPascal...Gute allte Zeiten...
Lass mich raten in dem Fall bringt mir das gar nix

Bye
Christian
  Mit Zitat antworten Zitat
Eisenherz

Registriert seit: 10. Jun 2002
Ort: Stadeln
33 Beiträge
 
Delphi 5 Professional
 
#23

Re: Wie ein komplexes Object In eine Datei speichern?

  Alt 21. Feb 2005, 16:09
Eine Alternative zu DPCollection findest du hier.
Hier bist du nicht gezwungen von einer bestimmten Klasse abzuleiten. Deine zu speichernden Daten müssen nicht als published Properties vorliegen und sie können auch Readonly sein.
Dafür musst du aber mehr Code eintippen als mit DPCollection.
Die Tippfaulen können aber auch published-Properties nutzen. Das wird aber im Tutorial nicht gezeigt. Dafür gibt es "nur" ein eigenes Beispielprogramm.
aloa Eisenherz
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#24

Re: Wie ein komplexes Object In eine Datei speichern?

  Alt 21. Feb 2005, 16:20
Ich weiss nicht ob dir das weiter hilft:
Delphi-Quellcode:
uses
  TypInfo;

procedure ListComponentProperties(Component: TComponent; Strings: TStrings);
var
  Count, Size, I: Integer;
  List: PPropList;
  PropInfo: PPropInfo;
  PropOrEvent, PropValue: string;
begin
  Count := GetPropList(Component.ClassInfo, tkAny, nil);
  Size := Count * SizeOf(Pointer);
  GetMem(List, Size);
  try
    Count := GetPropList(Component.ClassInfo, tkAny, List);
    for I := 0 to Count - 1 do
    begin
      PropInfo := List^[I];
      if PropInfo^.PropType^.Kind in tkMethods then
        PropOrEvent := 'Event'
      else
        PropOrEvent := 'Property';
      PropValue := VarToStr(GetPropValue(Component, PropInfo^.Name));
      Strings.Add(Format('[%s] %s: %s = %s', [PropOrEvent, PropInfo^.Name,
        PropInfo^.PropType^.Name, PropValue]));
    end;
  finally
    FreeMem(List);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Clear;
  ListComponentProperties(ListBox1, ListBox1.Items);
end;
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#25

Re: Wie ein komplexes Object In eine Datei speichern?

  Alt 21. Feb 2005, 17:28
@Sniper_w: hilft nicht so richtig, da er von TObject ableitet. Gut er könnte {$M+} nutzen.

Also entweder er wählt eins der angebotenen Persistierungs-framework oder er muss sich selbst ein schreiben, was durchaus eine erfahrung sein kann. Ein paar versuche hat jeder
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#26

Re: Wie ein komplexes Object In eine Datei speichern?

  Alt 21. Feb 2005, 17:35
Zitat von maximov:
@Sniper_w: hilft nicht so richtig, da er von TObject ableitet. Gut er könnte {$M+} nutzen.

Also entweder er wählt eins der angebotenen Persistierungs-framework oder er muss sich selbst ein schreiben, was durchaus eine erfahrung sein kann. Ein paar versuche hat jeder
öhm

Ich glaub das übersteigt meine aktuellen Kenntnisse bei weitem...

Bye
Christian
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#27

Re: Wie ein komplexes Object In eine Datei speichern?

  Alt 21. Feb 2005, 17:59
Zitat:
@Sniper_w: hilft nicht so richtig, da er von TObject ableitet. Gut er könnte {$M+} nutzen.
Mein Beispiel ist aber für TObject Familie abgestimmt.
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#28

Re: Wie ein komplexes Object In eine Datei speichern?

  Alt 21. Feb 2005, 21:47
Zitat von sniper_w:
Zitat:
@Sniper_w: hilft nicht so richtig, da er von TObject ableitet. Gut er könnte {$M+} nutzen.
Mein Beispiel ist aber für TObject Familie abgestimmt.
Offensichtlich nicht ganz:

Zitat von sniper_w:
...
procedure ListComponentProperties(Component: TComponent; Strings: TStrings);
TPersistence würde an diese stelle am meisten sinn ergeben. TComponent ist eigentlich übertrieben und TObject hat nicht die nötigen TypeInfos.


@Kaderioko: Zeig doch mal ein paar klassenköpfe, damit wir wissen wie die substanze aussieht.
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 01:45 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