1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51:
| procedure CheckLastTimeSuccessful; var vProgLog: File of Ansichar; vStr: string; vNewName: string; vByte: ansichar; vCount: Integer; begin if FileExists(SysData.ProgLogName) then begin AssignFile(vProgLog, SysData.ProgLogName); try try reset(vProgLog); seek(vProglog, Filesize(vProgLog) - 3); BlockRead(vProgLog, vByte, 1); except MessageDlg('Error occured opening ProgLog-File. Make a Backup, delete' + ' it and restart the program.', mtError, [mbClose], 0, mbClose); Application.Terminate; end; finally Closefile(vProgLog); end;
if vByte <> '~' then begin if MessageDlg('Program crasht last time. Do you want to keep a backup ' + 'of the program Logfile?', mtInformation, [mbYes, mbNo], 0, mbYes) = mrYes then begin vStr := Delete(SysData.ProgLogName, Length(SysData.ProgLogName) - 3, 4); for vCount := 1 to High(Integer) do begin vNewName := vStr + '_Bkp' + inttostr(vCount) + '.log'; if not FileExists(vStr) then begin if RenameFile(SysData.ProgLogName, vStr) then begin break; end; end; end; end; end; end; end; |