Først: Vær _meget_ glad for, at jeg gider svare dig, du har en meget lav karma.
Prøv at læse kommentarerne på
http://www.eksperten.dk/bruger.phtml?navn=chadk&option=karma og tænk over det - det er svært at få hjælp, hvis ingen gider hjælpe!
Prøv at bevise, at du fortjener en bedre karma :o)
Følgende er ikke testet:
function IsHtmlColorOK(st: String): Boolean;
var
I: Integer;
begin
Result := Length(st) = 7;
if Result then
Result := st[1] = '#';
if Result then
for I := 2 to Length(st) do
if Result then
Result := st[I] in ['0'..'9', 'A'..'F'];
end;
function HTMLColorToColor(st: String): TColor;
var
Red, Green, Blue: Byte;
begin
if not IsHtmlColorOK(st) then
begin
Result := clNone;
Exit;
end;
Delete(st, 1, 1);
Red := StrToInt('$' + Copy(st, 1, 2));
Green := StrToInt('$' + Copy(st, 3, 2));
Blue := StrToInt('$' + Copy(st, 5, 2));
Result := RGB(Red, Green, Blue);
end;
procedure TForm1.FormCreate(Sender: TObject);´
var
IniFile: TIniFile;
IniFileName, HTMLColor: String;
begin
IniFileName := 'c:\min_inifil.ini';
IniFile := TIniFile.Create(IniFileName);
try
HTMLColor := AnsiUpperCase(IniFile.ReadString('Farver', 'Memo', ''));
if IsHtmlColorOK(HTMLColor) then
Memo1.Color := HTMLColorToColor(HTMLColor);
finally
IniFile.Free;
end;
end;