procedure Save_Caller_Info; { Save the callers information when exiting to a live program or Dropping to DOS from remote. } var FileOut : Text; DateTime : String; OldSlash : Char; begin Assign(FileOut, HomePath+'CALLINFO.BBS'); Rewrite(FileOut); CheckError('Rewriting CALLINFO.BBS'); Update_User_Info_Before_LogOff; with User do begin OldSlash := SlashChar; SlashChar := '/'; WriteLn(FileOut, UserName); { Line 1 } case Baud of B300 : WriteLn(FileOut, '1'); { Line 2 } B1200 : WriteLn(FileOut, '2'); B2400 : WriteLn(FileOut, '0'); B9600 : WriteLn(FileOut, '3'); B19200 : WriteLn(FileOut, '4'); BLocal : WriteLn(FileOut, '5'); end; WriteLn(FileOut, CallingFrom); { Line 3 } WriteLn(FileOut, SecurityLevel); { Line 4 } WriteLn(FileOut, User.TimeLeft); { Line 5 } if ColorMenus then WriteLn(FileOut, 'COLOR') else { Line 6 } WriteLn(FileOut, 'MONO'); WriteLn(FileOut, Password); { Line 7 } WriteLn(FileOut, UserRefNum); { Line 8 } WriteLn(FileOut, TimeOn); { Line 9 } WriteLn(FileOut, TimeStr); { Line 10 } with DateTimeCalled do DateTime := TimeToTimeString('hh:mm', T)+' '+DatetoDateString('mm/dd/yy', D); WriteLn(FileOut, DateTime); { Line 11 } WriteLn(FileOut, ConfJoined); { Line 12 } WriteLn(FileOut, DailyDL); { Line 13 } WriteLn(FileOut, Cfig.SecMaxDL[Array_Level]); { Line 14 } WriteLn(FileOut, Sc(DailyDK)); { Line 15 } WriteLn(FileOut, Sc(Cfig.SecMaxDK[Array_Level]/1024)); { Line 16 } WriteLn(FileOut, User.PhoneNumber); { Line 17 } WriteLn(FileOut, DatetoDateString('mm/dd/yy', TimeDate.D)+Space+ TimeToTimeString('hh:mm', TimeDate.T)); { Line 18 } if User.Xpert = Novice then WriteLn(FileOut, 'NOVICE') else { Line 19 } WriteLn(FileOut, 'EXPERT'); case User.TransferMethod of { Line 20 } All : WriteLn(FileOut, 'All'); Ymodem : WriteLn(FileOut, 'Ymodem'); YmodemG : WriteLn(FileOut, 'Ymodem/G'); Xmodem : WriteLn(FileOut, 'Xmodem'); XmodemCRC : WriteLn(FileOut, 'Xmodem/CRC'); Xmodem1K : WriteLn(FileOut, 'Xmodem-1K'); Xmodem1KG : WriteLn(FileOut, 'Xmodem-1K/G'); ASCii : WriteLn(FileOut, 'Ascii'); end; WriteLn(FileOut, DatetoDateString('mm/dd/yy', LastNew.D)); { Line 21 } WriteLn(FileOut, Sc(TimesOn)); { Line 22 } WriteLn(FileOut, Sc(LinesPerPage)); { Line 23 } WriteLn(FileOut, Sc(UsersHighestMsgRead(HighMsg, ConfJoined))); { Line 24 } WriteLn(FileOut, Sc(Uploads)); { Line 25 } WriteLn(FileOut, Sc(Downloads)); { Line 26 } if DataBits = SevenBits then WriteLn(FileOut, '7 { Databits } ') else WriteLn(FileOut, '8 { Databits }'); { Line 27 } if Local then WriteLn(FileOut, 'LOCAL') else WriteLn(FileOut, 'REMOTE'); { Line 28 } WriteLn(FileOut, 'COM'+Sc(Cfig.CommPort)); { Line 29 } WriteLn(FileOut, DatetoDateString('mm/dd/yy', BirthDate)); { Line 30 } { Write Comm Port Speed } if Cfig.FixedRate then WriteLn(FileOut, Cfig.BaudInit) else WriteLn(FileOut, BaudRate); { Line 31 } WriteLn(FileOut, AlreadyConnected); { Line 32 } if MNP_Connection then WriteLn(FileOut, 'MNP/ARQ Connection') else WriteLn(FileOut, 'Normal Connection'); { Line 33 } with GlobalNinfo.TimeOff do DateTime := DatetoDateString('mm/dd/yy', D)+' '+TimeToTimeString('hh:mm', T); WriteLn(FileOut, DateTime); { Line 34 } WriteLn(FileOut, Cfig.NodeID); { Line 35 } WriteLn(FileOut, DoorNumber); { Line 36 } SlashChar := OldSlash; end; { With } Close(FileOut); CheckError('Closing CALLINFO.BBS File'); end;