home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MFM_119C.ZIP / QUIT.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-06-03  |  2.8 KB  |  84 lines

  1. Unit Quit;
  2. {========================================================================}
  3. Interface
  4.   Procedure QuitMfm;
  5.   Procedure ChangeFileDate;
  6. {========================================================================}
  7. Implementation
  8.   Uses
  9.     Crt, Display, Dos, Edit, MfmDefs, SaveKill, Screen;
  10. {========================================================================}
  11. Procedure QuitMfm;
  12.   Var Qc : Char;
  13.   Begin
  14.     AnsiGotoXY(25,1); AnsiClearToEOL;
  15.     If Result < 253 Then
  16.     Begin
  17.       Write('Are you sure? ');
  18.       Repeat
  19.         Gbx := GetInput;
  20.         Qc := Upcase(Chr(Gbx));
  21.       Until Qc In ['N','Y'];
  22.       Write(Qc);
  23.       If Qc = 'N' Then
  24.       Begin
  25.         AnsiGotoXY(25,1); AnsiClearToEOL;
  26.         Exit;
  27.       End;
  28.     End;
  29.     If Altered Then SaveList;
  30.     NewTextColor(LightGray); NewTextBackground(Black);
  31.     AnsiClearScreen;
  32.     Halt(0);
  33.   End;
  34. {========================================================================}
  35. Procedure ChangeFileDate;
  36.   Var
  37.     Cdc : Char;
  38.     Year, Month, Day, DayOfWeek, Hour, Minute, Second, Sec100 : Word;
  39.     FileToDate : File;
  40.     DateTimeString : String[17];
  41.   Begin
  42.     If CurrentEntry^.TypeOfRecord = FileRecord Then
  43.     Begin
  44.       AnsiGotoXY(25,1); AnsiClearToEOL;
  45.       Write('Change date to current, special or abort? (C/S/A) ');
  46.       Repeat
  47.         Gbx := GetInput;
  48.         Cdc := Upcase(Chr(Gbx));
  49.       Until Cdc In ['C','S','A'];
  50.       Write(Cdc);
  51.       If Cdc In ['C','S'] Then
  52.       Begin
  53.         Case Cdc Of
  54.           'C' : Begin
  55.                   GetDate(Year, Month, Day, DayOfWeek);
  56.                   GetTime(Hour, Minute, Second, Sec100);
  57.                   Date.Year := Year; Date.Month := Month; Date.Day := Day;
  58.                   Date.Hour := Hour; Date.Min := Minute; Date.Sec := Second;
  59.                   PackTime(Date, CurrentEntry^.FileDate);
  60.                 End;
  61.           'S' : Begin
  62.                   AnsiGotoXY(25,1); AnsiClearToEOL;
  63.                   DateTimeString := GetDateString(CurrentEntry^.FileDate)+' '+GetTimeString(CurrentEntry^.FileDate);
  64.                   Write(DateTimeString);
  65.                   DateTimeString := EditLine(DateTimeString,17,25,0);
  66.                   AnsiGotoXY(25,40); Write(DateTimeString);
  67.                   CurrentEntry^.FileDate := GetPackedTime(Copy(DateTimeString,1,8),Copy(DateTimeString,10,8));
  68.                 End;
  69.         End;
  70.         Assign(FileToDate,FileAreaPath+CurrentEntry^.FileName);
  71.         Reset(FileToDate);
  72.         SetFTime(FileToDate,CurrentEntry^.FileDate);
  73.         Close(FileToDate);
  74.         NextPrintEntry := CurrentEntry;
  75.         DisplayRecord(Row); DisplayCurrentLocation;
  76.       End;
  77.       AnsiGotoXY(24,80);
  78.     End;
  79.   End;
  80. {========================================================================}
  81. Begin
  82. End.
  83. {========================================================================}
  84.