我从文本文件中取出一条记录赋给str,但是我只是要这条记录中的一小段的字段,我应该如何去取出这段我想要的字段啊?

解决方案 »

  1.   

    看看记录存放的格式了,用Copy函数可以取一段
      

  2.   


    举个例子就清楚了:设 str='c:\windows\start.bmp',要读取的只是盘符c:后面的文件夹名‘windows’.
    步骤如下:1. 读取str中‘\’符号的第一个出现位置:
       p:=pos('\',str);
       可以得到p=3;2. 求出str中位于‘\’后的部分:
       t:=copy(str,p+1,length(str)-p);
       则t =‘windows\start.bmp'3. 再读取t中‘\’符号的位置:
       p:=pos('\',s);
       可以得到p=84. 最后一步:从t中读出1到p-1段字符:
       s:=copy(s,1,p-1);
       则s='windows'了.
      

  3.   

    借楼上的例子
    var str,tmp:string;
        fst,sec:integer;
    begin
     str:='c:\windows\start.bmp';
     fst:=pos('\',str);
     tmp:=copy(str,fst+1,length(str)-fst);
     sec:=pos('\',tmp);
     showmessage(copy(tmp,1,sec-1));
    end;