AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer :\

Ein Thema von Snoop007 · begonnen am 13. Aug 2004 · letzter Beitrag vom 13. Aug 2004
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von maximov
maximov

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

Re: Pointer :\

  Alt 13. Aug 2004, 14:18
@Snoop007: hast du mein posting von der letzten seite gesehen? Mit den Filer-klassen sind solche strukturen kein problem -> siehe WriteBegin, WriteListEnd etc. - Schliesslich wurde diese klassen designed um die delphi komponenten-bäume zu speichern (binär wohlgemerkt). Man kann sie aber auch für alle anderen zwecke einsetzen!
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 14. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#22

Re: Pointer :\

  Alt 13. Aug 2004, 14:24
@TeeBee, die struktur der datei und das ganze geplante ist abgeschlossen und wird nun in die tat umgesetzt

@maximov, ich seh bei deinem code keine klasse, keinen record, dein dynamisches element
vielleicht bin ich auch nur bissel doof
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

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

Re: Pointer :\

  Alt 13. Aug 2004, 14:39
Das array (matrix) ist ein dynamisches array of record und die strings sind auch alle dynamisch und die klassen sind TFiler und TReader (classes.pas). Sieht man doch. Die ganzen deklarationen hab ich weggelassen, weil ich nur den umgang mit den filer-klassen demonstrieren wollte!
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 14. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#24

Re: Pointer :\

  Alt 13. Aug 2004, 14:52
aber so kann ich da nichts erkennen, da ich ja nicht weiss, wie das ganze zusammenhängt
wäre nett, wenn du das evtl. als anhang dran hängen könntest
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

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

Re: Pointer :\

  Alt 13. Aug 2004, 15:33
Na, ok:

Delphi-Quellcode:
Type
     TField = record
        way : byte;
        item : byte;
        tag : byte;
        flags : byte;
        ran : byte;
     end;


     TMatrix = array of array of TField;

     TMap = class(TDynaVisible)
     Private
       FMapFile: string;
       procedure SetMapFile(const Value: string);
     Public
       MapName : STring;
       Coment : String;
       Bounds : TPoint;
       Matrix : TMatrix;
       style : integer;
       mode : integer;
       TimeLimit : integer;
       GUID : STring;
       Creator : String;
       CreateDate : TDateTime;
 
       Function SetToBounds(xBounds: TPoint; NoKill: boolean = true):TPoint;
       procedure ReadData(reader : TReader); dynamic;
       procedure WriteData(writer : TWriter); dynamic;
       Function SaveToStream(stream : TStream):Boolean;
       Function LoadFromStream(stream : TStream):Boolean;
       Function LoadFromeFile(const fName: String):Boolean;
       Function SaveToFile(const fName: String):Boolean;

     published
       property iName : string read MapName;
       property iComent: string read Coment;
       property iStyle: integer read style;
       property iMode: integer read Mode;
       property iTimeLimit: integer read TimeLimit;
     end;


...

function TMap.SetToBounds(xBounds: TPoint; NoKill: boolean = true): TPoint;
// setzt die dynamische grössen des map-arrays.

function TMap.LoadFromeFile(const fName: String): Boolean;
var
  stream : TFileStream;
begin
  stream := TFileStream.Create(fname, fmOpenRead);
  try
    LoadFromStream(stream);
  finally
    stream.Free;
  end;
end;

function TMap.SaveToFile(const fName: String): Boolean;
var
  stream : TFileStream;
begin
  stream := TFileStream.Create(fname, fmCreate or fmOpenWrite);
  try
    SaveToStream(stream);
  finally
    stream.Free;
  end;
end;
Die bezeichner der felder und properties sind nicht sehr stardardmässig da der code schon sehr alt ist, aber einer meiner ersten schönen dynamischen streaming-versuche
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 14. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#26

Re: Pointer :\

  Alt 13. Aug 2004, 19:24
ah super danke
woher wusstest du das, es TWrite gibt bzw. was es macht ? aus einem tut oder Buch ?

an alle anderen vielen dank !
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

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

Re: Pointer :\

  Alt 13. Aug 2004, 23:12
Habs durch zufall gefunden und war begeistert Leider war es damals undokumentiert und die tuts sehr mager. Die filer sind halt coole stream-helper und ganz einfach, wenn man einmal begriffen hat wie sie arbeiten.
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