Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » TFontStyle in ini-Datei speichern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.07.2004, 00:19 Uhr
cesa



Hallo
Ich möchte von meinem Label alle Daten die in TFont gespeichert sind in eine ini-datei speichern.
Habe im Net ein wenig gesucht und fand auch was. Aber es war in Delphi geschrieben.
Habe es denn in C umgeschrieben bis auf die Sache mit TFontStyle, da bekomme nicht weiter.

Hat einer ne Idee ?



C++:
void __fastcall LFont(TFileName ort, String Section, TFont *smFont)
{
  TIniFile *FStream = new TIniFile (ort);
    smFont->Name    = FStream->ReadString(Section, "Name", smFont->Name);
    smFont->Color   = TColor(FStream->ReadInteger(Section, "Color", smFont->Color));
    smFont->Size    = FStream->ReadInteger(Section, "Size", smFont->Size);
//    smFont->Style   = smFont->Style<<TFontStyle(Byte(FStream->ReadInteger(Section, "Style", smFont->Style<<Byte(smFont->Style) ) ) );
    Byte a  = FStream->ReadInteger(Section, "Style", 1);
    smFont->Style=smFont->Style<<a;
    smFont->Style   = smFont->Style<<TFontStyle(Byte(FStream->ReadInteger(Section, "Style", smFont->Style<<Byte(smFont->Style) ) ) );

  delete FStream;

}

void __fastcall SaveFont(TFileName ort, String Section, TFont *smFont)
{
  TIniFile *FStream = new TIniFile (ort);

    FStream->WriteString (Section, "Name"   , smFont->Name);
    FStream->WriteInteger(Section, "Color"  , smFont->Color);
    FStream->WriteInteger(Section, "Size"   , smFont->Size);
//    Byte a = Byte(smFont->Style);
//    FStream->WriteInteger(Section, "Style"  , <<smFont->Style);

//    FontToInt

  delete FStream;

}





Das Original

C++:
uses
  Inifiles;

procedure SaveFont(FName: string; Section: string; smFont: TFont);
var
  FStream: TIniFile;
begin
  FStream := TIniFile.Create(FName);
  try
    FStream.WriteString(Section, 'Name', smFont.Name);
    FStream.WriteInteger(Section, 'CharSet', smFont.CharSet);
    FStream.WriteInteger(Section, 'Color', smFont.Color);
    FStream.WriteInteger(Section, 'Size', smFont.Size);
    FStream.WriteInteger(Section, 'Style', Byte(smFont.Style));
  finally
    FStream.Free;
  end;
end;

procedure LoadFont(FName: string; Section: string; smFont: TFont);
var
  FStream: TIniFile;
begin
  FStream := TIniFile.Create(Fname);
  try
    smFont.Name    := FStream.ReadString(Section, 'Name', smFont.Name);
    smFont.CharSet := TFontCharSet(FStream.ReadInteger(Section, 'CharSet', smFont.CharSet));
    smFont.Color   := TColor(FStream.ReadInteger(Section, 'Color', smFont.Color));
    smFont.Size    := FStream.ReadInteger(Section, 'Size', smFont.Size);
    smFont.Style   := TFontStyles(Byte(FStream.ReadInteger(Section, 'Style', Byte(smFont.Style))));
  finally
    FStream.Free;
  end;
end;

//Example:
//Beispiel:

//Save Font
procedure TForm1.Button1Click(Sender: TObject);
begin
  SaveFont('font.ini', 'label', label1.Font);
end;

procedure TForm1.Label1DblClick(Sender: TObject);
begin
  if FontDialog1.Execute then
    label1.Font := FontDialog1.Font
end;

//Load Font
procedure TForm1.Button2Click(Sender: TObject);
begin
  LoadFont('font.ini', 'label', label1.Font);
end;


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.07.2004, 13:30 Uhr
Bruder Leif
dances with systems
(Operator)


BCB-Thema ->
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: