怎么会三个变量呢。 以下直接手工写,可能笔误; var ini :Tinifile; R,G,B : byte; begin ini := Tinifile.create(params(0)+'config.ini'); R := byte(ini.readinteger('config','R',255)); G := byte(ini.readinteger('config','G',0)); B := Byte(ini.readinteger('config','B',255));
function TForm1.Stringtorgb(str: string): integer; var rgb_r, rgb_g, rgb_b: integer; strlist: TStringList; begin Result := -1; strlist := TStringList.Create; strlist.Assign(SplitString(str, ',')); if strlist.count <> 3 then exit; if not TryStrToInt(strlist[0], rgb_r) then exit; if not TryStrToInt(strlist[1], rgb_g) then exit; if not TryStrToInt(strlist[2], rgb_b) then exit; if (rgb_r > 255) or (rgb_r < 0) then exit; if (rgb_g > 255) or (rgb_g < 0) then exit; if (rgb_b > 255) or (rgb_b < 0) then exit; Result := rgb(rgb_r, rgb_g, rgb_b); end;
这个我知道啊,这么从ini文件读入?要不然只能在ini中放三个变量了。
var
ini :Tinifile;
R,G,B : byte;
begin
ini := Tinifile.create(params(0)+'config.ini');
R := byte(ini.readinteger('config','R',255));
G := byte(ini.readinteger('config','G',0));
B := Byte(ini.readinteger('config','B',255));
label1.Font.Color := RGB(R,G,B); end;
这个我也会啊,在ini中写三行啊,我想在ini直接写成rgb=255,0,255
看来只能读进来,做字符串分析了
var
rgb_r, rgb_g, rgb_b: integer;
strlist: TStringList;
begin
Result := -1;
strlist := TStringList.Create;
strlist.Assign(SplitString(str, ','));
if strlist.count <> 3 then exit;
if not TryStrToInt(strlist[0], rgb_r) then exit;
if not TryStrToInt(strlist[1], rgb_g) then exit;
if not TryStrToInt(strlist[2], rgb_b) then exit;
if (rgb_r > 255) or (rgb_r < 0) then exit;
if (rgb_g > 255) or (rgb_g < 0) then exit;
if (rgb_b > 255) or (rgb_b < 0) then exit;
Result := rgb(rgb_r, rgb_g, rgb_b);
end;