并能够把每一段结构体在文件的位置写到另一个文件里最好!

解决方案 »

  1.   

    type
      TSysLog = record
        Date: TDateTime;
        Monitor: string[8];
        Logtxt: string[20];
      end;
      PSysLog = ^TSysLog;procedure WriteSysLog(User, LogData: string);
    var
      FFile: TFileStream;
      offset: Longint;
      LogFileName: TFileName;
      PPSysLog: PSysLog;
    begin
      try
        New(PPSysLog);
        LogFileName := ExeFileDir + LogPath + 'sysLog.log';
        if not FileExists(LogFileName) then
          FFile := TFileStream.Create(LogFileName, fmCreate)
        else
          FFile := TFileStream.Create(LogFileName, fmOpenWrite);
        offset := FFile.Seek(0, soFromEnd);
        FFile.Position := offset;
        PPSysLog.Monitor := User;
        PPSysLog.Logtxt := LogData;
        PPSysLog.Date := Now;
        FFile.WriteBuffer(PPsysLog^, sizeof(TSysLog));
        FreeMem(PPSysLog);
        FFile.Free;
      except
      end;
    end;