Re: Styls in ini oder änlich speichern?
20. Jun 2008, 11:47
Hallo zusammen,
vielen Dank für die Anregungen. Ich habe mir das Beste aus den Bsp. Rausgepickt
und meine Lösung mal hier eingebracht. Ist möglicherweise nicht die beste aber es
Funktioniert so weit.
procedure TForm1.FontDialog1Apply(Sender: TObject; Wnd: HWND);
begin
Panel2.Font.Name:= TFontDialog(Sender).Font.Name;
Panel2.Font.Size:= TFontDialog(Sender).Font.Size;
Panel2.Font.Color:= TFontDialog(Sender).Font.Color;
Panel2.Font.Style:= TFontDialog(Sender).Font.Style;
Ini:= TIniFile.Create(GetApplicationDirectory + Form1.dPIX +'.css');
try
Ini.WriteString('Panel','Panel2FontName',Panel2.Fo nt.Name);
Ini.WriteInteger('Panel','Panel2FontSize',Panel2.F ont.Size);
Ini.WriteInteger('Panel','Panel2FontColor',Panel2. Font.Color);
if (fsBold in TFontDialog(Sender).Font.Style)
then Ini.WriteBool('Panel','Panel2FontBold',True)
else Ini.WriteBool('Panel','Panel2FontBold',False);
if (fsItalic in TFontDialog(Sender).Font.Style)
then Ini.WriteBool('Panel','Panel2Italic',True)
else Ini.WriteBool('Panel','Panel2Italic',False);
finally
ini.Free;
end;
end;
Ausgelesen aus *.Ini ist ähnlich
...
for i:= 1 to 25 do begin
STE := TComponent(FindComponent('Panel' + IntToStr(i)));
Z := STE.ComponentIndex;
TPanel(Components[Z]).Height:= Ini.ReadInteger('Panel', dTEXT +'Height' ,0);
TPanel(Components[Z]).Width := Ini.ReadInteger('Panel', dTEXT +'Width' ,0);
TPanel(Components[Z]).Top := Ini.ReadInteger('Panel', dTEXT +'Top' ,0);
TPanel(Components[Z]).Color := Ini.ReadInteger('Panel', dTEXT +'Color' ,0);
TPanel(Components[Z]).Font.Size := Ini.ReadInteger('Panel', dTEXT +'FontSize' ,0);
TPanel(Components[Z]).Font.Color:= Ini.ReadInteger('Panel', dTEXT +'FontColor' ,0);
TPanel(Components[Z]).Font.Name := Ini.ReadString('Panel', dTEXT +'FontName' ,'');
TPanel(Components[Z]).Caption := Ini.ReadString('Texte', dTEXT ,'');
TPanel(Components[Z]).Font.Style:= [];
if Ini.ReadBool('Panel', dTEXT +'FontBold' ,False) = true
then TPanel(Components[Z]).Font.Style:= TPanel(Components[Z]).Font.Style + [fsBold]
else TPanel(Components[Z]).Font.Style:= TPanel(Components[Z]).Font.Style;
if Ini.ReadBool('Panel', dTEXT +'FontItalic' ,False) = true
then TPanel(Components[Z]).Font.Style:= TPanel(Components[Z]).Font.Style + [fsItalic]
else TPanel(Components[Z]).Font.Style:= TPanel(Components[Z]).Font.Style;
end;
...
Ich weis nicht, aber es gibt bestimmt auch noch schönere oder bessere Möglichkeiten.
Aber ich komme erst mal so weiter.
Ps: Das mit dem Code einfügen Funktioniert bei mir wohl nicht, deshalb habe ich
das Manuel gemacht. Sieht schon etwas Blöd aus.
Also vielen Dank Euch allen.
Gruß Detlef
|