procedure TFormUpdateDF.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    ShowMessage(OpenDialog1.FileName);
    EdtFileName.Text := OpenDialog1.FileName;
  end;end;

解决方案 »

  1.   

    似乎不行吧,string放不了多少东西的
      

  2.   

    var
     MS: TFileStream; if OpenDialog1.Execute then
      MS:=TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
      

  3.   

    为什么不放到StringList里面呢?
      

  4.   

    一般设计不要把整个文件都放在string里边,具体要看你用来做什么,如果整体使用要读到内存流里边,或者放倒一个memo里边。
    如果按行读取就可以做一个stringlist放到里边。
      

  5.   

    var
    s:tstrings;
    begin
    s:=tstringlist.creat;
    s.loadfromfile(filename);
    end;
    保存的时候就用savetofile了
      

  6.   

    我这里有错,因为那边提供的接口是shortString,功能是要把文件读到String里面通过那个接口把东西传上服务器.
      

  7.   

    cobi(我是小新) 
    如何做?谢谢.我找不到demo
      

  8.   

    放到Memo中绝对不是一个好办法,用Memo太浪费。
    String的存储容量也没有问题,现在的String其实已经不是以前的255个字符了它是一个AnsiString.
    赞同:zhangheaaa(竹) , rcyboom(BOOM)
      

  9.   

    现在的问题一定要求是String类型,因为我那边接口是shortString,而现在又找不到文件读进String 的Demo,只好求几位大哥写段.
      

  10.   

    小新说的似乎不对,
    string的缺省就是AnsiString?理论上可以放4GB内容?
    你试试:
    str:string;
    str:='12234567890abcdefghijklmnopqrstuvwxyz12234567890abcdefghijklmnopqrstuvwxyz12234567890abcdefghijklmnopqrstuvwxyz12234567890abcdefghijklmnopqrstuvwxyz12234567890abcdefghijklmnopqrstuvwxyz';
    能不能正确存取?
      

  11.   

    var
      FileStream : TFileStream;
      InfoStream : TStringStream;
      TmpInfo : String;FileStream := TFileStream.Create(FileName,fmOpenRead);//filename:读入文件名
    FileStream.Position := 0;
    InfoStream := TStringStream.Create(TmpInfo);
    InfoStream.CopyFrom(FileStream,0);这样就可以了
      

  12.   

    告诉你一个技术难度小的方法:
    先用TStrings从文件中加载,然后利用循环将TStrings中的每行读出添加到String中。
      

  13.   

    //参考如下代码~~
    procedure TForm1.Button1Click(Sender: TObject);
    var
      S: string;
    begin
      with TMemoryStream.Create do try
        LoadFromFile('c:\temp\temp.txt');
        SetLength(S, Size);
        Read(S[1], Size);
    (*    ShowMessage(S); //输出测试 *)
      finally
        Free;
      end;
    end;
      

  14.   

    有这么复杂么?下面这个就行:
    var
      buf : string;
      ......
      setlength(buf,至少是文件的长度);
      assignfile(fp,文件名);
      reset(fp);
      blockread(fp,buf[1],文件长度,acture);//现在文件已经在string中了
      closefile(fp);