我用IdHTTP获取一个网站页面的源代码之后,
pro:= Tidhttp.Create(nil);
pro.ReadTimeout:=30000;
MyStr:=pro.Get('http://www.xxx.com');使用
function CenterStr(Src:String;Before,After:String):array [1..10000] of char;
  var
    Pos1,Pos2:WORD;  begin
    Pos1:=Pos(Before,Src)+Length(Before);
    Pos2:=Pos(After,Src);
    Result:=Copy(Src,Pos1,Pos2-Pos1);
  end;
对其进行截取,但是怎么截取,老是缺一部分,研究了半天,才发现,获取的网站页面源代码,有100多k,可能是文件太大,处理不了了,不知道有没有人知道,像这种大型文件,我应该怎么处理,谢谢。

解决方案 »

  1.   

    function CenterStr(Src:String;Before,After:String):array [1..10000] of char;
                                                       ~~~~~~~~~~~~~~~~~~~~~~
                                                      :string; //试试行不行。我不打保票
      

  2.   

    function CenterStr(Src:String;Before,After:String):array [1..10000] of char;
                                                       ~~~~~~~~~~~~~~~~~~~~~~
                                                      :string; //试试行不行。我不打保票
    原来就是strings的,不行了,才改成array [1..10000] of char;widestring也用过,也是不行,不知道还有没有别的方法
      

  3.   

    检查一下Pos得到的位置对不对,
    主要是和文本的内容有关系
    string一类的本身就是动态的,100多K能有多大?
      

  4.   

    不是把,string能支持2G啊,我开始也以为是pos的问题,可是我换了很多关键词,都没有成功,也不知道怎么回事