delphi 将TLisBox 中的内容“如:李强,王志强...”信息保存在当前目录下的“mingzi.txt”文件中,如果“mingzi.txt”文件不存在生成“mingzi.txt”文件 保存信息!
反之,软件运行后,将“mingzi.txt”文件的内容导入TLisBox空间中。
 

解决方案 »

  1.   

    listbox的items不是可以savetofile吗
      

  2.   

    TListBox的Items属性是个TStrings,提供了SaveToFile和LoadFromFile方法,可以参考一下
      

  3.   

    感谢2‘3楼的朋友解决了!!
    但又出新问题了!
    SaveToFile和LoadFromFile方法可以实现保存成一个txt文件!要是多个TLisBox想保存,读取txt文件就麻烦了!如何调用保存呢??用标示分开?有思路吗??
      

  4.   

    统一存到一个文件,按控件名称(或其他唯一值)分章节,如下范例,窗体创建时加载,销毁时保存:
    uses
      IniFiles;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    var
      i : Integer;
      ini : TIniFile;
      lstCurrent : TListBox;
      Items : string;
    begin
      ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Config.ini');
      try
        for i := 0 to ComponentCount - 1 do
        begin
          if not (Components[i] is TListBox) then Continue;
          lstCurrent := TListBox(Components[i]);      Items := ini.ReadString(lstCurrent.Name,'Item','');      //如果读取不为空则加载,否则保持当前界面值
          if Trim(Items) <> '' then
            lstCurrent.Items.CommaText := Items;
        end;
      finally
        ini.Free;
      end;
    end;procedure TForm1.FormDestroy(Sender: TObject);
    var
      i : Integer;
      ini : TIniFile;
      lstCurrent : TListBox;
    begin
      ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Config.ini');
      try
        for i := 0 to ComponentCount - 1 do
        begin
          if not (Components[i] is TListBox) then Continue;
          lstCurrent := TListBox(Components[i]);      ini.WriteString(lstCurrent.Name,'Item',lstCurrent.Items.CommaText);
        end;
      finally
        ini.Free;
      end;
    end;
      

  5.   


      [错误] Unit1.pas(24): Undeclared identifier: 'FormCreate'
      [错误] Unit1.pas(27): Undeclared identifier: 'TIniFile'
      [错误] Unit1.pas(31): Missing operator or semicolon
      [错误] Unit1.pas(33): Undeclared identifier: 'ComponentCount'
      [错误] Unit1.pas(35): Undeclared identifier: 'Components'
      [错误] Unit1.pas(35): Operator not applicable to this operand type
      [错误] Unit1.pas(38): Missing operator or semicolon
      [错误] Unit1.pas(45): Missing operator or semicolon
      [错误] Unit1.pas(49): Undeclared identifier: 'FormDestroy'
      [错误] Unit1.pas(49): ';' expected but '(' found
      [错误] Unit1.pas(52): Undeclared identifier: 'TIniFile'
      [错误] Unit1.pas(55): Missing operator or semicolon
      [错误] Unit1.pas(57): Undeclared identifier: 'ComponentCount'
      [错误] Unit1.pas(59): Undeclared identifier: 'Components'
      [错误] Unit1.pas(59): Operator not applicable to this operand type
      [错误] Unit1.pas(62): Missing operator or semicolon
      [错误] Unit1.pas(65): Missing operator or semicolon
      [严重错误] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
      

  6.   

    OMG,楼主!你根据代码中的函数实现补全窗体事件的声明部分不就可以了。看来还真得研习研习喽!