Compiles on Linux, but is very broken
This commit is contained in:
parent
ae32f3040e
commit
13e7596fdd
|
@ -11,6 +11,9 @@
|
|||
*.PPU
|
||||
*.VPI
|
||||
*.vpi
|
||||
*.bak
|
||||
*.o
|
||||
|
||||
SOURCE/ELECOM/
|
||||
SOURCE/UNUSED/
|
||||
src/elecom/
|
||||
|
|
|
@ -36,7 +36,7 @@ USES
|
|||
|
||||
PROCEDURE ArcDeComp(VAR Ok: Boolean; AType: Byte; CONST FileName,FSpec: AStr);
|
||||
VAR
|
||||
ResultCode: Integer;
|
||||
ResultCode: SmallInt;
|
||||
BEGIN
|
||||
PurgeDir(TempDir+'ARC\',FALSE);
|
||||
ExecBatch(Ok,TempDir+'ARC\',General.ArcsPath+
|
||||
|
@ -48,7 +48,7 @@ END;
|
|||
|
||||
PROCEDURE ArcComp(VAR Ok: Boolean; AType: Byte; CONST FileName,FSpec: AStr);
|
||||
VAR
|
||||
ResultCode: Integer;
|
||||
ResultCode: SmallInt;
|
||||
BEGIN
|
||||
IF (General.FileArcInfo[AType].ArcLine = '') THEN
|
||||
Ok := TRUE
|
||||
|
@ -63,7 +63,7 @@ END;
|
|||
PROCEDURE ArcComment(VAR Ok: Boolean; AType: Byte; CommentNum: Byte; CONST FileName: AStr);
|
||||
VAR
|
||||
TempStr: AStr;
|
||||
ResultCode: Integer;
|
||||
ResultCode: SmallInt;
|
||||
SaveSwapShell: Boolean;
|
||||
BEGIN
|
||||
IF (CommentNum > 0) AND (General.FileArcComment[CommentNum] <> '') THEN
|
||||
|
@ -80,7 +80,7 @@ END;
|
|||
|
||||
PROCEDURE ArcIntegrityTest(VAR Ok: Boolean; AType: Byte; CONST FileName: AStr);
|
||||
VAR
|
||||
ResultCode: Integer;
|
||||
ResultCode: SmallInt;
|
||||
BEGIN
|
||||
IF (General.FileArcInfo[AType].TestLine <> '') THEN
|
||||
ExecBatch(Ok,TempDir+'ARC\',General.ArcsPath+
|
||||
|
@ -205,7 +205,7 @@ VAR
|
|||
ES: ExtStr;
|
||||
Cmd: Char;
|
||||
AType: Byte;
|
||||
ReturnCode,
|
||||
ReturnCode: SmallInt;
|
||||
DirFileRecNum: Integer;
|
||||
DidSomething,
|
||||
Ok: Boolean;
|
||||
|
@ -446,7 +446,7 @@ VAR
|
|||
Cmd: Char;
|
||||
AType,
|
||||
SaveNumBatchDLFiles: Byte;
|
||||
ReturnCode,
|
||||
ReturnCode: SmallInt;
|
||||
GotPts,
|
||||
SaveFileArea: Integer;
|
||||
Ok,
|
||||
|
@ -720,4 +720,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -52,7 +52,7 @@ VAR
|
|||
NumFiles,
|
||||
RecNum,
|
||||
Counter: Byte;
|
||||
Junk,
|
||||
Junk: SmallInt;
|
||||
RN,
|
||||
FArea,
|
||||
SaveFileArea,
|
||||
|
@ -916,4 +916,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -28,7 +28,7 @@ VAR
|
|||
NS: NameStr;
|
||||
ES: ExtStr;
|
||||
AType: Byte;
|
||||
ReturnCode,
|
||||
ReturnCode: SmallInt;
|
||||
DirFileRecNum: Integer;
|
||||
OldSiz,
|
||||
NewSiz: LongInt;
|
||||
|
@ -241,4 +241,4 @@ BEGIN
|
|||
ConvertBytes(TotalsRecord.TotalOldSize,FALSE)+' , new size='+ConvertBytes(TotalsRecord.TotalNewSize,FALSE));
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -144,7 +144,7 @@ BEGIN
|
|||
Next := TRUE;
|
||||
END;
|
||||
|
||||
PROCEDURE Details(Out: OutRec;
|
||||
PROCEDURE Details(OutR: OutRec;
|
||||
VAR Level,
|
||||
NumFiles: Integer;
|
||||
VAR TotalCompSize,
|
||||
|
@ -155,12 +155,12 @@ VAR
|
|||
DT: DateTime;
|
||||
Ratio: LongInt;
|
||||
BEGIN
|
||||
Out.FileName := AllCaps(Out.FileName);
|
||||
DT.Day := Out.Date AND $1f; {* Day = bits 4-0 *}
|
||||
DT.Month := (Out.Date SHR 5) AND $0f; {* Month = bits 8-5 *}
|
||||
DT.Year := ((Out.Date SHR 9) AND $7f) + 80; {* Year = bits 15-9 *}
|
||||
DT.Min := (Out.Time SHR 5) AND $3f; {* Minute = bits 10-5 *}
|
||||
DT.Hour := (Out.Time SHR 11) AND $1f; {* Hour = bits 15-11 *}
|
||||
OutR.FileName := AllCaps(OutR.FileName);
|
||||
DT.Day := OutR.Date AND $1f; {* Day = bits 4-0 *}
|
||||
DT.Month := (OutR.Date SHR 5) AND $0f; {* Month = bits 8-5 *}
|
||||
DT.Year := ((OutR.Date SHR 9) AND $7f) + 80; {* Year = bits 15-9 *}
|
||||
DT.Min := (OutR.Time SHR 5) AND $3f; {* Minute = bits 10-5 *}
|
||||
DT.Hour := (OutR.Time SHR 11) AND $1f; {* Hour = bits 15-11 *}
|
||||
|
||||
IF (DT.Month > 12) THEN
|
||||
Dec(DT.Month,12); {* adjust for Month > 12 *}
|
||||
|
@ -173,17 +173,17 @@ BEGIN
|
|||
|
||||
ConvertAmPm(DT.Hour,AmPm);
|
||||
|
||||
IF (Out.USize = 0) THEN
|
||||
IF (OutR.USize = 0) THEN
|
||||
Ratio := 0
|
||||
ELSE {* Ratio is 0% for null-Length file *}
|
||||
Ratio := (100 - ((Out.CSize * 100) DIV Out.USize));
|
||||
Ratio := (100 - ((OutR.CSize * 100) DIV OutR.USize));
|
||||
IF (Ratio > 99) THEN
|
||||
Ratio := 99;
|
||||
|
||||
OutP := '^4'+PadRightStr(FormatNumber(Out.USize),13)+
|
||||
' '+PadRightStr(FormatNumber(Out.CSize),13)+
|
||||
OutP := '^4'+PadRightStr(FormatNumber(OutR.USize),13)+
|
||||
' '+PadRightStr(FormatNumber(OutR.CSize),13)+
|
||||
' '+PadRightInt(Ratio,2)+'%'+
|
||||
' ^9'+MethodType[Out.Method]+
|
||||
' ^9'+MethodType[OutR.Method]+
|
||||
' ^7'+ZeroPad(IntToStr(DT.Month))+
|
||||
'/'+ZeroPad(IntToStr(DT.Day))+
|
||||
'/'+ZeroPad(IntToStr(DT.Year))+
|
||||
|
@ -194,16 +194,16 @@ BEGIN
|
|||
IF (Level > 0) THEN
|
||||
OutP := OutP + PadRightStr('',Level); {* spaces for dirs (ARC only)*}
|
||||
|
||||
OutP := OutP + Out.FileName;
|
||||
OutP := OutP + OutR.FileName;
|
||||
|
||||
PrintACR(OutP);
|
||||
|
||||
IF (Out.Method = 0) THEN
|
||||
IF (OutR.Method = 0) THEN
|
||||
Inc(Level) {* bump dir Level (ARC only) *}
|
||||
ELSE
|
||||
BEGIN
|
||||
Inc(TotalCompSize,Out.CSize); {* adjust accumulators and counter *}
|
||||
Inc(TotalUnCompSize,Out.USize);
|
||||
Inc(TotalCompSize,OutR.CSize); {* adjust accumulators and counter *}
|
||||
Inc(TotalUnCompSize,OutR.USize);
|
||||
Inc(NumFiles);
|
||||
END;
|
||||
END;
|
||||
|
@ -659,7 +659,7 @@ VAR
|
|||
LZH_H_Length,
|
||||
Counter,
|
||||
ArcType: Byte;
|
||||
RCode,
|
||||
RCode: SmallInt;
|
||||
FileType,
|
||||
Level,
|
||||
NumFiles: Integer;
|
||||
|
@ -849,4 +849,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,3 +1,4 @@
|
|||
{$MODE TP}
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
|
||||
|
||||
|
@ -247,7 +248,7 @@ BEGIN
|
|||
BBSList.Port := 23;
|
||||
MPL(SizeOf(BBSList.Port) - 1);
|
||||
|
||||
InputLongIntWoc(Question,BBSList.Port,[NumbersOnly,InterActiveEdit],1,65535);
|
||||
InputWordWoc(Question,BBSList.Port,[NumbersOnly,InterActiveEdit],1,65535);
|
||||
END
|
||||
ELSE IF WhichOne = 'LOCATION' THEN
|
||||
BEGIN
|
||||
|
@ -311,7 +312,7 @@ BEGIN
|
|||
BEGIN
|
||||
|
||||
MPL(SizeOf(BBSList.SDG) - 1);
|
||||
InputLongIntWoc(Question,BBSList.SDG,[NumbersOnly,InterActiveEdit],1,65535);
|
||||
InputWordWoc(Question,BBSList.SDG,[NumbersOnly,InterActiveEdit],1,65535);
|
||||
{Abort := (BBSList.xE = '');}
|
||||
END
|
||||
ELSE IF WhichOne = 'SDH' THEN
|
||||
|
@ -776,4 +777,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
18
src/boot.pas
18
src/boot.pas
|
@ -54,7 +54,7 @@ VAR
|
|||
General.ProtPath := StartDir+'\PROT\';
|
||||
General.ArcsPath := StartDir+'\ARCS\';
|
||||
General.FileAttachPath := StartDir+'\FATTACH\';
|
||||
General.lMultPath := StartDir+'\STRING\';
|
||||
General.MultPath := StartDir+'\STRING\';
|
||||
SaveGeneral(FALSE);
|
||||
Assign(BootFile,StartDir+'1STBOOT');
|
||||
Erase(BootFile);
|
||||
|
@ -92,7 +92,7 @@ VAR
|
|||
END;
|
||||
8 : BEGIN
|
||||
DirDesc := 'STRING';
|
||||
DirName := General.lMultPath;
|
||||
DirName := General.MultPath;
|
||||
END;
|
||||
END;
|
||||
IF (NOT ExistDir(DirName)) THEN
|
||||
|
@ -125,7 +125,7 @@ VAR
|
|||
5 : General.LogsPath := S2;
|
||||
6 : General.ArcsPath := S2;
|
||||
7 : General.ProtPath := S2;
|
||||
8 : General.lMultPath := S2;
|
||||
8 : General.MultPath := S2;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
|
@ -825,7 +825,7 @@ BEGIN
|
|||
Mov T_Al,Al
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
T_Al := $FF;
|
||||
{$ENDIF}
|
||||
SchareLoaded := (T_Al = $FF);
|
||||
|
@ -859,7 +859,7 @@ VAR
|
|||
END;
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
FUNCTION TrueDosVer(VAR WinNTOk: Boolean): Word;
|
||||
BEGIN
|
||||
WinNtOK := TRUE;
|
||||
|
@ -886,7 +886,7 @@ VAR
|
|||
END;
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
FUNCTION DosVer(VAR Minor,OS2Ver: Word): Word;
|
||||
BEGIN
|
||||
Minor := 0;
|
||||
|
@ -911,7 +911,7 @@ VAR
|
|||
END;
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
FUNCTION Win3_Check_On: Boolean;
|
||||
BEGIN
|
||||
Win3_Check_On := FALSE;
|
||||
|
@ -937,7 +937,7 @@ VAR
|
|||
DV_Check_On := TRUE;
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
FUNCTION DV_Check_On: Boolean;
|
||||
BEGIN
|
||||
DV_Check_On := FALSE;
|
||||
|
@ -1075,4 +1075,4 @@ BEGIN
|
|||
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
UNIT Bulletin;
|
||||
|
||||
|
@ -498,7 +498,7 @@ VAR
|
|||
BEGIN
|
||||
IF (MenuOption = '') THEN
|
||||
Exit;
|
||||
Assign(StrPointerFile,General.LMultPath+MenuOption+'.PTR');
|
||||
Assign(StrPointerFile,General.MultPath+MenuOption+'.PTR');
|
||||
Reset(StrPointerFile);
|
||||
TotLoad := FileSize(StrPointerFile);
|
||||
IF (TotLoad < 1) THEN
|
||||
|
@ -522,7 +522,7 @@ BEGIN
|
|||
NL;
|
||||
END;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.LMultPath+MenuOption+'.DAT');
|
||||
Assign(RGStrFile,General.MultPath+MenuOption+'.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -554,16 +554,16 @@ BEGIN
|
|||
PrintF('QUOTE');
|
||||
InResponseTo := '';
|
||||
MHeader.Status := [];
|
||||
IF (InputMessage(TRUE,FALSE,'New Quote',MHeader,General.LMultPath+MenuOption+'.TMP',78,500)) then
|
||||
IF Exist(General.LMultPath+MenuOption+'.TMP') THEN
|
||||
IF (InputMessage(TRUE,FALSE,'New Quote',MHeader,General.MultPath+MenuOption+'.TMP',78,500)) then
|
||||
IF Exist(General.MultPath+MenuOption+'.TMP') THEN
|
||||
BEGIN
|
||||
Assign(F,General.LMultPath+MenuOption+'.NEW');
|
||||
Assign(F,General.MultPath+MenuOption+'.NEW');
|
||||
Reset(F);
|
||||
IF (IOResult <> 0) THEN
|
||||
ReWrite(F)
|
||||
ELSE
|
||||
Append(F);
|
||||
Assign(F1,General.LMultPath+MenuOption+'.TMP');
|
||||
Assign(F1,General.MultPath+MenuOption+'.TMP');
|
||||
Reset(F1);
|
||||
IF (IOResult <> 0) THEN
|
||||
Exit;
|
||||
|
@ -580,7 +580,7 @@ BEGIN
|
|||
WriteLn(F);
|
||||
Close(F);
|
||||
Close(F1);
|
||||
Kill(General.LMultPath+MenuOption+'.TMP');
|
||||
Kill(General.MultPath+MenuOption+'.TMP');
|
||||
NL;
|
||||
Print('^7Your new quote was saved.');
|
||||
PauseScr(FALSE);
|
||||
|
@ -589,4 +589,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N+,O-,R-,S-,V-}
|
||||
|
||||
UNIT Common;
|
||||
|
@ -280,8 +280,8 @@ VAR
|
|||
|
||||
DatFilePath: STRING[40];
|
||||
Interrupt14: Pointer; { far ptr TO interrupt 14 }
|
||||
{$IFDEF MSDOS}
|
||||
Ticks: LongInt ABSOLUTE $0040:$006C;
|
||||
{$IFDEF LINUX}
|
||||
Ticks: LongInt; {ABSOLUTE $0040:$006C;}
|
||||
{$ENDIF}
|
||||
IEMSIRec: IEMSIRecord;
|
||||
FossilPort: Word;
|
||||
|
@ -708,7 +708,7 @@ end;
|
|||
FUNCTION UpdateCRC32(CRC: LongInt; VAR Buffer; Len: Word): LongInt; EXTERNAL;
|
||||
{$L CRC32.OBJ }
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
CONST
|
||||
CRC_32_TAB : array[0..255] of LongInt = (
|
||||
$00000000, $77073096, $ee0e612c, $990951ba, $076dc419,
|
||||
|
@ -1186,14 +1186,14 @@ VAR
|
|||
S: STRING;
|
||||
TotLoad: LongInt;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.LMultPath+'RGSCFGPR.DAT');
|
||||
Assign(StrPointerFile,General.MultPath+'RGSCFGPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.LMultPath+'RGSCFGTX.DAT');
|
||||
Assign(RGStrFile,General.MultPath+'RGSCFGTX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -1229,14 +1229,14 @@ VAR
|
|||
S: STRING;
|
||||
TotLoad: LongInt;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.LMultPath+'RGNOTEPR.DAT');
|
||||
Assign(StrPointerFile,General.MultPath+'RGNOTEPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.LMultPath+'RGNOTETX.DAT');
|
||||
Assign(RGStrFile,General.MultPath+'RGNOTETX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -1272,14 +1272,14 @@ VAR
|
|||
S: STRING;
|
||||
TotLoad: LongInt;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.LMultPath+'RGMAINPR.DAT');
|
||||
Assign(StrPointerFile,General.MultPath+'RGMAINPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.LMultPath+'RGMAINTX.DAT');
|
||||
Assign(RGStrFile,General.MultPath+'RGMAINTX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -1315,14 +1315,14 @@ VAR
|
|||
S: STRING;
|
||||
TotLoad: LongInt;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.LMultPath+'RGLNGPR.DAT');
|
||||
Assign(StrPointerFile,General.MultPath+'RGLNGPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.LMultPath+'RGLNGTX.DAT');
|
||||
Assign(RGStrFile,General.MultPath+'RGLNGTX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -2117,7 +2117,12 @@ BEGIN
|
|||
|
||||
Com_DeInstall;
|
||||
|
||||
CursorOn(TRUE);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
SwapVectors;
|
||||
|
||||
|
@ -2401,7 +2406,7 @@ BEGIN
|
|||
Dec(Year);
|
||||
AgeUser := Year;
|
||||
END;
|
||||
|
||||
{$IFNDEF LINUX}
|
||||
FUNCTION AllCaps(InString: STRING): STRING;
|
||||
VAR
|
||||
Counter: Byte;
|
||||
|
@ -2411,7 +2416,12 @@ BEGIN
|
|||
InString[Counter] := Chr(Ord(InString[Counter]) - Ord('a')+Ord('A'));
|
||||
AllCaps := InString;
|
||||
END;
|
||||
|
||||
{$ELSE}
|
||||
Function AllCaps(InString: String): String;
|
||||
Begin
|
||||
AllCaps := InString;
|
||||
End;
|
||||
{$ENDIF}
|
||||
FUNCTION Caps(Instring: STRING): STRING;
|
||||
VAR
|
||||
Counter: Integer; { must be Integer }
|
||||
|
@ -3112,7 +3122,7 @@ ASM
|
|||
POP ds
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
FUNCTION AOnOff(b: Boolean; CONST s1,s2:AStr): STRING;
|
||||
BEGIN
|
||||
if (b) then
|
||||
|
@ -3560,7 +3570,7 @@ BEGIN
|
|||
LIL := 0;
|
||||
TempPause := SaveTempPause;
|
||||
END;
|
||||
|
||||
{$IFNDEF LINUX}
|
||||
FUNCTION BSlash(InString: AStr; b: Boolean): AStr;
|
||||
BEGIN
|
||||
IF (b) THEN
|
||||
|
@ -3575,6 +3585,22 @@ BEGIN
|
|||
Dec(InString[0]);
|
||||
BSlash := Instring;
|
||||
END;
|
||||
{$ELSE}
|
||||
Function BSlash(InString: Astr; b: Boolean): Astr;
|
||||
Begin
|
||||
IF (b) THEN
|
||||
BEGIN
|
||||
WHILE (Copy(InString,(Length(InString) - 1),2) = '//') DO
|
||||
InString := Copy(Instring,1,(Length(InString) - 2));
|
||||
IF (Copy(InString,Length(InString),1) <> '/') THEN
|
||||
InString := InString + '/';
|
||||
END
|
||||
ELSE
|
||||
WHILE (InString[Length(InString)] = '/') DO
|
||||
Dec(InString[0]);
|
||||
BSlash := Instring;
|
||||
End;
|
||||
{$ENDIF}
|
||||
|
||||
FUNCTION Exist(FileName: AStr): Boolean;
|
||||
VAR
|
||||
|
@ -3593,6 +3619,7 @@ BEGIN
|
|||
ExistDir := (DOSError = 0) AND (DirInfo1.Attr AND $10 = $10);
|
||||
END;
|
||||
|
||||
|
||||
PROCEDURE PrintFile(FileName: AStr);
|
||||
VAR
|
||||
s: AStr;
|
||||
|
@ -4187,7 +4214,7 @@ BEGIN
|
|||
REPEAT
|
||||
TempDirPath := DirPath;
|
||||
Changed := FALSE;
|
||||
InputWN1(DisplayStr,TempDirPath,39,[UpperOnly,InterActiveEdit],Changed);
|
||||
InputWN1(DisplayStr,TempDirPath,39,[InterActiveEdit],Changed);
|
||||
TempDirPath := SQOutSp(TempDirPath);
|
||||
|
||||
IF (Length(TempDirPath) = 1) THEN
|
||||
|
@ -4205,6 +4232,7 @@ BEGIN
|
|||
NL;
|
||||
Print('^7A valid path must be specified!^1');
|
||||
END
|
||||
{$IFNDEF LINUX}
|
||||
ELSE IF (NOT (TempDirPath[1] IN ['A'..'Z'])) OR (Length(TempDirPath) < 3) OR
|
||||
(NOT (TempDirPath[2] = ':')) OR (NOT (TempDirPath[3] = '\')) THEN
|
||||
BEGIN
|
||||
|
@ -4212,8 +4240,9 @@ BEGIN
|
|||
Print('^7Invalid drive specification: "'+Copy(TempDirPath,1,3)+'"^1');
|
||||
TempDirPath := '';
|
||||
END
|
||||
{$ENDIF}
|
||||
ELSE
|
||||
BEGIN
|
||||
BEGIN {$IFNDEF LINUX}
|
||||
GetDir(0,CurDir);
|
||||
ChDir(TempDirPath[1]+':');
|
||||
IF (IOResult <> 0) THEN
|
||||
|
@ -4223,6 +4252,7 @@ BEGIN
|
|||
TempDirPath := '';
|
||||
END
|
||||
ELSE
|
||||
{$ENDIF}
|
||||
BEGIN
|
||||
ChDir(CurDir);
|
||||
IF (CreateDir) THEN
|
||||
|
@ -4718,11 +4748,21 @@ BEGIN
|
|||
'T' : Add := CurrentConf;
|
||||
'+' : BEGIN
|
||||
Add := '';
|
||||
CursorOn(TRUE);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
END;
|
||||
'-' : BEGIN
|
||||
Add := '';
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
END;
|
||||
END;
|
||||
'D' : CASE UpCase(S[Index + 2]) OF
|
||||
|
@ -4872,7 +4912,7 @@ BEGIN
|
|||
'P' : CASE UpCase(S[Index + 2]) OF
|
||||
'1' : Add := General.MsgPath;
|
||||
'2' : Add := General.NodePath;
|
||||
'3' : Add := General.LMultPath;
|
||||
'3' : Add := General.MultPath;
|
||||
'4' : Add := General.SysOpPW;
|
||||
'5' : Add := General.NewUserPW;
|
||||
'6' : Add := General.MinBaudOverride;
|
||||
|
@ -5073,4 +5113,4 @@ BEGIN
|
|||
UNTIL (Ticks > CheckMS);
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S-,V-}
|
||||
|
||||
UNIT Common1;
|
||||
|
@ -411,4 +411,4 @@ BEGIN
|
|||
END;
|
||||
|
||||
END.
|
||||
|
||||
|
|
@ -160,8 +160,9 @@ CONST
|
|||
'H','o','u','r','s',':',#25,#6 ,'M','a','i','l',' ',':',#25,#6 ,'O',
|
||||
'v','e','r','l','a','y','s',':',#25,#7 ,#24);
|
||||
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
PROCEDURE BiosScroll(up: Boolean); ASSEMBLER;
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Mov cx,0
|
||||
Mov dh,MaxDisplayRows
|
||||
|
@ -292,17 +293,14 @@ BEGIN
|
|||
SecondRow := (FirstRow + 1);
|
||||
TextAttr := 120;
|
||||
LastScreenSwap := 0;
|
||||
CursorOn(FALSE);
|
||||
{ CursorOn(FALSE);}
|
||||
Clear_Status_Box;
|
||||
IF (WhichScreen < 99) THEN
|
||||
General.CurWindow := WhichScreen;
|
||||
CASE WhichScreen OF
|
||||
1 : WITH ThisUser DO
|
||||
BEGIN
|
||||
{$IFDEF MSDOS}
|
||||
Update_Logo(Win1,ScreenAddr[(FirstRow - 1) * 160],WIN1_LENGTH);
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
Update_Logo(Win1, 1, FirstRow, WIN1_LENGTH);
|
||||
{$ENDIF}
|
||||
GoToXY(02,FirstRow);
|
||||
|
@ -528,7 +526,7 @@ BEGIN
|
|||
Window(1,3,MaxDisplayCols,MaxDisplayRows)
|
||||
ELSE
|
||||
Window(1,1,MaxDisplayCols,MaxDisplayRows - 2);
|
||||
CursorOn(TRUE);
|
||||
CursorOn;
|
||||
IF (NOT SaveWindowOn) THEN
|
||||
ToggleWindow(FALSE);
|
||||
GoToXY(SaveWhereX,SaveWhereY);
|
||||
|
@ -549,7 +547,7 @@ VAR
|
|||
SaveWhereX,
|
||||
SaveWhereY,
|
||||
SaveTextAttr: Byte;
|
||||
RetCode,
|
||||
RetCode: SmallInt;
|
||||
i: Integer;
|
||||
SaveTimer: LongInt;
|
||||
SaveInChat: Boolean;
|
||||
|
@ -605,11 +603,19 @@ BEGIN
|
|||
{$IFDEF WIN32}
|
||||
Update_Logo(SYSKEY, 1, 1, SYSKEY_LENGTH);
|
||||
{$ENDIF}
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
C := ReadKey;
|
||||
IF (C = #0) THEN
|
||||
C := ReadKey;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
RemoveWindow(Wind);
|
||||
GoToXY(SaveWhereX,SaveWhereY);
|
||||
Update_Screen;
|
||||
|
@ -850,12 +856,21 @@ BEGIN
|
|||
Window(1,1,MaxDisplayCols,MaxDisplayRows);
|
||||
ClrScr;
|
||||
WantOut := FALSE;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
WantOut := TRUE;
|
||||
CursorOn(TRUE);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
|
||||
WriteLn('Local display on.');
|
||||
Update_Screen;
|
||||
END;
|
||||
|
@ -1103,7 +1118,13 @@ VAR
|
|||
END;
|
||||
Write(' ');
|
||||
TextBackGround(0);
|
||||
CursorOn(i IN [1..4]);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(i IN [1..4]);
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
IF (b) THEN
|
||||
BEGIN
|
||||
GoToXY(26,12);
|
||||
|
@ -1127,7 +1148,11 @@ VAR
|
|||
VAR
|
||||
Counter: Byte;
|
||||
BEGIN
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
TextColor(9);
|
||||
Box(1,18,6,68,13);
|
||||
Window(19,7,67,12);
|
||||
|
@ -1304,10 +1329,14 @@ BEGIN
|
|||
UNTIL (Done);
|
||||
GoToXY(SaveWhereX,SaveWhereY);
|
||||
TextAttr := SaveTextAttr;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
NewCompTables;
|
||||
SaveURec(ThisUser,UserNum);
|
||||
END;
|
||||
|
||||
END.
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S-,V-,X-}
|
||||
|
||||
UNIT Common3;
|
||||
|
@ -345,6 +345,7 @@ VAR
|
|||
END;
|
||||
|
||||
{$IFDEF MSDOS}
|
||||
|
||||
PROCEDURE SetCursor(InsertMode: Boolean); ASSEMBLER;
|
||||
ASM
|
||||
cmp InsertMode,0
|
||||
|
@ -360,15 +361,23 @@ VAR
|
|||
int 10h
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
PROCEDURE SetCursor(InsertMode: Boolean);
|
||||
BEGIN
|
||||
if (InsertMode) then
|
||||
begin
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
RPInsertCursor;
|
||||
{$ENDIF}
|
||||
end else
|
||||
begin
|
||||
{$IFDEF FPC}
|
||||
cursorbig;
|
||||
{$ELSE}
|
||||
RPBlockCursor;
|
||||
{$ENDIF}
|
||||
end;
|
||||
END;
|
||||
{$ENDIF}
|
||||
|
@ -542,4 +551,4 @@ BEGIN
|
|||
InputMain(S,MaxLen,[CapWords]);
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S-,V-}
|
||||
|
||||
(*
|
||||
|
@ -353,7 +353,7 @@ IMPLEMENTATION
|
|||
USES
|
||||
Crt,
|
||||
Common
|
||||
{$IFDEF WIN32}
|
||||
{$IFDEF WINDOWS}
|
||||
,EleNorm
|
||||
{$ENDIF}
|
||||
;
|
||||
|
@ -377,7 +377,8 @@ PROCEDURE Com_Flush_Recv;
|
|||
BEGIN
|
||||
IF (NOT LocalIOOnly) THEN
|
||||
BEGIN
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Cmp InWfcMenu,1
|
||||
Je @TheEnd
|
||||
|
@ -418,8 +419,9 @@ the output buffer (not transmitted yet) is discarded.
|
|||
|
||||
PROCEDURE Com_Purge_Send;
|
||||
BEGIN
|
||||
{$IFDEF MSDOS}
|
||||
ASM
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
Mov AH,09h
|
||||
|
@ -464,7 +466,8 @@ VAR
|
|||
Dummy: Byte;
|
||||
BEGIN
|
||||
Dummy := 0; (* New *)
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -518,7 +521,8 @@ VAR
|
|||
BEGIN
|
||||
Com_Recv := #0;
|
||||
T_RecvChar := FALSE;
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -591,7 +595,8 @@ VAR
|
|||
Dummy: Byte;
|
||||
BEGIN
|
||||
Dummy := 0; (* New *)
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -643,7 +648,8 @@ VAR
|
|||
{$ENDIF}
|
||||
BEGIN
|
||||
Dummy := 0; (* New *)
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -680,7 +686,8 @@ value of 0000h is returned in AX. If the driver accepts the character
|
|||
|
||||
PROCEDURE Com_Send(C: Char);
|
||||
BEGIN
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
Je @TheEnd
|
||||
|
@ -773,7 +780,8 @@ BEGIN
|
|||
T_AL := 32;
|
||||
END;
|
||||
Inc(T_AL,3);
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Mov AH,00h
|
||||
Mov AL,T_AL
|
||||
|
@ -801,7 +809,8 @@ PROCEDURE Com_DeInstall;
|
|||
BEGIN
|
||||
IF (NOT LocalIOOnly) THEN
|
||||
BEGIN
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Mov AH,05h
|
||||
Mov DX,FossilPort
|
||||
|
@ -822,7 +831,8 @@ END;
|
|||
|
||||
PROCEDURE Com_Install;
|
||||
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
FUNCTION DriverInstalled: Word; ASSEMBLER;
|
||||
ASM
|
||||
Mov AH,5
|
||||
|
@ -845,7 +855,8 @@ BEGIN
|
|||
FossilPort := (Liner.Comport - 1);
|
||||
IF (LocalIOOnly) THEN
|
||||
Exit;
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
IF (DriverInstalled <> $1954) THEN
|
||||
BEGIN
|
||||
ClrScr;
|
||||
|
@ -881,7 +892,8 @@ BEGIN
|
|||
Com_Set_Speed(Liner.InitBaud);
|
||||
END;
|
||||
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
PROCEDURE CheckHangup; ASSEMBLER;
|
||||
ASM
|
||||
Cmp LocalIOOnly,1
|
||||
|
@ -935,7 +947,8 @@ VAR
|
|||
BEGIN
|
||||
IF (OutCom) THEN
|
||||
BEGIN
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
REPEAT
|
||||
T_DI := OFS(S[1]);
|
||||
T_CX := Length(S);
|
||||
|
@ -991,7 +1004,8 @@ BEGIN
|
|||
Empty := NOT KeyPressed;
|
||||
IF (InCom) AND (NOT KeyPressed) THEN
|
||||
BEGIN
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Mov DX,FossilPort
|
||||
Mov AH,03h
|
||||
|
@ -1027,7 +1041,8 @@ BEGIN
|
|||
IF (NOT LocalIOOnly) THEN
|
||||
BEGIN
|
||||
T_AL := Byte(Status);
|
||||
{$IFDEF MSDOS}
|
||||
{$IFDEF LINUX}
|
||||
{$ASMMODE intel}
|
||||
ASM
|
||||
Mov AH,06h
|
||||
Mov DX,FossilPort
|
||||
|
@ -1048,4 +1063,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -26,7 +26,7 @@ VAR
|
|||
|
||||
PROCEDURE CStuff(Which,How: Byte; VAR User: UserRecordType);
|
||||
VAR
|
||||
Try: Byte;
|
||||
Trys: Byte;
|
||||
Done,
|
||||
Done1: Boolean;
|
||||
|
||||
|
@ -336,10 +336,10 @@ VAR
|
|||
BEGIN
|
||||
NL;
|
||||
Print(^G'^7Sorry, can''t use that name.^1');
|
||||
Inc(Try);
|
||||
Inc(Trys);
|
||||
sl1('Unacceptable Name : '+s);
|
||||
END;
|
||||
IF (Try >= 3) AND (How = 1) THEN
|
||||
IF (Trys >= 3) AND (How = 1) THEN
|
||||
HangUp := TRUE;
|
||||
|
||||
IF ((Done) AND (How = 1) AND (NOT General.AllowAlias)) THEN
|
||||
|
@ -1011,7 +1011,7 @@ VAR
|
|||
END;
|
||||
|
||||
BEGIN
|
||||
Try := 0;
|
||||
Trys := 0;
|
||||
Done1 := FALSE;
|
||||
CASE How OF
|
||||
1 : REPEAT
|
||||
|
@ -1026,4 +1026,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -689,7 +689,7 @@ END;
|
|||
PROCEDURE DoDoorFunc(DropFileType: Char; MenuOption: Str50);
|
||||
VAR
|
||||
Answer: AStr;
|
||||
ReturnCode: Integer;
|
||||
ReturnCode: SmallInt;
|
||||
DoorTime: LongInt;
|
||||
UseRealName: Boolean;
|
||||
BEGIN
|
||||
|
@ -769,4 +769,4 @@ BEGIN
|
|||
SysOpLog('Returned on '+DateStr+' at '+TimeStr+'. Spent '+FormattedTime(DoorTime));
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -16,12 +16,12 @@ PROCEDURE ExecWindow(VAR Ok: Boolean;
|
|||
CONST Dir,
|
||||
BatLine: AStr;
|
||||
OkLevel: Integer;
|
||||
VAR RCode: Integer);
|
||||
VAR RCode: SmallInt);
|
||||
PROCEDURE ExecBatch(VAR Ok: Boolean;
|
||||
Dir,
|
||||
BatLine: AStr;
|
||||
OkLevel: Integer;
|
||||
VAR RCode: Integer;
|
||||
VAR RCode: SmallInt;
|
||||
Windowed: Boolean);
|
||||
PROCEDURE Shel(CONST s: AStr);
|
||||
PROCEDURE Shel2(x: Boolean);
|
||||
|
@ -54,7 +54,7 @@ PROCEDURE ExecWindow(VAR Ok: Boolean;
|
|||
CONST Dir,
|
||||
BatLine: AStr;
|
||||
OkLevel: Integer;
|
||||
VAR RCode: Integer);
|
||||
VAR RCode: SmallInt);
|
||||
VAR
|
||||
SaveWindowOn: Boolean;
|
||||
SaveCurWindow: Byte;
|
||||
|
@ -156,7 +156,7 @@ PROCEDURE ExecBatch(VAR Ok: Boolean; { result }
|
|||
Dir: AStr; { directory takes place in }
|
||||
BatLine: AStr; { .BAT file line to execute }
|
||||
OkLevel: Integer; { DOS errorlevel for success }
|
||||
VAR RCode: Integer; { errorlevel returned }
|
||||
VAR RCode: SmallInt; { errorlevel returned }
|
||||
Windowed: Boolean); { Windowed? }
|
||||
VAR
|
||||
BatchFile: Text;
|
||||
|
@ -226,4 +226,4 @@ BEGIN
|
|||
LastScreenSwap := (Timer - 5);
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -229,7 +229,7 @@ BEGIN
|
|||
BEGIN
|
||||
NL;
|
||||
IF (NOT CopyMoveFile(NOT (IsFileAttach IN TransferFlags),
|
||||
+AOnOff(IsFileAttach IN TransferFlags,'^1Moving ... ','^1Copying ... '),
|
||||
AOnOff(IsFileAttach IN TransferFlags,'^1Moving ... ','^1Copying ... '),
|
||||
DownloadPath+SQOutSp(FileInfo.FileName),
|
||||
CopyPath+SQOutSp(FileInfo.FileName),TRUE)) THEN
|
||||
Include(TransferFlags,IsPaused);
|
||||
|
@ -1470,7 +1470,7 @@ BEGIN
|
|||
END;
|
||||
|
||||
TempStr := TempStr + AOnOff(ShowScan AND NewScanFileArea,'0'+ScanChar[1],' ')+
|
||||
PadLeftStr(PadRightStr('1'+IntToStr(CompFileArea(FArea,0)),5)+
|
||||
PadLeftStr(PadRightStr('1'+IntToStr(CompFileArea(FArea,0)),5)
|
||||
+'2 '+MemFileArea.AreaName,37)+' ';
|
||||
Inc(NumOnline);
|
||||
IF (NumOnLine = 2) THEN
|
||||
|
@ -1585,4 +1585,4 @@ BEGIN
|
|||
UnlistedDownload(PathFileName)
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT File11;
|
||||
|
@ -648,7 +648,7 @@ END;
|
|||
|
||||
PROCEDURE SearchFileAreaSpec(FArea: Integer; FName: Str12; VAR FArrayRecNum: Byte);
|
||||
VAR
|
||||
DirFileRecNum: Integer;
|
||||
DirFileRecNum: LongInt;
|
||||
Found: Boolean;
|
||||
BEGIN
|
||||
IF (FileArea <> FArea) THEN
|
||||
|
@ -776,7 +776,7 @@ PROCEDURE SearchFileAreaDescription(FArea: Integer; SearchString: Str20; VAR FAr
|
|||
VAR
|
||||
LineNum,
|
||||
NumExtDesc: Byte;
|
||||
DirFileRecNum: Integer;
|
||||
DirFileRecNum: LongInt;
|
||||
SearchStringFound,
|
||||
Found: Boolean;
|
||||
BEGIN
|
||||
|
@ -902,7 +902,7 @@ END;
|
|||
|
||||
PROCEDURE NewFileScan(FArea: Integer; Global: Boolean; VAR FArrayRecNum: Byte);
|
||||
VAR
|
||||
DirFileRecNum: Integer;
|
||||
DirFileRecNum: LongInt;
|
||||
Found: Boolean;
|
||||
BEGIN
|
||||
IF (FileArea <> FArea) THEN
|
||||
|
@ -1014,9 +1014,9 @@ PROCEDURE FileAreaChange(VAR Done: Boolean; CONST MenuOption: Str50);
|
|||
VAR
|
||||
InputStr: Str5;
|
||||
Cmd: Char;
|
||||
SaveFArea: Integer;
|
||||
FArea,
|
||||
SaveFArea,
|
||||
NumFAreas: Integer;
|
||||
NumFAreas: LongInt;
|
||||
SaveTempPause: Boolean;
|
||||
BEGIN
|
||||
IF (MenuOption <> '') THEN
|
||||
|
@ -1246,4 +1246,4 @@ BEGIN
|
|||
SysOpLog('Created temporary directory #'+IntToStr(FileArea)+' in "'+TempPath+'"');
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT File12;
|
||||
|
@ -370,9 +370,9 @@ VAR
|
|||
ProtocolNumber,
|
||||
SaveFArea,
|
||||
SaveFileArea,
|
||||
TempBULVTextSize: Integer;
|
||||
NumFAreas,
|
||||
FArea,
|
||||
TempBULVTextSize: Integer;
|
||||
TempVPointer,
|
||||
RecNum,
|
||||
RecNum1,
|
||||
|
@ -387,7 +387,7 @@ VAR
|
|||
|
||||
PROCEDURE UpFile;
|
||||
VAR
|
||||
GotPts: Integer;
|
||||
GotPts: LongInt;
|
||||
ConversionTime: LongInt;
|
||||
ArcOk,
|
||||
Convt: Boolean;
|
||||
|
@ -960,4 +960,4 @@ BEGIN
|
|||
END;
|
||||
|
||||
END.
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ PROCEDURE ExecProtocol(TextFN,
|
|||
Dir,
|
||||
BatLine: AStr;
|
||||
OKLevel: Integer;
|
||||
VAR ReturnCode: Integer;
|
||||
VAR ReturnCode: SmallInt;
|
||||
VAR TransferTime: LongInt);
|
||||
FUNCTION FindReturnCode(ProtCode: ProtocolCodeType; XBStat: PRFlagSet; ReturnCode: AStr): Boolean;
|
||||
FUNCTION DoProtocol(VAR Protocol: ProtocolRecordType; UL,DL,Batch,Resume: Boolean): Integer;
|
||||
|
@ -48,7 +48,7 @@ PROCEDURE ExecProtocol(TextFN,
|
|||
Dir,
|
||||
BatLine: AStr;
|
||||
OKLevel: Integer;
|
||||
VAR ReturnCode: Integer;
|
||||
VAR ReturnCode: SmallInt;
|
||||
VAR TransferTime: LongInt);
|
||||
VAR
|
||||
SaveSwapShell,
|
||||
|
@ -248,4 +248,4 @@ BEGIN
|
|||
DoProtocol := RecNum;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -106,7 +106,7 @@ VAR
|
|||
TSiz: LongInt;
|
||||
i,
|
||||
j: Byte;
|
||||
RetLevel: Integer;
|
||||
RetLevel: SmallInt;
|
||||
b,
|
||||
Ok: Boolean;
|
||||
BEGIN
|
||||
|
@ -801,4 +801,4 @@ BEGIN
|
|||
END;
|
||||
|
||||
END.
|
||||
|
||||
|
|
@ -99,12 +99,12 @@ VAR
|
|||
NumExtDesc,
|
||||
Counter,
|
||||
Counter1: BYTE;
|
||||
ReturnCode,
|
||||
SaveFileArea,
|
||||
DirFileRecNum,
|
||||
ProtocolNumber,
|
||||
SaveLastDirFileRecNum,
|
||||
ToXfer: Integer;
|
||||
ReturnCode: SmallInt;
|
||||
RecNum,
|
||||
RecNum1,
|
||||
TransferTime: LongInt;
|
||||
|
@ -992,4 +992,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -333,7 +333,7 @@ TYPE
|
|||
END;
|
||||
VAR
|
||||
Totals: TotalsRecordType;
|
||||
ReturnCode,
|
||||
ReturnCode: SmallInt;
|
||||
ProtocolNumber: Integer;
|
||||
TransferTime: LongInt;
|
||||
BEGIN
|
||||
|
@ -549,7 +549,7 @@ PROCEDURE Receive(FileName: Str12;
|
|||
AddULBatch: Boolean;
|
||||
VAR TransferTime: LongInt);
|
||||
VAR
|
||||
ReturnCode,
|
||||
ReturnCode: SmallInt;
|
||||
ProtocolNumber: Integer;
|
||||
BEGIN
|
||||
UploadOk := TRUE;
|
||||
|
@ -604,4 +604,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT File9;
|
||||
|
@ -222,10 +222,10 @@ VAR
|
|||
InputStr: Str11;
|
||||
FirstFArea,
|
||||
LastFArea,
|
||||
FArea,
|
||||
NumFAreas,
|
||||
SaveFArea,
|
||||
SaveFileArea: Integer;
|
||||
FArea,
|
||||
NumFAreas: LongInt;
|
||||
SaveConfSystem,
|
||||
SaveTempPause: Boolean;
|
||||
|
||||
|
@ -417,4 +417,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT LineChat;
|
||||
|
@ -451,4 +451,4 @@ BEGIN
|
|||
MCIAllowed := SaveMCIAllowed;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Logon;
|
||||
|
@ -602,6 +602,7 @@ VAR
|
|||
RecNum1,
|
||||
I: Integer;
|
||||
Done,Loggedon,Ok,CmdNotHid,CmdExists: Boolean;
|
||||
UserNum :LongInt;
|
||||
BEGIN
|
||||
PrintF('PRESHUTL');
|
||||
GotName := FALSE;
|
||||
|
@ -756,6 +757,7 @@ VAR
|
|||
Ok,
|
||||
TooMuch,
|
||||
ACSUser: Boolean;
|
||||
UserNum: LongInt;
|
||||
BEGIN
|
||||
WasNewUser := FALSE;
|
||||
UserNum := -1;
|
||||
|
@ -1191,4 +1193,4 @@ BEGIN
|
|||
GetUser := FALSE;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Mail0;
|
||||
|
@ -855,11 +855,11 @@ VAR
|
|||
FSize: LongInt;
|
||||
BEGIN
|
||||
TagLine := '';
|
||||
IF (NOT Exist(General.lMultPath+'TAGLINE.PTR')) OR (NOT Exist(General.LMultPath+'TAGLINE.DAT')) THEN
|
||||
IF (NOT Exist(General.MultPath+'TAGLINE.PTR')) OR (NOT Exist(General.MultPath+'TAGLINE.DAT')) THEN
|
||||
SL1('* TAGLINE.PTR or TAGLINE.DAT file(s) do not exist!')
|
||||
ELSE
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.LMultPath+'TAGLINE.PTR');
|
||||
Assign(StrPointerFile,General.MultPath+'TAGLINE.PTR');
|
||||
Reset(StrPointerFile);
|
||||
FSize := FileSize(StrPointerFile);
|
||||
IF (FSize < 1) THEN
|
||||
|
@ -877,7 +877,7 @@ BEGIN
|
|||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
Assign(RGStrFile,General.LMultPath+'TAGLINE.DAT');
|
||||
Assign(RGStrFile,General.MultPath+'TAGLINE.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
TempTextSize := 0;
|
||||
|
@ -892,4 +892,4 @@ BEGIN
|
|||
GetTagLine := TagLine;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Mail1;
|
||||
|
@ -34,6 +34,7 @@ VAR
|
|||
InportFile: Text;
|
||||
InportFileOpen: Boolean;
|
||||
Escp: Boolean;
|
||||
MaxAvail: Integer;
|
||||
|
||||
PROCEDURE Anonymous(Offline: Boolean; VAR MHeader: MHeaderRec);
|
||||
VAR
|
||||
|
@ -2405,4 +2406,4 @@ BEGIN
|
|||
FreeMem(LinePtr,(MaxLines * 120));
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Mail2;
|
||||
|
@ -1400,4 +1400,4 @@ BEGIN
|
|||
LoadMsgArea(MsgArea);
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Mail3;
|
||||
|
@ -126,8 +126,8 @@ VAR
|
|||
MHeader: MHeaderRec;
|
||||
MsgTempStr: STRING;
|
||||
SaveReadMsgArea,
|
||||
Unum: Integer;
|
||||
TempTextSize: Word;
|
||||
Unum,
|
||||
TempPtr,
|
||||
TempPtr1: LongInt;
|
||||
ForwardOk,
|
||||
|
@ -312,11 +312,11 @@ VAR
|
|||
MHeader: MHeaderRec;
|
||||
MsgTxtStr: STRING;
|
||||
InputStr: Str5;
|
||||
MArea,
|
||||
NumMAreas,
|
||||
SaveMArea,
|
||||
NewMsgArea,
|
||||
SaveReadMsgArea: Integer;
|
||||
MArea,
|
||||
NumMAreas: LongInt;
|
||||
TempTextSize: Word;
|
||||
SaveConfSystem: Boolean;
|
||||
BEGIN
|
||||
|
@ -474,4 +474,4 @@ BEGIN
|
|||
InitMsgArea(SaveReadMsgArea);
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -82,7 +82,7 @@ BEGIN
|
|||
END;
|
||||
|
||||
TempStr := TempStr + AOnOff(ShowScan AND LastReadRecord.NewScan,':'+ScanChar[1],' ')+
|
||||
PadLeftStr(PadRightStr(';'+IntToStr(CompMsgArea(MArea,0)),5)+
|
||||
PadLeftStr(PadRightStr(';'+IntToStr(CompMsgArea(MArea,0)),5)
|
||||
+'< '+MemMsgArea.Name,37)+' ';
|
||||
Inc(NumOnline);
|
||||
IF (NumOnline = 2) THEN
|
||||
|
@ -482,4 +482,4 @@ BEGIN
|
|||
LastCommandOvr := TRUE;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -83,7 +83,8 @@ USES
|
|||
TimeBank,
|
||||
TimeFunc,
|
||||
Vote,
|
||||
OneLiner;
|
||||
OneLiner,
|
||||
Crt;
|
||||
|
||||
|
||||
(*
|
||||
|
@ -392,8 +393,11 @@ BEGIN
|
|||
UserColor(6);
|
||||
|
||||
UNTIL ((GotCmd) OR (HangUp));
|
||||
|
||||
{$IFDEF FPC}
|
||||
CursorOn;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
UserColor(1);
|
||||
|
||||
|
@ -1070,4 +1074,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -136,7 +136,7 @@ BEGIN
|
|||
Update_Screen;
|
||||
END;
|
||||
|
||||
PROCEDURE FindUser(VAR UserNum: Integer);
|
||||
PROCEDURE FindUser(VAR UserNum: LongInt);
|
||||
VAR
|
||||
User: UserRecordType;
|
||||
TempUserName: Str36;
|
||||
|
@ -263,4 +263,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Multnode;
|
||||
|
@ -1318,4 +1318,4 @@ BEGIN
|
|||
AllowContinue := FALSE;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
315
src/myio.pas
315
src/myio.pas
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R+,S-,V-}
|
||||
|
||||
UNIT MyIO;
|
||||
|
@ -13,6 +13,17 @@ TYPE
|
|||
WindowRec = ARRAY[0..8000] OF Byte;
|
||||
ScreenType = ARRAY [0..3999] OF Byte;
|
||||
Infield_Special_Function_Proc_Rec = PROCEDURE(c: Char);
|
||||
{$IFDEF LINUX}
|
||||
PChar = ^Char;
|
||||
SmallWord = System.Word;
|
||||
TscrCell = packed record
|
||||
Chr: Char;
|
||||
Att: Byte;
|
||||
end;
|
||||
TScrBuffer = array[0..$8000] of TScrCell;
|
||||
PScrBuffer = ^TScrBuffer;
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
CONST
|
||||
Infield_Seperators: SET OF Char = [' ','\','.'];
|
||||
|
@ -25,13 +36,19 @@ CONST
|
|||
Infield_Arrow_Exit_TypeDefs: BOOLEAN = FALSE;
|
||||
Infield_Normal_Exit_Keydefs: BOOLEAN = FALSE;
|
||||
Infield_Normal_Exited: BOOLEAN = FALSE;
|
||||
|
||||
{$IFDEF LINUX}
|
||||
MonitorType: Byte = 3; // REENOTE 3=CO80, a safe assumption I think
|
||||
{ScreenAddr: ScreenType ABSOLUTE $B800:$0000;}
|
||||
ScreenAddr: Byte = 3;
|
||||
{ Video modes }
|
||||
MON1 = $FE; { Monochrome, ASCII chars only }
|
||||
MON2 = $FD; { Monochrome, graphics chars }
|
||||
COL1 = $FC; { Color, ASCII chars only }
|
||||
COL2 = $FB; { Color, graphics chars }
|
||||
{$ENDIF}
|
||||
VAR
|
||||
Wind: WindowRec;
|
||||
{$IFDEF MSDOS}
|
||||
MonitorType: Byte ABSOLUTE $0000:$0449;
|
||||
ScreenAddr: ScreenType ABSOLUTE $B800:$0000;
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF WIN32}
|
||||
MonitorType: Byte = 3; // REENOTE 3=CO80, a safe assumption I think
|
||||
{$ENDIF}
|
||||
|
@ -49,14 +66,17 @@ VAR
|
|||
Infield_Special_Function_Keys,
|
||||
Infield_Arrow_Exit_Types,
|
||||
Infield_Normal_Exit_Keys: STRING;
|
||||
|
||||
{$IFDEF MSDOS}
|
||||
PROCEDURE Update_Logo(VAR Addr1,Addr2; BlkLen: Integer);
|
||||
{$IFDEF LINUX}
|
||||
ScreenBuffer: PScrBuffer;
|
||||
ScrGraphs: array[#00..#31] of Char;
|
||||
ScrMode: Integer;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
procedure Update_Logo(Data: Array of Char; OriginX, OriginY, DataLength: integer);
|
||||
{$IFNDEF MSDOS}
|
||||
PROCEDURE Update_Logo(Data: Array of Char; OriginX, OriginY, DataLength: integer);
|
||||
{$ENDIF}
|
||||
{$IFNDEF FPC}
|
||||
PROCEDURE CursorOn(b: BOOLEAN);
|
||||
{$ENDIF}
|
||||
PROCEDURE infield1(x,y: Byte; VAR s: AStr; Len: Byte);
|
||||
PROCEDURE Infielde(VAR s: AStr; Len: Byte);
|
||||
PROCEDURE Infield(VAR s: AStr; Len: Byte);
|
||||
|
@ -70,22 +90,78 @@ PROCEDURE Box(LineType,TLX,TLY,BRX,BRY: Integer);
|
|||
PROCEDURE SaveScreen(VAR Wind: WindowRec);
|
||||
PROCEDURE RemoveWindow(VAR Wind: WindowRec);
|
||||
PROCEDURE SetWindow(VAR Wind: WindowRec; TLX,TLY,BRX,BRY,TColr,BColr,BoxType: Integer);
|
||||
|
||||
{$IFDEF LINUX}
|
||||
procedure SysWrtCharStrAtt(CharStr: Pointer; Len, X, Y: SmallWord; var Attr: Byte);
|
||||
procedure SysTVShowBuf(Pos,Size: Integer);
|
||||
procedure TrmWriteString( Const InString : String );
|
||||
function ColorSequence(Attr,LastAttr:word):string;
|
||||
{$ENDIF}
|
||||
IMPLEMENTATION
|
||||
|
||||
USES
|
||||
Crt
|
||||
Crt,
|
||||
RPPort
|
||||
{$IFDEF WIN32}
|
||||
,RPScreen
|
||||
,VpSysLow
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
,Unix
|
||||
,SysUtils
|
||||
{$ENDIF}
|
||||
;
|
||||
|
||||
{$IFDEF WIN32}
|
||||
VAR
|
||||
SavedScreen: TScreenBuf;
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
Procedure TrmWriteString( Const InString : String );
|
||||
Begin
|
||||
WriteLn(Trim(InString));
|
||||
End;
|
||||
function ColorSequence(Attr,LastAttr:word):string;
|
||||
const
|
||||
// Color table
|
||||
ScrPalette: array[0..7] of Char = '04261537';
|
||||
Var
|
||||
Result: String;
|
||||
begin
|
||||
if Attr=LastAttr then
|
||||
Result:=''
|
||||
else
|
||||
begin
|
||||
Result:=#27'[';
|
||||
|
||||
if ((Attr xor LastAttr) and $80)<>0 then
|
||||
if Attr and $80=$80 then
|
||||
// + blink
|
||||
Result:=Result+'5;'
|
||||
else
|
||||
// - blink
|
||||
Result:=Result+'25;';
|
||||
|
||||
if ((Attr xor LastAttr) and $08)<>0 then
|
||||
if (Attr and $08)=$08 then
|
||||
// + bold
|
||||
Result:=Result+'1;'
|
||||
else
|
||||
// - bold
|
||||
Result:=Result+'22;';
|
||||
|
||||
// + foreground
|
||||
if ((Attr xor LastAttr) and $07)<>0 then
|
||||
Result:=Result+'3'+ScrPalette[Attr and $07]+';';
|
||||
|
||||
// + background
|
||||
if ((Attr xor LastAttr) and $70)<>0 then
|
||||
Result:=Result+'4'+ScrPalette[(Attr and $70) shr 4]+';';
|
||||
|
||||
Result[Length(Result)]:='m';
|
||||
end;
|
||||
|
||||
end;
|
||||
{$ENDIF}
|
||||
{$IFDEF MSDOS}
|
||||
PROCEDURE CursorOn(b: BOOLEAN); ASSEMBLER;
|
||||
ASM
|
||||
|
@ -650,7 +726,215 @@ BEGIN
|
|||
$1F);
|
||||
END;
|
||||
{$ENDIF}
|
||||
{$IFDEF WIN32}
|
||||
{$IFDEF LINUX}
|
||||
procedure SysWrtCharStrAtt(CharStr: Pointer; Len, X, Y: SmallWord; var Attr: Byte);
|
||||
var
|
||||
Src: PChar;
|
||||
Dst, I: LongInt;
|
||||
begin
|
||||
Src := CharStr;
|
||||
Dst := Y * ScreenWidth + X;
|
||||
|
||||
for I := 0 to Len - 1 do
|
||||
begin
|
||||
ScreenBuffer^[Dst + I].Chr := Src[I];
|
||||
ScreenBuffer^[Dst + I].Att := Attr;
|
||||
end;
|
||||
|
||||
SysTVShowBuf(Dst * 2, Len * 2);
|
||||
end;
|
||||
procedure SysTVShowBuf(Pos,Size: Integer);
|
||||
var
|
||||
Attr, LastAttr: Byte;
|
||||
Mode: Boolean;
|
||||
Reset_Wrap,
|
||||
Ctrl, Data: string;
|
||||
J, X, Y, X_STOP, Y_STOP, XLimit: Integer;
|
||||
NextLimit: Integer;
|
||||
NeedGotoXY: Boolean;
|
||||
ScrCursor: Boolean;
|
||||
begin
|
||||
if Odd(Pos) then
|
||||
begin
|
||||
Dec(Pos);
|
||||
Inc(Size);
|
||||
end;
|
||||
|
||||
if Odd(Size) then
|
||||
Inc(Size);
|
||||
|
||||
Pos:=Pos shr 1;
|
||||
Size:=Size shr 1;
|
||||
|
||||
if Size<=0 then Exit;
|
||||
if Pos+Size>ScreenWidth*ScreenHeight then
|
||||
Size:=ScreenWidth*ScreenHeight-Pos;
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(true);
|
||||
{$ENDIF}
|
||||
ScrCursor := true;
|
||||
if ScrCursor then
|
||||
TrmWriteString(#27'[?25l'#27'7') (* hide cursor, save state *)
|
||||
else
|
||||
TrmWriteString( #27'7'); (* save state *)
|
||||
|
||||
Y := Pos div ScreenWidth;
|
||||
X := Pos mod ScreenWidth;
|
||||
|
||||
Y_STOP := (Pos+Size) div ScreenWidth;
|
||||
X_STOP := (Pos+Size) mod ScreenWidth;
|
||||
|
||||
Mode := False;
|
||||
Data := '';
|
||||
Reset_Wrap := '';
|
||||
|
||||
J := Pos;
|
||||
NeedGotoXY := True;
|
||||
|
||||
repeat
|
||||
if (X=X_STOP) and (Y=Y_STOP) then Break;
|
||||
|
||||
if NeedGotoXY then
|
||||
begin
|
||||
|
||||
if Data<>'' then
|
||||
begin
|
||||
TrmWriteString(Data);
|
||||
Data:='';
|
||||
end;
|
||||
|
||||
NeedGotoXY := False;
|
||||
// move Corsor to upper left start position
|
||||
Ctrl := #27'[' + IntToStr(Y + 1) + ';' + IntToStr(X + 1) + 'H';
|
||||
TrmWriteString(Ctrl);
|
||||
LastAttr := ScreenBuffer^[J].Att xor $ff;
|
||||
end;
|
||||
|
||||
if Y=Y_STOP then
|
||||
XLimit := X_STOP
|
||||
else
|
||||
XLimit := ScreenWidth;
|
||||
|
||||
while X < XLimit do
|
||||
begin
|
||||
|
||||
with ScreenBuffer^[J] do
|
||||
begin
|
||||
|
||||
(*** Attribute *****************************************)
|
||||
Attr := Att;
|
||||
|
||||
if Attr<>LastAttr then
|
||||
begin
|
||||
TrmWriteString(Data);
|
||||
Data:='';
|
||||
|
||||
TrmWriteString(ColorSequence(Attr, LastAttr));
|
||||
|
||||
LastAttr:=Attr;
|
||||
end; (* Attr<>LastAttr *)
|
||||
|
||||
|
||||
if J = NextLimit - 1 then
|
||||
if J =ScreenWidth*ScreenHeight-1 then
|
||||
begin
|
||||
Data := Data + #27'[7l'; (* autowrap off *)
|
||||
Reset_Wrap := #27'[7h'; (* autowrap on *)
|
||||
end;
|
||||
|
||||
(*** Character *****************************************)
|
||||
case Chr of
|
||||
#1..#6:
|
||||
begin
|
||||
if Mode then
|
||||
begin
|
||||
Data := Data + #27'(B'; (* select ISO-8859-1 *)
|
||||
Mode := False;
|
||||
end;
|
||||
|
||||
Data := Data + ScrGraphs[Chr];
|
||||
end;
|
||||
|
||||
#7..#31:
|
||||
begin
|
||||
if not (Mode or (ScrMode in [MON1,COL1])) then
|
||||
begin
|
||||
Data := Data + #27'(0'; (* select vt100 graphics *)
|
||||
Mode := True;
|
||||
end;
|
||||
|
||||
Data := Data + ScrGraphs[Chr];
|
||||
end;
|
||||
|
||||
#0, #$7f..#$9f:
|
||||
Data := Data + ' ';
|
||||
|
||||
else
|
||||
|
||||
if Mode then
|
||||
begin
|
||||
Data := Data + #27'(B'; (* select ISO-8859-1 *)
|
||||
Mode := False;
|
||||
end;
|
||||
|
||||
Data := Data + Chr;
|
||||
|
||||
end; (* case Chr *)
|
||||
|
||||
|
||||
if Length(Data) > 127 then
|
||||
begin
|
||||
TrmWriteString(Data);
|
||||
Data := '';
|
||||
end;
|
||||
|
||||
end; (* with ScrBuffer^[J] *)
|
||||
|
||||
Inc(J);
|
||||
Inc(X);
|
||||
|
||||
end; (* while J < NextLimit *)
|
||||
|
||||
(* next line reached ? *)
|
||||
if X=ScreenWidth then
|
||||
begin
|
||||
X:=0;
|
||||
Inc(Y);
|
||||
end;
|
||||
|
||||
(* optimize blank line ends *)
|
||||
if (Length(Data)>3) and (X=0) then
|
||||
if (Data[Length(Data)]=' ') and (Data[Length(Data)-1]=' ') and (Data[Length(Data)-2]=' ') then
|
||||
begin
|
||||
|
||||
while (Data<>'') and (Data[Length(Data)]=' ') do
|
||||
Dec(Data[0]);
|
||||
|
||||
Data := Data + #27'[K'; (* erase up to end of line *)
|
||||
|
||||
NeedGotoXY:=True;
|
||||
end;
|
||||
|
||||
until false; (* main lines loop *)
|
||||
|
||||
|
||||
if Mode then
|
||||
Data := Data + #27'(B'; (* select ISO-8859-1 *)
|
||||
|
||||
TrmWriteString(Data);
|
||||
|
||||
if ScrCursor then
|
||||
TrmWriteString(#27'[?25h'#27'8') (* show cursor, restore state *)
|
||||
else
|
||||
TrmWriteString( #27'8'); (* restore state *)
|
||||
|
||||
if Reset_Wrap<>'' then
|
||||
TrmWriteString(Reset_Wrap);
|
||||
end;
|
||||
{$ENDIF}
|
||||
{$IFNDEF MSDOS}
|
||||
procedure Update_Logo(Data: Array of Char; OriginX, OriginY, DataLength: integer);
|
||||
var
|
||||
i, x, y, count, counter: Integer;
|
||||
|
@ -704,5 +988,4 @@ begin
|
|||
end;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT NewUsers;
|
||||
|
@ -281,4 +281,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT Nodelist;
|
||||
|
@ -190,7 +190,7 @@ VAR
|
|||
Key: NodeType ABSOLUTE ALine;
|
||||
Desired: NodeType ABSOLUTE Desire;
|
||||
Count: Byte;
|
||||
K: Integer;
|
||||
K: Word;
|
||||
BEGIN
|
||||
Count := 0;
|
||||
REPEAT
|
||||
|
@ -649,4 +649,4 @@ BEGIN
|
|||
NL;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S-,V-}
|
||||
|
||||
UNIT OffLine;
|
||||
|
@ -1222,4 +1222,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,3 +1,4 @@
|
|||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
Unit OneLiner;
|
||||
|
||||
|
@ -317,4 +318,4 @@ Begin
|
|||
OneLiner_Add;
|
||||
End;
|
||||
|
||||
End.
|
||||
End.
|
|
@ -172,7 +172,7 @@ TYPE
|
|||
SecurityRangeType = ARRAY [0..255] OF LongInt; { Access tables }
|
||||
|
||||
UserIDXRec = { USERS.IDX : Sorted names listing }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
PACKED RECORD
|
||||
Name: STRING[36]; { the user's name }
|
||||
Number, { user number }
|
||||
Left, { Left node }
|
||||
|
@ -182,7 +182,7 @@ TYPE
|
|||
END;
|
||||
|
||||
UserRecordType = { USERS.DAT : User records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
PACKED RECORD
|
||||
Name, { system name }
|
||||
RealName: STRING[36]; { real name }
|
||||
|
||||
|
@ -292,7 +292,7 @@ TYPE
|
|||
Junked);
|
||||
|
||||
FromToInfo = { from/to information for mheaderrec }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Anon: Byte;
|
||||
UserNum: SmallWord; { user number }
|
||||
A1S: STRING[36]; { posted as }
|
||||
|
@ -305,7 +305,7 @@ TYPE
|
|||
END;
|
||||
|
||||
MHeaderRec =
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
From,
|
||||
MTO: FromToInfo; { message from/to info }
|
||||
Pointer: LongInt; { starting record OF text }
|
||||
|
@ -323,7 +323,7 @@ TYPE
|
|||
END;
|
||||
|
||||
HistoryRecordType = { HISTORY.DAT : Summary logs }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Date: UniXTime;
|
||||
Active,
|
||||
Callers,
|
||||
|
@ -340,7 +340,7 @@ TYPE
|
|||
END;
|
||||
|
||||
FileArcInfoRecordType = { Archive configuration records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Active: Boolean; { active or not }
|
||||
Ext: STRING[3]; { file extension }
|
||||
ListLine, { /x for internal; x: 1=ZIP, 2=ARC/PAK, 3=ZOO, 4=LZH }
|
||||
|
@ -359,7 +359,7 @@ TYPE
|
|||
MFlagSet = SET OF ModemFlagType;
|
||||
|
||||
LineRec =
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
InitBaud: LongInt; { initialization baud }
|
||||
ComPort: Byte; { COM port number }
|
||||
MFlags: MFlagSet; { status flags }
|
||||
|
@ -394,7 +394,7 @@ TYPE
|
|||
END;
|
||||
|
||||
ValidationRecordType =
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Key, { Key '!' to '~' }
|
||||
ExpireTo: Char; { validation level to expire to }
|
||||
Description: STRING[30]; { description }
|
||||
|
@ -412,7 +412,7 @@ TYPE
|
|||
END;
|
||||
|
||||
GeneralRecordType =
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
ForgotPWQuestion: STRING[70];
|
||||
|
||||
QWKWelcome, { QWK welcome file name }
|
||||
|
@ -428,7 +428,7 @@ TYPE
|
|||
TempPath, { TEMP path }
|
||||
ProtPath, { PROT path }
|
||||
ArcsPath, { ARCS path }
|
||||
lMultPath, { MULT path }
|
||||
MultPath, { MULT path }
|
||||
FileAttachPath, { directory for file attaches }
|
||||
QWKLocalPath, { QWK path for local usage }
|
||||
DefEchoPath, { default echomail path }
|
||||
|
@ -621,7 +621,7 @@ TYPE
|
|||
ARRAY [1..3] OF STRING[40]; { BBS comment files for archives }
|
||||
|
||||
Aka: ARRAY [0..20] OF
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD { 20 Addresses }
|
||||
Packed Record { 20 Addresses }
|
||||
Zone, { 21st is for UUCP address }
|
||||
Net,
|
||||
Node,
|
||||
|
@ -644,13 +644,13 @@ TYPE
|
|||
END;
|
||||
|
||||
ShortMessageRecordType = { SHORTMSG.DAT : One-line messages }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Msg: AStr;
|
||||
Destin: SmallInt;
|
||||
END;
|
||||
|
||||
VotingRecordType = { VOTING.DAT : Voting records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Question1, { Voting Question 1 }
|
||||
Question2: STRING[60]; { Voting Question 2 }
|
||||
ACS: ACString; { ACS required to vote on this }
|
||||
|
@ -659,7 +659,7 @@ TYPE
|
|||
CreatedBy: STRING[36]; { who created it }
|
||||
AddAnswersACS: ACString; { ACS required to add choices }
|
||||
Answers: ARRAY [1..25] OF
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Answer1, { answer description }
|
||||
Answer2: STRING[65]; { answer description #2 }
|
||||
NumVotedAnswer: SmallInt; { # user's who picked this answer }
|
||||
|
@ -683,7 +683,7 @@ TYPE
|
|||
MAFlagSet = SET OF MessageAreaFlagType;
|
||||
|
||||
MessageAreaRecordType = { MBASES.DAT : Message area records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Name: STRING[40]; { message area description }
|
||||
FileName: STRING[8]; { HDR/DAT data filename }
|
||||
MsgPath: STRING[40]; {Not Used} { messages pathname }
|
||||
|
@ -722,7 +722,7 @@ TYPE
|
|||
FAFlagSet = SET OF FileAreaFlagType;
|
||||
|
||||
FileAreaRecordType = { FBASES.DAT : File area records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
AreaName: STRING[40]; { area description }
|
||||
FileName: STRING[8]; { filename + ".DIR" }
|
||||
DLPath, { download path }
|
||||
|
@ -750,7 +750,7 @@ TYPE
|
|||
FIFlagSet = SET OF FileInfoFlagType;
|
||||
|
||||
FileInfoRecordType = { *.DIR : File records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
FileName: STRING[12]; { Filename }
|
||||
Description: STRING[50]; { File description }
|
||||
FilePoints: SmallInt; { File points }
|
||||
|
@ -765,7 +765,7 @@ TYPE
|
|||
END;
|
||||
|
||||
LastCallerRec = { LASTON.DAT : Last few callers records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Node: Byte; { Node number }
|
||||
UserName: STRING[36]; { User name OF caller }
|
||||
Location: STRING[30]; { Location OF caller }
|
||||
|
@ -815,7 +815,7 @@ TYPE
|
|||
EventDaysType = SET OF 0..6; {Set of event days}
|
||||
|
||||
EventRecordType = {Events - EVENTS.DAT}
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
EventDescription: STRING[30]; {Description of the Event}
|
||||
EventDayOfMonth: BYTE; {If monthly, the Day of Month}
|
||||
EventDays: EventDaysType; {If Daily, the Days Active}
|
||||
|
@ -850,7 +850,7 @@ TYPE
|
|||
ProtocolCodeType = ARRAY [1..6] OF STRING[6];
|
||||
|
||||
ProtocolRecordType = { PROTOCOL.DAT records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
PRFlags: PRFlagSet; { Protocol Flags }
|
||||
CKeys: STRING[14]; { Command Keys }
|
||||
Description: STRING[40]; { Description }
|
||||
|
@ -870,7 +870,7 @@ TYPE
|
|||
END;
|
||||
|
||||
ConferenceRecordType = { CONFRENC.DAT : Conference data }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Key: Char; { key '@' to 'Z' }
|
||||
Name: STRING[30]; { name of conference }
|
||||
ACS: ACString; { access requirement }
|
||||
|
@ -887,7 +887,7 @@ TYPE
|
|||
NodeFlagSet = SET OF NodeFlagType;
|
||||
|
||||
NodeRecordType = { MULTNODE.DAT }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
User: SmallWord; { What user number }
|
||||
UserName: STRING[36]; { User's name }
|
||||
CityState: STRING[30]; { User's location }
|
||||
|
@ -905,7 +905,7 @@ TYPE
|
|||
END;
|
||||
|
||||
RoomRec = { ROOM.DAT }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Topic: STRING[40]; { Topic OF this room }
|
||||
Anonymous: Boolean; { Is Room anonymous ? }
|
||||
Private: Boolean; { Is Room private ? }
|
||||
|
@ -914,13 +914,13 @@ TYPE
|
|||
END;
|
||||
|
||||
ScanRec = { *.SCN files / MESSAGES }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
NewScan: Boolean; { Scan this area? }
|
||||
LastRead: UnixTime; { Last date read }
|
||||
END;
|
||||
|
||||
SchemeRec = { Scheme.dat }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
Description: STRING[30]; { Description OF the color scheme }
|
||||
Color: ARRAY [1..200] OF Byte; { Colors in scheme }
|
||||
END;
|
||||
|
@ -938,7 +938,7 @@ TYPE
|
|||
}
|
||||
|
||||
BBSListRecordType = { *.BBS file records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
RecordNum, { Number OF the Record For Edit }
|
||||
UserID, { User ID OF person adding this }
|
||||
MaxNodes : LongInt; { Maximum Number Of Nodes }
|
||||
|
@ -994,7 +994,7 @@ TYPE
|
|||
CmdFlagSet = SET OF CmdFlagType;
|
||||
|
||||
MenuRec =
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
Packed Record
|
||||
LDesc: ARRAY [1..3] OF STRING[100]; { Menu Or Command Long Description ARRAY }
|
||||
ACS: ACString; { Access Requirements }
|
||||
NodeActivityDesc: STRING[50];
|
||||
|
@ -1016,4 +1016,4 @@ TYPE
|
|||
CKeys: STRING[14]; { Command Execution Keys }
|
||||
CmdKeys: STRING[2]; { Command Keys: Type OF Command }
|
||||
Options: STRING[50]); { MString: Command Data }
|
||||
END;
|
||||
END;
|
|
@ -7,9 +7,17 @@
|
|||
{$IFDEF MSDOS}
|
||||
{$M 35500,0,131072}
|
||||
{$ENDIF}
|
||||
{$MODE TP}
|
||||
{ }
|
||||
{ _______ __ }
|
||||
{ | _ .-----.-----.-----.-----.---.-.--| .-----. }
|
||||
{ |. l | -__| | -__| _ | _ | _ | -__| }
|
||||
{ |. _ |_____|__|__|_____|___ |___._|_____|_____| }
|
||||
{ |: | | |_____| }
|
||||
{ |::.|:. | }
|
||||
{ `--- ---' }
|
||||
{ }
|
||||
|
||||
{ R E N E G A D E }
|
||||
{ =============== }
|
||||
|
||||
{$A+} { Align Data for faster execution }
|
||||
{$B-} { Shortcut Boolean eval }
|
||||
|
@ -30,8 +38,6 @@
|
|||
PROGRAM Renegade;
|
||||
|
||||
USES
|
||||
OverLay,
|
||||
{ OvrUMB,}
|
||||
Crt,
|
||||
Dos,
|
||||
Boot,
|
||||
|
@ -51,7 +57,7 @@ USES
|
|||
NewUsers,
|
||||
OffLine,
|
||||
TimeFunc,
|
||||
WfCMenu;
|
||||
WfCMenu, rpport;
|
||||
|
||||
{$O MsgPack } {$O Common1 } {$O Common2 } {$O Common3 } {$O Boot }
|
||||
{$O WfcMenu } {$O Timefunc } {$O Sysop1 } {$O Sysop2 } {$O Offline }
|
||||
|
@ -87,7 +93,7 @@ VAR
|
|||
S: Astr;
|
||||
Counter: Byte;
|
||||
Counter1: Integer;
|
||||
BBSVersion: Astr;
|
||||
|
||||
|
||||
PROCEDURE ErrorHandle;
|
||||
VAR
|
||||
|
|
|
@ -5,13 +5,22 @@ unit RPScreen;
|
|||
|
||||
interface
|
||||
|
||||
{$IFDEF WIN32}
|
||||
uses
|
||||
Windows;
|
||||
|
||||
uses
|
||||
{$IFDEF WINDOWS}
|
||||
Windows;
|
||||
{$ELSE}
|
||||
Unix, SysUtils, Crt;
|
||||
{$ENDIF}
|
||||
type
|
||||
{$IFDEF FPC}
|
||||
TCharInfo = packed record
|
||||
Ch: char;
|
||||
Attr: byte;
|
||||
end;
|
||||
{$ENDIF}
|
||||
TScreenBuf = Array[1..25, 1..80] of TCharInfo; // REETODO Don't hardcode to 80x25
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
procedure RPBlockCursor;
|
||||
procedure RPGotoXY(xy: Word);
|
||||
|
@ -32,8 +41,9 @@ var
|
|||
StdOut: THandle;
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF WIN32}
|
||||
{$IFNDEF MSDOS}
|
||||
procedure RPBlockCursor;
|
||||
{$IFDEF WINDOWS}
|
||||
var
|
||||
CCI: TConsoleCursorInfo;
|
||||
begin
|
||||
|
@ -41,6 +51,12 @@ begin
|
|||
CCI.dwSize := 15;
|
||||
SetConsoleCursorInfo(StdOut, CCI);
|
||||
end;
|
||||
{$ELSE}
|
||||
begin
|
||||
cursorbig;
|
||||
end;
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
procedure RPGotoXY(xy: Word);
|
||||
var
|
||||
|
@ -154,4 +170,4 @@ end;
|
|||
BEGIN
|
||||
StdOut := GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
{$ENDIF}
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
UNIT STATS;
|
||||
|
||||
|
@ -172,7 +172,7 @@ END;
|
|||
PROCEDURE SearchTop20AreaFileSpec(FArea: Integer; VAR Top20File: Top20FileArray);
|
||||
VAR
|
||||
F: FileInfoRecordType;
|
||||
DirFileRecNum: Integer;
|
||||
DirFileRecNum: LongInt;
|
||||
BEGIN
|
||||
IF (FileArea <> FArea) THEN
|
||||
ChangeFileArea(FArea);
|
||||
|
@ -454,4 +454,4 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -92,4 +92,4 @@ BEGIN
|
|||
UNTIL (Cmd = 'Q') OR (HangUp);
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
270
src/sysop2a.pas
270
src/sysop2a.pas
|
@ -18,272 +18,6 @@ USES
|
|||
SysOp7,
|
||||
TimeFunc;
|
||||
|
||||
{
|
||||
RGSysCfgStr(1,FALSE)
|
||||
|
||||
$Main_BBS_Configuration
|
||||
%CL^5Main BBS Configuration:^1
|
||||
|
||||
^1A. BBS name/number : ^5%BN ^1(^5%BP^1)
|
||||
^1B. Telnet Url : ^5%TN
|
||||
^1C. SysOp's name : ^5%SN{15 ^1D. Renegade Version : ^5%VR
|
||||
^1E. SysOp chat hours : ^5%CS ^1F. Minimum baud hours : ^5%BL
|
||||
^1G. Regular DL hours : ^5%DH ^1H. Minimum baud DL hrs: ^5%BM
|
||||
^1I. BBS Passwords : ^1J. Pre-event warning : ^5%ET seconds
|
||||
^1K. System Menus : ^1L. Bulletin Prefix : ^5%PB
|
||||
^1M. MultiNode support: ^5%MN ^1N. Network mode : ^5%NM
|
||||
|
||||
^10. Main data files dir. : ^5%PD
|
||||
^11. Miscellaneous Files dir.: ^5%PM
|
||||
^12. Message file storage dir: ^5%P1
|
||||
^13. Nodelist (Version 7) dir: ^5%P2
|
||||
^14. Log files/trap files dir: ^5%PL
|
||||
^15. Temporary directory : ^5%PT
|
||||
^16. Protocols directory : ^5%PP
|
||||
^17. Archivers directory : ^5%P7
|
||||
^18. File attach directory : ^5%PF
|
||||
^19. RAM drive/MultiNode path: ^5%P3
|
||||
|
||||
Enter selection [^5A^4-^5N^4,^50^4-^59^4,^5Q^4=^5Quit^4]: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(2,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_BBS_Name
|
||||
%LFNew BBS name: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(3,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_BBS_Phone
|
||||
%LFNew BBS phone number: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(4,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Telnet_URL
|
||||
%LF^4New Telnet Url:%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(5,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_SysOp_Name
|
||||
%LFNew SysOp name: @
|
||||
$
|
||||
|
||||
RGNoteStr(0,FALSE)
|
||||
|
||||
$Internal_Use_Only
|
||||
%LF^7This is for internal use only.
|
||||
%PA
|
||||
$
|
||||
|
||||
RGNoteStr(1,FALSE)
|
||||
|
||||
$Only_Change_Locally
|
||||
%LF^7This can only be changed locally.
|
||||
%PA
|
||||
$
|
||||
|
||||
RGSysCfgStr(6,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_SysOp_Chat_Hours
|
||||
%LFDo you want to declare sysop chat hours? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(7,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Minimum_Baud_Hours
|
||||
%LFDo you want to declare hours people at the minimum baud can logon? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(8,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Download_Hours
|
||||
%LFDo you want to declare download hours? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(9,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Minimum_Baud_Download_Hours
|
||||
%LFDo you want to declare hours people at minimum baud can download? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(10,FALSE)
|
||||
|
||||
$Main_BBS_Configuration_SysOp_Password_Menu
|
||||
%CL^5System Passwords:^1
|
||||
|
||||
^1A. SysOp password : ^5%P4
|
||||
^1B. New user password : ^5%P5
|
||||
^1C. Baud override password: ^5%P6
|
||||
|
||||
Enter selection [^5A^4-^5C^4,^5Q^4=^5Quit^4]: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(11,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_SysOp_Password
|
||||
%LFNew SysOp password: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(12,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_New_User_Password
|
||||
%LFNew new-user password: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(13,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Baud_Override_Password
|
||||
%LFNew minimum baud rate override password: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(14,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Pre_Event_Time
|
||||
%LFNew pre-event warning time@
|
||||
$
|
||||
|
||||
RGSysCfgStr(15,FALSE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus
|
||||
%CL^5System Menus:^1
|
||||
|
||||
^11. Global : ^5%M1
|
||||
^12. All Start : ^5%M2
|
||||
^13. Shutle logon : ^5%M3
|
||||
^14. New user info: ^5%M4
|
||||
^15. Message Read : ^5%M5
|
||||
^16. File List : ^5%M6
|
||||
|
||||
Enter selection [^51^4-^56^4,^5Q^4=^5Quit^4]: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(16,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_Global
|
||||
%LFMenu for global commands (0=None)@
|
||||
$
|
||||
|
||||
RGSysCfgStr(17,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_Start
|
||||
%LFMenu to start all users at@
|
||||
$
|
||||
|
||||
RGSysCfgStr(18,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_Shuttle
|
||||
%LFMenu for shuttle logon (0=None)@
|
||||
$
|
||||
|
||||
RGSysCfgStr(19,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_New_User
|
||||
%LFMenu for new user information@
|
||||
$
|
||||
|
||||
RGSysCfgStr(20,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_Message_Read
|
||||
%LFMenu for message read@
|
||||
$
|
||||
|
||||
RGSysCfgStr(21,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_System_Menus_File_Listing
|
||||
%LFMenu for file listing@
|
||||
$
|
||||
|
||||
RGNoteStr(2,FALSE)
|
||||
|
||||
$Invalid_Menu_Number
|
||||
%LF^7Invalid menu number.
|
||||
%PA
|
||||
$
|
||||
|
||||
RGSysCfgStr(22,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Bulletin_Prefix
|
||||
%LFDefault bulletin prefix: @
|
||||
$
|
||||
|
||||
RGNoteStr(1,FALSE)
|
||||
|
||||
$Only_Change_Locally
|
||||
%LF^7This can only be changed locally.
|
||||
%PA
|
||||
$
|
||||
|
||||
RGSysCfgStr(23,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Local_Security
|
||||
%LFDo you want local security to remain on? @
|
||||
$
|
||||
|
||||
RGSysCfgStr(24,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Data_Path
|
||||
%LF^4New data files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(25,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Misc_Path
|
||||
%LF^4New miscellaneous files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(26,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Msg_Path
|
||||
%LF^4New message files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(27,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_NodeList_Path
|
||||
%LF^4New nodelist files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(28,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Log_Path
|
||||
%LF^4New sysop log files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(29,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Temp_Path
|
||||
%LF^4New temporary files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(30,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Protocol_Path
|
||||
%LF^4New protocol files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(31,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Archive_Path
|
||||
%LF^4New archive files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(32,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_Attach_Path
|
||||
%LF^4New file attach files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
RGSysCfgStr(33,TRUE)
|
||||
|
||||
$Main_BBS_Configuration_MultNode_Path
|
||||
%LF^4New multi-node files path (^5End with a ^4"^5\^4"):%LF^4: @
|
||||
$
|
||||
|
||||
}
|
||||
|
||||
PROCEDURE GetTimeRange(CONST RGStrNum: LongInt; VAR LoTime,HiTime: SmallInt);
|
||||
VAR
|
||||
TempStr: Str5;
|
||||
|
@ -414,7 +148,7 @@ BEGIN
|
|||
'6' : InputPath(RGSysCfgStr(30,TRUE),ProtPath,TRUE,FALSE,Changed);
|
||||
'7' : InputPath(RGSysCfgStr(31,TRUE),ArcsPath,TRUE,FALSE,Changed);
|
||||
'8' : InputPath(RGSysCfgStr(32,TRUE),FileAttachPath,TRUE,FALSE,Changed);
|
||||
'9' : InputPath(RGSysCfgStr(33,TRUE),lMultPath,TRUE,FALSE,Changed);
|
||||
'9' : InputPath(RGSysCfgStr(33,TRUE),MultPath,TRUE,FALSE,Changed);
|
||||
END;
|
||||
END;
|
||||
UNTIL (Cmd = 'Q') OR (HangUp);
|
||||
|
@ -424,4 +158,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -481,7 +481,7 @@ VAR
|
|||
CmdStr := '12345678'
|
||||
ELSE
|
||||
CmdStr := '12345678[]FJL';
|
||||
LOneK('%LFModify menu [^5?^4=^5Help^4]: ',Cmd1,'Q?'+CmdStr++^M,TRUE,TRUE);
|
||||
LOneK('%LFModify menu [^5?^4=^5Help^4]: ',Cmd1,'Q?'+CmdStr+^M,TRUE,TRUE);
|
||||
CASE Cmd1 OF
|
||||
'1' : REPEAT
|
||||
TempScheme1.Description := Description;
|
||||
|
@ -820,4 +820,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -159,7 +159,7 @@ VAR
|
|||
PrintACR('^15. Decompression cmdline : ^5'+DisplayArcStr(UnArcLine));
|
||||
PrintACR('^16. File testing cmdline : ^5'+DisplayArcStr(TestLine));
|
||||
PrintACR('^17. Add comment cmdline : ^5'+DisplayArcStr(CmtLine));
|
||||
PrintACR('^18. Errorlevel for success : ^5'++AOnOff(SuccLevel <> - 1,IntToStr(SuccLevel),'-1 (ignores)'));
|
||||
PrintACR('^18. Errorlevel for success : ^5'+AOnOff(SuccLevel <> - 1,IntToStr(SuccLevel),'-1 (ignores)'));
|
||||
END;
|
||||
IF (NOT Editing) THEN
|
||||
CmdStr := '12345678'
|
||||
|
@ -360,4 +360,4 @@ BEGIN
|
|||
UNTIL (Cmd = 'Q') OR (HangUp);
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -17,7 +17,11 @@ PROCEDURE TEdit(CONST FSpec: AStr);
|
|||
IMPLEMENTATION
|
||||
|
||||
USES
|
||||
Dos;
|
||||
Dos
|
||||
{$IFDEF LINUX}
|
||||
,Linux
|
||||
{$ENDIF}
|
||||
;
|
||||
|
||||
PROCEDURE TEdit1;
|
||||
VAR
|
||||
|
@ -68,6 +72,7 @@ VAR
|
|||
I: Integer;
|
||||
Done,
|
||||
AllRead: Boolean;
|
||||
MemAvail: Integer;
|
||||
|
||||
PROCEDURE InLi(VAR S1: AStr);
|
||||
VAR
|
||||
|
@ -177,7 +182,10 @@ VAR
|
|||
END;
|
||||
|
||||
FUNCTION NewPtr(VAR x: StrPtr): Boolean;
|
||||
Var
|
||||
MaxAvail : Integer;
|
||||
BEGIN
|
||||
MaxAvail := 2048;
|
||||
IF (Used <> NIL) THEN
|
||||
BEGIN
|
||||
x := Used;
|
||||
|
@ -560,4 +568,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D+,E-,F+,I-,L+,N-,O+,R-,S+,V-}
|
||||
UNIT SysOp9;
|
||||
|
||||
|
@ -119,7 +119,7 @@ VAR
|
|||
'T' : Add := AOnOff((MemFileArea.ArcType = 0),'*None*',General.FileArcInfo[MemFileArea.ArcType].Ext);
|
||||
END;
|
||||
'C' : CASE UpCase(S[Index + 2]) OF
|
||||
'T' : Add := +AOnOff((MemFileArea.CmtType = 0),'*None*',IntToStr(MemFileArea.CmtType));
|
||||
'T' : Add := AOnOff((MemFileArea.CmtType = 0),'*None*',IntToStr(MemFileArea.CmtType));
|
||||
END;
|
||||
'D' : CASE UpCase(S[Index + 2]) OF
|
||||
'D' : Add := MCIVars1.Drive;
|
||||
|
@ -178,14 +178,14 @@ VAR
|
|||
TotLoad: LongInt;
|
||||
Found: Boolean;
|
||||
BEGIN
|
||||
Assign(StrPointerFile,General.LMultPath+'FAEPR.DAT');
|
||||
Assign(StrPointerFile,General.MultPath+'FAEPR.DAT');
|
||||
Reset(StrPointerFile);
|
||||
Seek(StrPointerFile,StrNum);
|
||||
Read(StrPointerFile,StrPointer);
|
||||
Close(StrPointerFile);
|
||||
LastError := IOResult;
|
||||
TotLoad := 0;
|
||||
Assign(RGStrFile,General.LMultPath+'FAETX.DAT');
|
||||
Assign(RGStrFile,General.MultPath+'FAETX.DAT');
|
||||
Reset(RGStrFile,1);
|
||||
Seek(RGStrFile,(StrPointer.Pointer - 1));
|
||||
REPEAT
|
||||
|
@ -1263,4 +1263,4 @@ BEGIN
|
|||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
|
@ -1,7 +1,7 @@
|
|||
{$IFDEF WIN32}
|
||||
{$I DEFINES.INC}
|
||||
{$ENDIF}
|
||||
|
||||
{$MODE TP}
|
||||
{$A+,B-,D-,E-,F+,I-,L-,N-,O+,R-,S+,V-}
|
||||
|
||||
UNIT TimeFunc;
|
||||
|
@ -390,4 +390,4 @@ BEGIN
|
|||
END;
|
||||
|
||||
|
||||
END.
|
||||
END.
|
|
@ -11,7 +11,7 @@ Type
|
|||
UnixTime = Longint;
|
||||
|
||||
OldBBSListRecordType = { *.BBS file records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
PACKED RECORD
|
||||
RecordNum : LongInt; { Number OF the Record For Edit }
|
||||
UserID : LongInt; { User ID OF person adding this }
|
||||
BBSName : STRING[30]; { Name OF BBS }
|
||||
|
@ -34,7 +34,7 @@ Type
|
|||
END;
|
||||
|
||||
NewBBSListRecordType = { New *.BBS file records }
|
||||
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
||||
PACKED RECORD
|
||||
RecordNum, { Number OF the Record For Edit }
|
||||
UserID, { User ID OF person adding this }
|
||||
MaxNodes : LongInt; { Maximum Number Of Nodes }
|
||||
|
@ -87,9 +87,9 @@ Var
|
|||
Old : String;
|
||||
Begin
|
||||
GetDir(0,BBSListDat);
|
||||
BBSListDat := BBSListDat+'\DATA\BBSLIST.DAT';
|
||||
BBSListDat := BBSListDat+'/DATA/BBSLIST.DAT';
|
||||
GetDir(0,Old);
|
||||
Old := Old+'\DATA\BBSLIST.OLD';
|
||||
Old := Old+'/DATA/BBSLIST.OLD';
|
||||
If Exist(Old) Then
|
||||
Begin
|
||||
WriteLn;
|
||||
|
@ -127,7 +127,7 @@ Begin { Main Program }
|
|||
|
||||
BBSListDat := GetDataFile; { Get BBSLIST.DAT or Quit }
|
||||
|
||||
TempFile := 'DATA\BBSTEMP.DAT';
|
||||
TempFile := 'DATA/BBSTEMP.DAT';
|
||||
|
||||
Assign(OldBBSFile, BBSListDat);
|
||||
Assign(BBSFile, TempFile);
|
||||
|
@ -181,15 +181,15 @@ WriteLn;
|
|||
TextColor(3);
|
||||
Write(' Copying ');
|
||||
TextColor(11);
|
||||
Write(Dir,'\DATA\BBSLIST.DAT ');
|
||||
Write(Dir,'/DATA/BBSLIST.DAT ');
|
||||
TextColor(3);
|
||||
Write('to ');
|
||||
TextColor(11);
|
||||
Write(Dir,'\DATA\BBSLIST.OLD ');
|
||||
Write(Dir,'/DATA/BBSLIST.OLD ');
|
||||
TextColor(3);
|
||||
Write('...');
|
||||
|
||||
Rename(OldBBSFile,Dir+'\DATA\BBSLIST.OLD');
|
||||
Rename(OldBBSFile,Dir+'/DATA/BBSLIST.OLD');
|
||||
|
||||
TextColor(3);
|
||||
WriteLn(' Done!');
|
||||
|
@ -197,15 +197,15 @@ WriteLn(' Done!');
|
|||
TextColor(3);
|
||||
Write(' Moving ');
|
||||
TextColor(11);
|
||||
Write(Dir,'\DATA\BBSTEMP.DAT ');
|
||||
Write(Dir,'/DATA/BBSTEMP.DAT ');
|
||||
TextColor(3);
|
||||
Write('to ');
|
||||
TextColor(11);
|
||||
Write(Dir,'\DATA\BBSLIST.DAT ');
|
||||
Write(Dir,'/DATA/BBSLIST.DAT ');
|
||||
TextColor(3);
|
||||
Write('...');
|
||||
|
||||
Rename(BBSFile,Dir+'\DATA\BBSLIST.DAT');
|
||||
Rename(BBSFile,Dir+'/DATA/BBSLIST.DAT');
|
||||
|
||||
TextColor(3);
|
||||
WriteLn(' Done!');
|
||||
|
@ -214,4 +214,4 @@ WriteLn;
|
|||
Close(OldBBSFile);
|
||||
Close(BBSFile);
|
||||
|
||||
End.
|
||||
End.
|
|
@ -414,7 +414,12 @@ BEGIN
|
|||
Window(1,1,MaxDisplayCols,MaxDisplayRows);
|
||||
LastWFCX := 1;
|
||||
LastWFCY := 1;
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
ClrScr;
|
||||
IF (AnswerBaud > 0) THEN
|
||||
Exit;
|
||||
|
@ -639,14 +644,14 @@ VAR
|
|||
VAR
|
||||
s: AStr;
|
||||
C: Char;
|
||||
try: Integer;
|
||||
trys: Integer;
|
||||
rl,
|
||||
rl1: LongInt;
|
||||
done: Boolean;
|
||||
BEGIN
|
||||
C := #0;
|
||||
done := FALSE;
|
||||
try := 0;
|
||||
trys := 0;
|
||||
IF ((Liner.Init <> '') AND (AnswerBaud = 0) AND (NOT LocalIOOnly)) THEN
|
||||
BEGIN
|
||||
IF (SysOpOn) AND (NOT BlankMenuNow) THEN
|
||||
|
@ -681,8 +686,8 @@ VAR
|
|||
END;
|
||||
UNTIL ((ABS(Timer - rl1) > 3) OR (done)) OR (KeyPressed);
|
||||
Com_Flush_Recv;
|
||||
Inc(try);
|
||||
IF (try > 10) THEN
|
||||
Inc(trys);
|
||||
IF (trys > 10) THEN
|
||||
Done := TRUE;
|
||||
UNTIL ((done) OR (KeyPressed));
|
||||
IF (SysOpOn) AND (NOT BlankMenuNow) THEN
|
||||
|
@ -769,7 +774,7 @@ VAR
|
|||
PROCEDURE ChkEvents;
|
||||
VAR
|
||||
EventNum: Byte;
|
||||
RCode: Integer;
|
||||
RCode: SmallInt;
|
||||
BEGIN
|
||||
IF (CheckEvents(0) <> 0) THEN
|
||||
FOR EventNum := 1 TO NumEvents DO
|
||||
|
@ -797,14 +802,24 @@ VAR
|
|||
' from node '+IntToStr(ThisNode));
|
||||
IF (EventIsShell IN EFlags) THEN
|
||||
BEGIN
|
||||
CursorOn(TRUE);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
EventLastDate := Date2PD(DateStr);
|
||||
Reset(EventFile);
|
||||
Seek(EventFile,(EventNum - 1));
|
||||
Write(EventFile,MemEventArray[EventNum]^);
|
||||
Close(EventFile);
|
||||
ShellDOS(FALSE,EventShellPath+'.BAT',RCode);
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
SL1('Returned from '+EventDescription+' on '+DateStr+' '+TimeStr);
|
||||
DoPhoneHangup(TRUE);
|
||||
InitModem;
|
||||
|
@ -812,7 +827,12 @@ VAR
|
|||
END
|
||||
ELSE IF (EventIsErrorLevel IN EFlags) THEN
|
||||
BEGIN
|
||||
CursorOn(TRUE);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
DoneDay := TRUE;
|
||||
ExitErrorLevel := EventErrorLevel;
|
||||
EventLastDate := Date2PD(DateStr);
|
||||
|
@ -820,7 +840,12 @@ VAR
|
|||
Seek(EventFile,(EventNum - 1));
|
||||
Write(EventFile,MemEventArray[EventNum]^);
|
||||
Close(EventFile);
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
END
|
||||
ELSE IF (EventIsSortFiles IN EFlags) THEN
|
||||
BEGIN
|
||||
|
@ -829,7 +854,12 @@ VAR
|
|||
Seek(EventFile,(EventNum - 1));
|
||||
Write(EventFile,MemEventArray[EventNum]^);
|
||||
Close(EventFile);
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
SortFilesOnly := TRUE;
|
||||
Sort;
|
||||
SortFilesOnly := FALSE;
|
||||
|
@ -843,7 +873,12 @@ VAR
|
|||
Seek(EventFile,(EventNum - 1));
|
||||
Write(EventFile,MemEventArray[EventNum]^);
|
||||
Close(EventFile);
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
PackAllBases;
|
||||
InitModem;
|
||||
WFCDraw;
|
||||
|
@ -855,7 +890,12 @@ VAR
|
|||
Seek(EventFile,(EventNum - 1));
|
||||
Write(EventFile,MemEventArray[EventNum]^);
|
||||
Close(EventFile);
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
|
||||
CheckFilesBBS;
|
||||
InitModem;
|
||||
WFCDraw;
|
||||
|
@ -891,7 +931,12 @@ BEGIN
|
|||
WFCMessage := 'Modem off hook - paging SysOp';
|
||||
Randomize;
|
||||
TextAttr := CurrentColor;
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(FALSE);
|
||||
{$ENDIF}
|
||||
|
||||
LastMinute := (Timer - 61);
|
||||
CheckForConnection := FALSE;
|
||||
|
||||
|
@ -1031,7 +1076,12 @@ BEGIN
|
|||
END;
|
||||
|
||||
C := UpCase(C);
|
||||
CursorOn(TRUE);
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
IF (NOT SysOpOn) THEN
|
||||
CASE C OF
|
||||
'Q' : BEGIN
|
||||
|
@ -1302,7 +1352,12 @@ BEGIN
|
|||
END;
|
||||
END;
|
||||
END;
|
||||
CursorOn(FALSE);
|
||||
{$IFDEF FPC}
|
||||
cursoroff;
|
||||
{$ELSE}
|
||||
CursorOn(false);
|
||||
{$ENDIF}
|
||||
|
||||
UNTIL ((InCom) OR (C = ' ') OR (DoneDay));
|
||||
|
||||
UploadKBytesToday := 0;
|
||||
|
@ -1354,11 +1409,16 @@ BEGIN
|
|||
WantOut := TRUE;
|
||||
|
||||
IF (WantOut) THEN
|
||||
{$IFDEF FPC}
|
||||
cursoron;
|
||||
{$ELSE}
|
||||
CursorOn(TRUE);
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
SaveGeneral(TRUE);
|
||||
|
||||
LastError := IOResult;
|
||||
END;
|
||||
|
||||
END.
|
||||
END.
|
Loading…
Reference in New Issue