Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi file of TFont (https://www.delphipraxis.net/53217-file-tfont.html)

hardcorehorst 12. Sep 2005 15:05


file of TFont
 
Hi

wollte wissen wie man TFont einfach abspeichern kann!!!

erinner mich dunkel an
Delphi-Quellcode:
file of TFont
oder so aber da ich mit inifiles arbeite hab ich keine ahnung mehr davon

danke für eure aufmerksamkeit !!!

Catbytes 12. Sep 2005 15:13

Re: file of TFont
 
Hi,

das habe ich letztens mal verwendet:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  f: file of TFont;
  t: TFont;
begin
  //Speichern
  AssignFile(f, 'myfont.f');
  Rewrite(f);
  t := Label1.Font;
  BlockWrite(f, t, 1);
  CloseFile(f);

  //Laden
  AssignFile(f, 'myfont.f');
  Reset(f);
  BlockRead(f, t, 1);
  Label2.Font := t;
  CloseFile(f);
end;
Label2 mal mit anderem Font ausstatten, wie Label1. Nach Tastendruck nimmt Label2 dann den Font von Label1 an.

marabu 12. Sep 2005 15:24

Re: file of TFont
 
Hi Catbytes,

du schreibst einen arg kurzlebigen Zeigerwert in eine Datei - das kann es einfach nicht sein.

Der thread owner sollte mal etwas genauer beschreiben, was er erreichen will.

Freundliche Grüße vom marabu

Catbytes 12. Sep 2005 15:29

Re: file of TFont
 
Zitat:

Zitat von marabu
du schreibst einen arg kurzlebigen Zeigerwert in eine Datei - das kann es einfach nicht sein.

Klar - in meinem Beispiel wird es gespeichert und sofort wieder geladen - irgendwie sinnfrei :???:

Aber ich denke, beim Threadschreiber wird das wohl an unterschiedlichen Stellen im Programm vorkommen (Speichern bei Programmende, laden bei Programmstart oder so).

Obwohl ich den Code letzt selbst gebraucht habe, bin ich letztendlich doch wieder auf die gute alte INI-Datei zurückgegangen.

Zitat:

Zitat von marabu
Der thread owner sollte mal etwas genauer beschreiben, was er erreichen will.

Wahre Worte :wink:

Flocke 12. Sep 2005 15:36

Re: file of TFont
 
Zitat:

Zitat von Catbytes
Speichern bei Programmende, laden bei Programmstart oder so

... und das wird gerade eben nicht gehen, weil du ja nicht die eigentlichen Daten sondern nur einen Zeiger in der Datei ablegst.

arbu man 12. Sep 2005 15:45

Re: file of TFont
 
Das Orkel hilft eigentlich immer es sagt

hardcorehorst 12. Sep 2005 16:06

Re: file of TFont
 
werde mich nächstes mal deutlicher ausdrücken...


danke leute !

hat hingehauen (mithilfe des orakels)

pszopp 12. Sep 2005 16:12

Re: file of TFont
 
Nochmal eine kleine Erklärung für hardcorehorst:

TFont ist ein Objekt und kein Record.
Wenn man sich eine Variable xy:TFont deklariert, so ist diese Variable
ein 4Byte-Zeiger auf das Objekt. Um Objekte zu speichern, ist es meistens
notwendig deren Eigenschaften einzeln abzuspeichern.
z.B.:
Delphi-Quellcode:
BlockWrite(AFile, xy.Color, SizeOf(xy.Color);
BlockWrite(AFile, xy.Size, SizeOf(xy.Size);
Wäre TFont ein Record, so könnte man einfach
Delphi-Quellcode:
BlockWrite(AFile, xy, SizeOf(xy));
schreiben.

Viel Spass beim Testen...

Catbytes 12. Sep 2005 17:34

Re: file of TFont
 
Zitat:

Zitat von Flocke
Zitat:

Zitat von Catbytes
Speichern bei Programmende, laden bei Programmstart oder so

... und das wird gerade eben nicht gehen, weil du ja nicht die eigentlichen Daten sondern nur einen Zeiger in der Datei ablegst.

Yep - jetzt fällt es mir wieder wie Schuppen von den Augen.

Deshalb bin ich damals auch wieder auf die INI-Datei zurückgekehrt.

hardcorehorst 12. Sep 2005 17:46

Re: file of TFont
 
dann bleib ich auch bei der INI :hello:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 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 by Thomas Breitkreuz