var
  MyIni: TIniFile;
begin
  MyIni;=TIniFile.create(filepath) 
try
  Label1.color:=TColor(MyIni.ReadInteger('label','label1.color',100));
  Label1.Font.size:=MyIni.ReadInteger('label','label1.font.size', 1);
  Label1.Font.Height:=MyIni.ReadInteger('label','label1.font.height',10);
  Label1.Font.PixelsPerInch:=MyIni.ReadInteger('label','label1.font.pixelsperinch',10);
  Label1.Font.Color:=TColor(MyIni.ReadInteger('label','label1.font.color', 10));
  Label1.Font.Name:=TFontName(MyIni.ReadString('label','label1.font.name', ''));
  Label1.Font.Charset:=TFontCharset(MyIni.ReadInteger('label','label1.font.charset',10));
  //Label1.Font.Style:=TFontStyles(MyIni.WriteString('label','label1.font.style', ''));
  Label1.Font.Pitch:=TFontPitch(MyIni.ReadInteger('label','label1.font.pitch', 10));
  Edit1.Font.Color:=TColor(MyIni.ReadInteger('edit','edit1.color',100));
  finally
  MyIni.Free;
  end;
我是一个一个地试的,结果只要不把Label1.Font.Color:=TColor(MyIni.ReadInteger('label','label1.font.color', 10));
屏蔽,就会死机.
另外,style该怎么读呢?

解决方案 »

  1.   

    不会没有人知道tfont.style的读法吧?
      

  2.   

      if fsbold in label1.Font.Style then
        showmessage('粗体');
      

  3.   

    要加入粗体可以这样做
    label1.Font.Style := label1.Font.Style  + [fsbold];
      

  4.   

    会不会是INI中那行有古怪?关于Style,建议你把每个元素都以BOOLEAN的方式写到INI中,读出时再合成。如可能是:
    label1.font.style.bold=1
    label1.font.style.italic=0读时
    if MyIni.ReadBoolean('label','label1.font.style.bold', False) then
      label1.font.style := label1.font.style+[fsBold];
    依此类推。
      

  5.   

    to xzm2000:
     是致写入与读出.to agui:
      我试试你的办法.