Einzelnen Beitrag anzeigen

Benutzerbild von DymonD
DymonD

Registriert seit: 12. Mai 2004
Ort: Niederhöchstadt
116 Beiträge
 
Delphi 2005 Personal
 
#10

Re: ein String einem TFont zuweisen

  Alt 8. Dez 2004, 22:50
Hi,
Das Problem ist, dass ich weiß nicht, was jetzt Sache ist! das hier:
Delphi-Quellcode:
function TEinstellungen.StringToFont(Value: String) : TFont;
begin
Result := TFont.Create(Self);
    begin
    // Schriftart
    Delete(Value, 1, 5); // 'Name=' entfernen
    Result.Name := Copy(Value, 1, pos(';', Value) - 1); // Den String bis zum ';' kopieren'
    Delete(Value, 1, pos(';', Value) - 1); // Das kopierte Stück entfernen
    // Farbe
    Delete(Value, 1, 7); // ';Color=' entfernen
    Result.Color := StrToInt(Copy(Value, 1, pos(';', Value) - 1)); // Den String bis zum ';' kopieren'
    Delete(Value, 1, pos(';', Value) - 1); // Das kopierte Stück entfernen
    // Größe
    Delete(Value, 1, 6); // ';Size=' entfernen
    Result.Size := StrToInt(Copy(Value, 1, pos(';', Value) - 1)); // Den String bis zum ';' kopieren'
    Delete(Value, 1, pos(';', Value) - 1); // Das kopierte Stück entfernen
    // Stil
    Delete(Value, 1, 8); // ';Style=[' entfernen
    if Value[1] = 'Bthen begin
      Result.Style := Result.Style + [fsBold];
      Delete(Value, 1, 1);
      end;
    if Value[1] = 'Ithen begin
      Result.Style := Result.Style + [fsItalic];
      Delete(Value, 1, 1);
      end;
    if Value[1] = 'Uthen begin
      Result.Style := Result.Style + [fsUnderLine];
      Delete(Value, 1, 1);
      end;
    if Value[1] = 'Sthen begin
      Result.Style := Result.Style + [fsStrikeOut];
      Delete(Value, 1, 1);
      end;
    end;
end;
oder
Delphi-Quellcode:
procedure StrToFont(const Name: string; Font: TFont);
begin
  Font.Name := Name;
end;
wogegen hier nur die Schriftart gespeichert wird. Oder soll ich die oben genannten Beispiele anwenden und mir keinen Kopf sondern einen elend langen Quelltext machen?
Besser wäre natürlich das:
Delphi-Quellcode:
FontToStr(MeinFont);
// bzw.
StrToFont(MeinString);
// also halt wie
StrToInt('16');
Gruß, Dima
Dimitri K.
DymonD & Dimak are Ganxtas Of Paradise
http://www.dymond-online.de/gop
  Mit Zitat antworten Zitat