我想在ini文件中定义一个rgb颜色入255,0,255,怎么读入程序并赋值给控件?

解决方案 »

  1.   

      label1.Font.Color :=  RGB(23,32,234);
      

  2.   


    这个我知道啊,这么从ini文件读入?要不然只能在ini中放三个变量了。
      

  3.   

      怎么会三个变量呢。 以下直接手工写,可能笔误;
    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;
      

  4.   


    这个我也会啊,在ini中写三行啊,我想在ini直接写成rgb=255,0,255
    看来只能读进来,做字符串分析了
      

  5.   

    要么就把存在字符,然后分析。要么就直接存成一个整型值。label1.font.color := $FFF;
      

  6.   

    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;