我要在文本文件找一个字符窜,用readln(f,s)读取后进行比较,是否为所需要的。若为需要,则要向上退两行,取另外一个字符窜。请问如何回退指针。
例子:
12/29/06 00:00:05 #532692

* 00 REPT:CELL 138 ASSEMBLAGE 1 ALARM SCANNING
     SCAN POINT: ALARM GROUP 2, ALARM ID 16
     ALARM: CELL DOOR OPEN ALARM !
     STATE: OFF NORMAL当找到“CELL DOOR OPEN ALARM“后,如何在回退指针取时间“ 2/29/06 00:00:05“。谢谢

解决方案 »

  1.   

    可以借助于一个TStringList,很方便  如:const
      Tg = 'gggg';  //标志串
      Bk = 2 ;      //回退行数
    var
      SL : TStringList;
      I  : integer;
      BkS: string;
    begin
      SL := TStringList.Create;
      SL.LoadFromFile('c:\tttt.txt');
      for I := 0 to SL.Count-1 do
          begin
          if Pos(Tg,SL[I])>0 then
             if I-Bk>=0 then
                begin
                BkS := SL(I-Bk);
                { Bks就是后退Bk行的内容,你可以在这里处理 }
                ShowMessage(BkS);
                end;
          end;
      SL.Free;
    end;
      

  2.   

    谢谢!请问我想把得到的文本入到access数据库里,告警内容“CELL DOOR OPEN ALARM“和时间“ 2/29/06 00:00:05“作为一条记录。录入如何实现。自己用table1.InsertRecord(a),a=array of string;编译总报错[Error] Unit1.pas(59): Incompatible types: 'Array' and 'a'
      

  3.   

    似乎本贴的问题我已给你解决了。楼主难道得寸进尺?让人心里很不快......你最初的问题,除使用TStringList外,可以参考使用FileOpen、FileRead、FileWrite、FileSeek、FileClose系列函数。Delphi帮助里有详细说明。