请帮忙看下代码,哪里有问题吗,为什么运行后checkbox1.Checked没有打勾?
procedure TFrmsys.FormCreate(Sender: TObject);
var
  filename:string;
begin
  filename:=ExtractFilePath(paramstr(0))+'myini.ini';
  myinifile:=TInifile.Create(filename); 
  checkbox1.Checked:=myinifile.readbool('newini','开机是否自动运行',true);
end;procedure TFrmsys.FormDestroy(Sender: TObject);
begin
   myinifile.writebool('newini','开机是否自动运行',checkbox1.Checked);
   myinifile.Destroy;
end;

解决方案 »

  1.   

    没必要用ini处理这种问题,可以用VCL的持久化机制来处理
    简单给你写段代码:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        checkbox1: TCheckBox;
        procedure FormDestroy(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormDestroy(Sender: TObject);
    var
      ms: TMemoryStream;
    begin
      try
        ms:= TMemoryStream.Create;
        ms.WriteComponent(checkbox1);
        ms.SaveToFile('e:\cb.ck');
      finally
        FreeAndNil(ms);
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      ms: TMemoryStream;
    begin
      try
        ms:= TMemoryStream.Create;
        ms.LoadFromFile('e:\cb.ck');
        checkbox1:= TCheckBox(ms.ReadComponent(checkbox1));
      finally
        FreeAndNil(ms);
      end;
    end;end.
      

  2.   

    看你的Ini文件中是什么[newini]
    开机是否自动运行=0另外myinifile.Destroy;改成myinifile.Free;
      

  3.   

    看你的Ini文件中是什么[newini]
    开机是否自动运行=0
    *************************
    没看懂,INI文件中是什么?什么意思?我除了写上面的代码什么也没写,难道还需要设置什么吗?
      

  4.   

    [newini]
    开机是否自动运行=0
    这两句写在哪?
      

  5.   

    [newini]
    开机是否自动运行=0
    这两句写在哪?
    ~~~~~~~~~~~~
    这两句是Ini文件中的
    开机是否自动运行=0表示False、开机是否自动运行=1表示True
      

  6.   

    可我INI文件中没有这两句呀,应该写在哪?我第一次用INI,很不明白,看了网上的例子,写的也不清楚,谢谢你指点,我很着急
      

  7.   

    你上面的程序已经把这2句写到INI文件中了呀.
      

  8.   

    如果在你的ini文件中没有写这两句,说明你的程序没有正确运行!可能是ini文件没有被程序创建,而是你手动创建的?
      

  9.   

    TO:xixuemao(脑袋抽筋儿了)呵,学到一招,:)