Skip to content

Latest commit

 

History

History
87 lines (77 loc) · 2.18 KB

sysop21.pas

File metadata and controls

87 lines (77 loc) · 2.18 KB
 
Nov 18, 2000
Nov 18, 2000
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
(*****************************************************************************)
(*> <*)
(*> SYSOP21 .PAS - Written by Eric Oman <*)
(*> <*)
(*> SysOp functions: System Configuration Editor -- "1".."5" commands. <*)
(*> <*)
(*> <*)
(*****************************************************************************)
{$A+,B+,D-,E+,F+,I+,L+,N-,O+,R-,S+,V-}
unit sysop21;
interface
uses
crt, dos,
{rcg11172000 no overlay under Linux.}
{overlay,}
common;
procedure getsecrange(editing:astr; var sec:secrange);
implementation
procedure getsecrange(editing:astr; var sec:secrange);
var pag:byte;
c:char;
i,j,k:byte;
h:integer;
abort,next,done:boolean;
procedure showsecrange(beg:byte);
var s:astr;
i,j:byte;
k:integer;
begin
abort:=FALSE; next:=FALSE;
i:=0;
repeat
s:='';
for j:=0 to 7 do begin
k:=beg+i+j*20;
if (k<=255) then begin
s:=s+mn(k,3)+':'+mn(sec[k],5);
if (j<>7) then s:=s+' ';
end;
end;
printacr(s,abort,next);
inc(i);
until ((i>19) or (abort));
end;
begin
done:=FALSE; abort:=FALSE;
pag:=0;
repeat
cls;
sprint(#3#5+'Editing: '+editing);
nl;
showsecrange(pag);
nl;
prt('Range settings (S)et (T)oggle (Q)uit : ');
onek(c,'QST'^M);
case c of
'Q':done:=TRUE;
'S':begin
nl;
prt('From (0-255): ');
ini(i);
if (not badini) then begin
prt('To (0-255): ');
ini(j);
if ((not badini) and (j>=i)) then begin
prt('Value to set (0-32767): ');
inu(h);
if (not badini) then
for k:=i to j do sec[k]:=h;
end;
end;
end;
'T':if (pag=0) then pag:=160 else pag:=0;
end;
until ((done) or (hangup));
end;
end.