[Back to NETWORK SWAG index] [Back to Main SWAG index] [Original]
{
Program Name : Logged.Pas
Written By : Anonymous
E-Mail : nothing
Web Page : nothing
Program
Compilation : Turbo Pascal 5.0 or later
Program Description :
Program to check on WHO is logged to your superstation.
}
Program Logged;
Uses CRT,PRINTER,DOS,TENTOOLS; { tentools is ALSO in NETWORK.SWG }
TYPE
LTABRecIndex = Word;
LTABRec = Record
ChainPtr : LTABRecIndex;
NodeName : Array[1..15] of Char;
LoggedUser : Array[1..8] of Char;
Filler : Array[1..8] of Char;
end;
LTABHeader = Record
ChainPtr : LTABRecIndex;
NextFreeChain : LTABRecIndex; {Word Ptr}
end;
VAR
OutScreen : Text;
LTABOFS,LTABSEG : Word;
LTABPtr : ^LTABRec;
LTAB : Array[1..200] of ^LTabRec;
Head : ^LTABHeader;
I,J,LogTotal : Integer;
NextChain,Test : Word;
ChatLine : String;
ToNode : S12;
Begin
Assign(OutScreen,'');
LTABOFS:=PreConfig^.PCT_LTAB;
LTABSEG:=Seg(PreConfig^);
LTABPtr:=PTR(LTABSEG,LTABOFS);
Head:=PTR(LTABSEG,LTABOFS-4);
(*
Writeln(Head^.ChainPtr);
Writeln(Head^.NextFreeChain);
For I:=1 to 4 do
begin
Writeln(SEG(LTabPtr^),':',OFS(LTabPtr^),' ',LTabPtr^.ChainPtr);
Writeln(SEG(LTabPtr^),':',OFS(LTabPtr^)+2,' ',LTabPtr^.NodeName);
Writeln(SEG(LTabPtr^),':',OFS(LTabPtr^)+17,' ',LTabPtr^.LoggedUser);
Writeln(SEG(LTabPtr^),':',OFS(LTabPtr^)+25,' ',LTabPtr^.Filler);
LTABPtr:=PTR(LTABSEG,LTABOFS+(I*Sizeof(LTABRec)));
end;
*)
LogTotal:=0;
NextChain:=Head^.ChainPtr;
While (NextChain<>$FFFF) do
begin
LTAB[LogTotal+1]:=PTR(LTABSEG,NextChain);
Inc(LogTotal);
NextChain:=LTab[LogTotal]^.ChainPtr;
end;
ChatLine:='';
If LogTotal>0
then
begin
If ParamCount=0
then
begin
for I:=1 to LogTotal do with LTAB[I]^ do
Writeln(LoggedUser,' is Logged to you from ',NodeName);
end
else
begin
ChatLine:=ParamStr(1);
If ParamCount>1 then
for I:=2 to ParamCount do Chatline:=Chatline+' '+ParamStr(I);
For I:=1 to LogTotal do with LTAB[I]^ do
begin
For J:=1 to 12 do ToNode[J]:=NodeName[J];
ToNode[0]:=#12;
Write('Sending message to ',ToNode);
Test:=Chat(ToNode,Chatline);
If Test=0 then writeln(' successfully!')
else writeln(' unsuccessfully (Error: ',Test,')');
end;
end;
end
else Writeln('No Users Currently Logged to you...');
End.
[Back to NETWORK SWAG index] [Back to Main SWAG index] [Original]