在TXT文件中查找指定字符串并显示指定字符串所在行的内容

var
  dir: string;
  FileNameList, StrList, FileList: TStringList;
  i, x: Integer;
  //F: TextFile;
  TS: string;
begin
   dir := trim(edt_ScriptPath.Text);
   FileNameList := TStringList.Create;
   //EnumFileInQueue(PChar(dir), '.*', FileNameList);
   EnumFileInQueue(PChar(dir), '.txt', FileNameList);
   //ShowMessage(IntToStr(FileNameList.Count));
   for I := 0 to FileNameList.Count - 1 do
   begin
//      mmo1.Lines.Add(FileNameList[i]);
//    end;
    if FileNameList[i] <> '' then    //如果选择文件名成功
      begin
        FileList := TStringList.Create;
        FileList.LoadFromFile(FileNameList[i]);
        for x := 0 to FileList.Count - 1 do
          begin
            Application.ProcessMessages;
            if (Pos('GiveGold', FileList[x])> 0) then
              begin
                StrList := TStringList.Create;
                StrList.Delimiter := '(';
                StrList.DelimitedText := FileList[x];
                TS := StrList[1];
                Trim(TS);
                delete(TS, TS.Length,1);
                StrList[1] := TS;
                if StrList[1] <> '' then
                  begin
                    StrList[1] := IntToStr(StrList[1].ToInteger() * StrToInt(edt_Money.Text));
                    FileList[x] := StrList[0] + '(' + StrList[1] + ')';
                  end;
                //mmo1.Lines.Add(FileList[x]);
              end
            else if (Pos('AddExp', FileList[x])> 0) then
              begin
                StrList := TStringList.Create;
                StrList.Delimiter := '(';
                StrList.DelimitedText := FileList[x];
                TS := StrList[1];
                delete(TS, TS.Length,1);
                Trim(TS);
                StrList[1] := TS;
                  if StrList[1] <> '' then
                  begin
                    StrList[1] := IntToStr(StrList[1].ToInteger() * StrToInt(edt_Exp.Text));
                    FileList[x] := StrList[0] + '(' + StrList[1] + ')';
//                mmo1.Lines.Add(FileList[x]);
                  end;
              end
            else if (Pos('AddFame', FileList[x])> 0) then
              begin
                StrList := TStringList.Create;
                StrList.Delimiter := '(';
                StrList.DelimitedText := FileList[x];
                TS := StrList[1];
                Trim(TS);
                delete(TS, TS.Length,1);
                StrList[1] := TS;
                  if StrList[1] <> '' then
                  begin
                    StrList[1] := IntToStr(StrList[1].ToInteger() * StrToInt(edt_Shengwang.Text));
                    FileList[x] := StrList[0] + '(' + StrList[1] + ')';
                  end;
//                mmo1.Lines.Add(FileList[x]);
              end;

          end;
        FileList.SaveToFile(FileNameList[i]);
        mmo1.Lines.Add(FileNameList[i] + '  ' + '成功!');
      end;
    end;

   FileNameList.Free;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值