Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [INI-File]Problem mit Typenumwandlung? (https://www.delphipraxis.net/118998-%5Bini-file%5Dproblem-mit-typenumwandlung.html)

BullsEye 19. Aug 2008 10:28


[INI-File]Problem mit Typenumwandlung?
 
Hallo Leute,
Nachdem ich seit ein paar Stunden versuche, die einstellungen eines FontDialogs zu speichern, was mit eig auch ziemlich gut gelungen ist. Bis auf den Font.Style (Bold, Italic etc...) hatte ich die Idee einfach alles zusammen zu speichern. Das Speichern funktioniert anscheinend auch. Allerdings weiß ich nun nicht wirklich, wie ich das wieder auslesen kann...

Hier wird das gespeichert...
Delphi-Quellcode:
                     
WriteString('Schrift', 'Formatierung', IntToStr(integer(TFont(FontDialog1.Font))));
So sieht das denn in der INI File aus:
Zitat:

[Schrift]
Formatierung=37815960
Nur das Problem ist nun das laden der Daten:
Delphi-Quellcode:
Form2.FontDialog1.Font := ReadString('Schrift', 'Formatierung', '...'); // Was muss bei '...' stehen?
Ich hoffe ihr könnt mir schnell helfen

DelphiKlaus 19. Aug 2008 10:32

Re: [INI-File]Problem mit Typenumwandlung?
 
Hallo,

das Speichern funktioniert wahrscheinlich nicht. Die Zahl, die in der Ini-Datei steht, hat mit großer Wahrscheinlichkeit nichts mit den Fontattributen zu tun. Wahrscheinlich ist es eher die Adresse von Fontdialog1.Font oder was ähnliches. Ich würde die einzelnen Attribute auch einzeln ablegen.

MfG

Klaus

Deep-Sea 19. Aug 2008 10:38

Re: [INI-File]Problem mit Typenumwandlung?
 
DelphiKlaus hat recht, mit dieser Methode speicherst du nur den Zeiger auf die Objektinstanz ab. Das bringt dir jedoch nichts.

Zum speichern von Font.Style bzw. einem Set allgemein, schau dir die Unit TypInfo an. Dort findest du die Funktionen GetSetProp und SetSetProp, die dir eine Set-Property in einen String und umgekehrt wandeln. :wink:

BullsEye 19. Aug 2008 10:42

Re: [INI-File]Problem mit Typenumwandlung?
 
Sowas ähnliches hab ich mir schon gedacht. :rolleyes:

Speichern tu ich das bisher so:
Delphi-Quellcode:
WriteInteger('Schrift', 'Große', FontDialog1.Font.Size);
WriteString('Schrift', 'Art', FontDialog1.Font.Name);
Geladen wird das ganze so:
Delphi-Quellcode:
Form2.FontDialog1.Font.Size := ReadInteger('Schrift', 'Große', 0);
Form2.FontDialog1.Font.Name := ReadString('Schrift', 'Art', '');
Die Farbe etc läuft nicht über den FontDialog!
Allerdings weiß ich nun nicht, wie ich den Font.Style nun speichern/laden soll :gruebel:

Delphi-Quellcode:
// Speichern
Caption:=IntToStr(integer(TFontStyle(Form1.Panel1.Font.style)));
WriteString('Schrift', 'Style', caption);
// Laden
Caption:=IntToStr(integer(TFontStyle(Form1.Panel1.Font.style))); // Wie muss diese Zeile heißen?!
Form1.Panel1.Font.Style := ReadString('Schrift', 'Style', caption);
Aber das ist ja nicht das was ich haben möchte! Ich möchte nicht das die Font Eigenschaften des Panels gespeichert werden sondern die des Dialoges....

DeddyH 19. Aug 2008 10:47

Re: [INI-File]Problem mit Typenumwandlung?
 
Schau mal hier: http://www.delphipraxis.net/internal...t.php?t=139341

Deep-Sea 19. Aug 2008 10:49

Re: [INI-File]Problem mit Typenumwandlung?
 
Zitat:

Zitat von BullsEye
Allerdings weiß ich nun nicht, wie ich den Font.Style nun speichern/laden soll :gruebel:

Ich hoffe du hast mein vorheriges Post gesehen?! :-D

Blackheart 19. Aug 2008 11:05

Re: [INI-File]Problem mit Typenumwandlung?
 
Delphi-Quellcode:
Ini.WriteInteger('Font', 'Style', Integer(TFontStyle(Font.Style)));
...
Font.Style:=TFontStyles(TFontStyle(Ini.ReadInteger('Font', 'Style',
0)));

BullsEye 19. Aug 2008 13:33

Re: [INI-File]Problem mit Typenumwandlung?
 
Zitat:

Zitat von Blackheart
Delphi-Quellcode:
Ini.WriteInteger('Font', 'Style', Integer(TFontStyle(Font.Style)));
...
Font.Style:=TFontStyles(TFontStyle(Ini.ReadInteger('Font', 'Style',
0)));

This is the reason why im <3 DP :dp:

Danke an Alle!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:38 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