![]() |
ok, danke
|
sorry eine frage noch (ich weiss es nervt) aber das wars dann auch, also
Delphi-Quellcode:
da gibts nen fehler, wieso kann ich den fontname nicht in eine ini schreiben? wenn ich den fontname in die caption eines labels tue gehts
procedure TForm1.ToolButton6Click(Sender: TObject);
begin if FontDialog1.Execute then settings.WriteString('fontfont', FontDialog1.Font.Name); end; gruss silent |
Ist das Objekt settings in der Prozedur bekannt?
|
hatte mich im post davor verschrieben, also insgesamt sieht das so aus:
Delphi-Quellcode:
die variable settings ist global definiert:
procedure TForm1.ToolButton6Click(Sender: TObject);
begin if FontDialog1.Execute then settings.WriteString('font', 'font', FontDialog1.Font.Name); end;
Delphi-Quellcode:
und in den uses das "inifiles"
var settings: TIniFile;
wenn ich per button etwas in die ini schreibe, also mit "settings.writestring('test', 'test', 'test'); funktioniert das und es wird "[test] test=test" in die datei geschrieben. Nur hier funktioert das irgendwie nicht, kommt immer "zugriffsverletzung bei adresse 3245135" grüsse |
ach da fehlte das "create", also es geht, danke :)
|
Kommt irgendwo im Quelltext noch ein:
Delphi-Quellcode:
Und warum global? So ist es besser:
settings := TIniFile.Create(...);
Delphi-Quellcode:
Weil global hast du Probleme mit dem Ressourcen-Schutzblock. Desweiteren, weißt du nicht, ob das Objekt initialisiert ist und es ist nicht sehr ressourcen-freundlich.
var
settings : TIniFile; begin settings := TIniFile.Create(ChangeFileExt(ParamStr(0)); try if FontDialog1.Execute then begin settings.WriteStrimng('font', 'font', FontDialog1.Font.Name); end; finally settings.Free; end; |
thx, für den code, ich mach das dann so :)
|
Re: FontDialog
ich habe auch mal eine frage: wie kann ich die anderen fontoptionen in der ini mitspeichern?
Delphi-Quellcode:
ich bekommen da immer fehlermeldungen:
procedure TFormOptionen.BitBtn1Click(Sender: TObject);
var settings : TIniFile; begin settings := TIniFile.Create(ExtractFilePath(ParamStr(0))+'\FontSettings.ini'); try if FontDialogTabelle.Execute then begin settings.WriteString('Font', 'Color', FontDialogTabelle.Font.Color); settings.WriteString('Font', 'Size', FontDialogTabelle.Font.Size); settings.WriteString('Font', 'Name', FontDialogTabelle.Font.Name); settings.WriteString('Font', 'Charset', FontDialogTabelle.Font.Charset); settings.WriteString('Font', 'Pitch', FontDialogTabelle.Font.Pitch); settings.WriteString('Font', 'Style', FontDialogTabelle.Font.Style); end; finally settings.Free; end; end;
Code:
woran liegt das? und wie behebe ich die fehler?
Inkompatible Typen: 'String' und 'TColor'
Inkompatible Typen: 'String' und 'Integer' Inkompatible Typen: 'String' und 'TFontCharset' Inkompatible Typen: 'String' und 'TFontPitch' Inkompatible Typen: 'String' und 'TFontStyles' Gruß, dopeline |
Re: FontDialog
wie es die fehler schon sagen, wenn du "WriteString" benutzt musst du auch einen String benutzen. FontDialogTabelle.Font.Color ist vom Typ "TColor" und nicht String. wie du das allerdings hibekommst weiss ich leider auch nicht :\
|
Re: FontDialog
bin beim googeln
![]() Gruß, dopeline |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 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