ReadFile.FileName := edit1.text

解决方案 »

  1.   

    ReadFile.FileName := edit1.text
      

  2.   

    [Error] DBRead.pas(87): Cannot assign to a read-only property
    我是这样做的可报上面的错误。
      

  3.   

    ReadFile := TIniFile.Create(edit1.text);
      

  4.   

    我想通过选择文件读取一个文件的内容并在一个DBGride中显示所读文件的内容,可怎么也显示不了,代码如下:各位能帮我查查错吗?
    unit DBRead;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,inifiles, DB, ADODB, Grids, DBGrids;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        OpenDialog1: TOpenDialog;
        DBGrid1: TDBGrid;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      //function connection_ado(ado_name:TADOConnection;ini_name:Tinifile):boolean;
      end;var
      Form1: TForm1;
      dir,str1: string;
    implementation
        uses DM;
    {$R *.dfm}{function connection_ado(ado_name:TADOConnection;ini_name:Tinifile):boolean;
    var
      Sprovider,Spassword,Ssecurity,Suser,Sinitial,Sdatasource,Sprepare,Stranslate,
      Spacker,Sworkstation:string;
    begin
      Sprovider:=ini_name.ReadString('Parameters','provider','');//从INI文件中读取数据
      Spassword:=ini_name.ReadString('parameters','Password','');
      Ssecurity:=ini_name.ReadString('Parameters','Persist Security Info','');
      Suser:=ini_name.ReadString('Parameters','User ID','');
      Sinitial:=ini_name.ReadString('Parameters','Initial Catalog','');
      Sdatasource:=ini_name.ReadString('Parameters','Data Source','');
      Sprepare:=ini_name.ReadString('Parameters','Use Procedure for Prepare','');
      Stranslate:=ini_name.ReadString('Parameters','Auto Translate','');
      Spacker:=ini_name.ReadString('Parameters','Packet Size','');
      Sworkstation:=ini_name.ReadString('Parameters','Workstation ID','');
      //赋值连接信息
      ado_name.ConnectionString:='Provider='+Sprovider+';'+'Password='+Spassword+';'+
      'Persist Security Info='+Ssecurity+';'+'User ID='+Suser+';'+
      'Initial Catalog='+Sinitial+';'+'Data Source='+Sdatasource+';'+
      'Use Procedure for Prepare='+Sprepare+';'+'Auto Translate='+Stranslate+';'+
      'Packet Size='+Spacker+';'+'Workstation ID='+Sworkstation;
      ado_name.LoginPrompt:=true;
      //释放INI文件占用资源
      ini_name.Free;
    end; }
    //查找初始化文件
    procedure TForm1.Button1Click(Sender: TObject);
    var
      filename:string;
      i:integer;
    begin
      if OpenDialog1.Execute then
        begin
          filename:= OpenDialog1.FileName;
          edit1.Text:=filename;
          dir:=edit1.Text;
        end;
      str1:='';
      i:=length(dir);
      while copy(dir,i,1)<>'\' do
      begin
         str1:=copy(dir,i,1)+str1;
         i:=i - 1;
      end;
         edit1.Text:=str1;
    end;
    //调用connection_ado函数,将初始化文件内容写入ADOconnection参数中
    procedure TForm1.Button2Click(Sender: TObject);
    var
      ReadFile:TiniFile;
      Sprovider,Spassword,Ssecurity,Suser,Sinitial,Sdatasource,Sprepare,Stranslate,
      Spacker,Sworkstation:string;
    begin
        ReadFile:=TiniFile.Create(str1);
       //assignFile(ReadFile,edit1.Text);
      //ReadFile.FileName:=str1;  Sprovider:=ReadFile.ReadString('Parameters','provider','');//从INI文件中读取数据
      Spassword:=ReadFile.ReadString('parameters','Password','');
      Ssecurity:=ReadFile.ReadString('Parameters','Persist Security Info','');
      Suser:=ReadFile.ReadString('Parameters','User ID','');
      Sinitial:=ReadFile.ReadString('Parameters','Initial Catalog','');
      Sdatasource:=ReadFile.ReadString('Parameters','Data Source','');
      Sprepare:=ReadFile.ReadString('Parameters','Use Procedure for Prepare','');
      Stranslate:=ReadFile.ReadString('Parameters','Auto Translate','');
      Spacker:=ReadFile.ReadString('Parameters','Packet Size','');
      Sworkstation:=ReadFile.ReadString('Parameters','Workstation ID','');
      //赋值连接信息
      DM1.ADOConnection1.ConnectionString:='Provider='+Sprovider+';'+'Password='+Spassword+';'+'Persist Security Info='+Ssecurity+';'+'User ID='+Suser+';'+'Initial Catalog='+Sinitial+';'+'Data Source='+Sdatasource+';'+'Use Procedure for Prepare='+Sprepare+';'+'Auto Translate='+Stranslate+';'+'Packet Size='+Spacker+';'+'Workstation ID='+Sworkstation;
      DM1.ADOConnection1.LoginPrompt:=true;
      //释放INI文件占用资源
      DM1.ADOQuery1.Close;
      DM1.ADOQuery1.Open;
      ReadFile.Free;
     {//DM1.ADOConnection1.Connected:=true; }end;end.