Registriert seit: 12. Mai 2004
Ort: Niederhöchstadt
116 Beiträge
Delphi 2005 Personal
|
Re: ein String einem TFont zuweisen
1. Dez 2004, 20:31
Hi,
noch was: habe versucht, das Umgekehrte eigenhändig zu erstellen... Leider gab's eine Exception, als ich versucht habe, den String in den TFont umzuwandeln...
Delphi-Quellcode:
function TEinstellungen.StringToFont(Value: String) : TFont;
begin
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] = 'B' then begin
Result.Style := Result.Style + [fsBold];
Delete(Value, 1, 1);
end;
if Value[1] = 'I' then begin
Result.Style := Result.Style + [fsItalic];
Delete(Value, 1, 1);
end;
if Value[1] = 'U' then begin
Result.Style := Result.Style + [fsUnderLine];
Delete(Value, 1, 1);
end;
if Value[1] = 'S' then begin
Result.Style := Result.Style + [fsStrikeOut];
Delete(Value, 1, 1);
end;
end;
end;
Was ist alles falsch?
Gruß, Dima
|