当前位置:编程学习 > Delphi >>

delphi如何读取ini文件或txt文件到edit控件?

我想用delphi来写程序,ini或txt格式如下: [配置设置] Work11=79038692 Work12=90760902 我想把Work11的内容显示到edit1中,把Work12显示到edit2中。 文件名为config.ini,文件路径不要固定的,和程序一起运行,ini文件和程序在一个文件夹就可以运行。 哪位大侠帮着写写,重谢!
答案:可以声明一个模块级的变量,就在窗体最前面dim就可以了,然后这个变量可以被多个sub使用。控件的事件过程不会凭空多得到变量啊~只能得到事件发生而产生的变量。 如果是自定义的sub,可以在过程名后用括号声明变量,比如
private sub iSub(aaa as inxdteger,bbb as boolean)
其他:可以参考以下代码段
procedure TForm1.FormCreate(Sender: TObject);
begin
// 使用TIniFile类的Create成员函数建立TIniFile对
//象,该对象用来读写当前目录中的sample.ini文件,
  IniFile := TIniFile.Create('..\sample.ini');
//读取节点
  cobSection.Clear;
  IniFile.ReadSections(cobSection.Items);
  cobSection.ItemIndex := 0;
  cobSectionChange(sender);
  btnSave.Enabled := false;

end;

procedure TForm1.cobSectionChange(Sender: TObject);
begin
  cobIni.Clear;
// 将cobSection中所选择节中对应的各个
//变量及对应的值送入cobIni
  IniFile.ReadSection(cobSection.Text, cobIni.Items);
  cobIni.ItemIndex := 0;
  cobIniChange(Sender);
end;

procedure TForm1.cobIniChange(Sender: TObject);
begin
  btnSave.Enabled := false;
//将选择的关键字值读入
  Edit1.Text := IniFile.ReadString(cobSection.Text, cobIni.Text, '');

end; Unit Unit1;

Interface

Uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IniFiles, StdCtrls, Buttons;

Type
  TForm1 = Class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    Procedure FormCreate(Sender: TObject);
    Procedure BitBtn1Click(Sender: TObject);
  Private
    { Private declarations }
  Public
    { Public declarations }
  End;

Var
  Form1: TForm1;

Implementation

{$R *.dfm}

//INI配置文件操作: uses IniFiles

Function INI_New(Var aFile: String): Boolean;
Var
  atext: TextFile;
Begin
  aFile := Format('%sconfig.ini', [ExtractFilePath(Paramstr(0))]);
  If Not FileExists(aFile) Then
  Begin
    AssignFile(atext, aFile);
    Rewrite(atext);
    CloseFile(atext);
  End;
  Result := FileExists(aFile);
End;

Function INI_Put_Str(aItem, aKey, aStr: String): Boolean; // 写INI-文本
Var
  aFile: String;
Begin
  Result := False;
  If (Length(aItem) = 0) Or (Length(aKey) = 0) Then
  Begin
    Exit;
  End;
  If INI_New(aFile) Then
  Begin
    With TIniFile.Create(aFile) Do
    Begin
      Try
        WriteString(aItem, aKey, aStr);
        Result := True;
      Finally
        Free;
      End;
    End;
  End;
End;

Function INI_Get_Str(aItem, aKey: String): String; // 读INI-文本
Var
  aFile: String;
Begin
  Result := '';
  If (Length(aItem) = 0) Or (Length(aKey) = 0) Then
  Begin
    Exit;
  End;
  If INI_New(aFile) Then
  Begin
    With TIniFile.Create(aFile) Do
    Begin
      Try
        Result := ReadString(aItem, aKey, '');
      Finally
        Free;
      End;
    End;
  End;
End;
//可扩展下,如:INI_Get_Int     INI_Get_Bool  ...
Procedure TForm1.FormCreate(Sender: TObject);
Begin
  Edit1.Text := INI_Get_Str('Set', 'Work11');
  Edit2.Text := INI_Get_Str('Set', 'Work12');
End;

Procedure TForm1.BitBtn1Click(Sender: TObject); //保存
Begin
  INI_Put_Str('Set', 'Work11', Edit1.Text);
  INI_Put_Str('Set', 'Work12', Edit2.Text);
End;

End. var myinifile:Tinifile;
begin
myinifile:=TInifile.Create(ExtractFilePath(paramstr(0))+'setup.ini');
Edit1.text:=myinifile.ReadString('配置设置','Work11','');
Edit2.text:=myinifile.ReadString('配置设置','Work12',''); 

上一个:win7安装delphi显示不全还是咋回事??附图
下一个:如何delphi button1用FormatdateTime取当前系统日期,然后按钮2实现日期递增?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,