这样啊,可以这样做啊,你根据Color的常量值判断后再写啊,例如:var str:string; case label1.Color of clRed:str:='clRed'; clBlue:str:='clBlue'; clBlack:str:='clBlack'; ..... 依此类推 end IniFile.WriteString('abc','color',str); 读取时,执行相反的过程: Var str:String; str:=IniFile.ReadString('abc','color',''); case str of 'clRed':label1.Color:=clRed; 'clBlue':label1.Color:=clBlue; ... 依此类推 end
抱歉,刚才头昏了,在读取时,不能用case of 结构进行判断了,只能用 if进行判断。另外,有一种办法,因为颜色是用十六进制数来表示的,因此,你保存为整型数即可。例: 写: IniFile.WriteInteger('abc','color',label1.Color);读: label1.Color:=IniFile.ReadInteger('abc','color',clBlack);
str:string;
case label1.Color of
clRed:str:='clRed';
clBlue:str:='clBlue';
clBlack:str:='clBlack';
.....
依此类推
end
IniFile.WriteString('abc','color',str);
读取时,执行相反的过程:
Var
str:String;
str:=IniFile.ReadString('abc','color','');
case str of
'clRed':label1.Color:=clRed;
'clBlue':label1.Color:=clBlue;
...
依此类推
end
写:
IniFile.WriteInteger('abc','color',label1.Color);读:
label1.Color:=IniFile.ReadInteger('abc','color',clBlack);
str:string;尽量不要使用str做变量.str是delphi的一个函数