Xpacket/XPACKSET.PAS

4561 lines
115 KiB
Plaintext
Raw Permalink Normal View History

2019-05-15 00:31:19 +02:00
{
Verteilung der Hilfe-Nummern und Textmarkierungen:
1 #SETUP# - Allgemeine Setup-Meldungen
>> Hilfen <<
2 #EDITOR# - Editor-Hilfe
3 #TNC# - TNC-Haupteinstellungen
4 #TNCINI# - TNC-Initialisierung
5 #TNCDeIni# - TNC-Deini
6 #DIRS# - Verzeichnisse
7 #VER# - Verschiedenes
8 #MAIL# - Mailframes
9 #RAM# - Speicheroptionen
10 #PRT# - Drucker
11 #BLIND# - Blindensetup
>> Auswahlen <<
15 #RESP# - Responses (ja, nein ...)
20 #TNCS# - TNC-Setup
21 #TNCI# - TNC-Ini/deini f<>r Setup
30 #DIRT# - Dir-Screen
40 #VERT# - Verschiedenes-Screen
50 #MAIL# - Mailframe-auswertung
60 #RAMT# - Speicher-Screen
70 #PRTT# - Druck-Screen
80 #BLINDT# - Blinden-Screen
90 - PERS<52>nliches
100 - SOUND
255 #MAIN# - Hauptmen<65>
}
Program XPackSet;
{-$Define Sound}
USES Dos, CRT, strings, XPSetTas
{$IFDEF Sound} {//db1ras}
, SBDet
{$ENDIF}
;
CONST
ConfigDat = 'CONFIG.XP';
MaxHilfeZeilen = 66;
kennst = 'XPacket-Configuration-File. Do NOT edit!';
Texte : array[0..26] of string[20] =
('#Nox#',
'#SETUP#', '#EDITOR#',
'#TNC#', '#TNCINI#',
'#TNCDEINI#','#DIRS#',
'#VER#', '#MAIL#',
'#RAM#', '#PRT#',
'#BLIND#', '#QUIET#',
'#RESP#', '#TNCS#',
'#TNCI#', '#DIRT#',
'#VERT#', '#MAILSC#',
'#RAMT#', '#PRTT#',
'#BLINDT#', '#PERST#',
'#PERSH#', '#MAIN#',
'#SOUND#', '#SOUNDH#');
ESC = #27;
maxhmenu=10;
maxtnc = 8;
x = 2;
xml =26;
yml =5;
xtnc =25;
ytnc =3;
ytid =4;
xtid =6;
xverz = 2;
yverz = 7;
yver = 3;
xver = 23;
xper = 17;
yper = 7;
xsp =27;
ysp =10;
ybld = 7;
xbld = 25;
xdr = 30;
ydr = 11;
xsn = 25;
ysn = 11;
y = 7;
nohhg = Darkgray;
highvg = black;
highhg = white;
specvg = white;
TNC_Art : Array[0..4] of String[4] =
('----',
'TNC2','TNC3','TFPC','FALC');
TYPE
str2=string[2];
str8=string[8];
str10=string[10];
str80=string[80];
str20=string[20];
str30=string[30];
str70=string[70];
strk = string[41];
TNC_Konf = Record {1.73/1.80}
Art : Byte; {tfpcx, tnc ....}
MaxKan : Byte;
NodeKan : Byte;
Identi : Str2;
Port : Byte;
Tickzeile : Boolean;
Com,
IRQ : Byte;
Adresse : Str8;
Baud : Longint;
AfuPort,
Fifo : Boolean;
MultiplexNr : Byte;
PortNam : str20;
IniA : array[1..16] of str30;
IniB : str70;
DIniA : array[1..16] of str30;
DIniB : str70;
TX_X0, {TNC-Command TX-Sperre AN}
TX_X1 : string[5];{TNC-Command TX-Sperre AUS}
TX_Bundle : Byte; {B<>ndel-Nummer um f<>r mehrere Antennen Sets zuzulassen}
end;
QuietZeit = Record
StdAnf, MinAnf,
StdEnd, MinEnd : Byte;
Aktiv : boolean;
end;
QuietZeiten = Array[1..3] of QuietZeit;
Sich_Rec18 = Record
QSOAblauf,
Dateien,
User,
Shutdown : Boolean;
end;
Konfig_Rec = Record {1.74}
kenner: strk;
TNC : array[1..MaxTnc] of TNC_KONF;
RemVerz,
SavVerz,
MailVerz : String;
Teil1 : byte;
RunVerz,
BinVerz,
SPlVerz,
MakVerz,
ViewVerz,
EditVerz,
SPKVerz,
TempVerz : str80;
Teil5 : byte;
CDRom : Char;
ZeitBez : str8;
UTCDiff : integer;
teil2 : byte;
UTCBenutzen,
Echtzeit : Boolean;
PopupZeit : integer;
LockIRQ : Boolean;
SichAbfr : Boolean;
IDLE : Boolean;
ScrSavZ : Byte;
PromptS : Str30;
NTimeOut,
TTimeOut,
MaxFrameStd,
PacLenStd,
MaxNodes,
Lifetime : integer;
Teil4 : byte;
version : integer;
QuietDH,
QuietZG : Boolean;
QuietZt : QuietZeiten;
MH : Byte;
BackScRam : Byte;
VorschZRam: Byte;
BufferDat : Boolean;
LPTNr : Byte;
LPTAdr : Str8;
SoftHardC,
WinRout : Boolean;
WinRoutTime: Byte;
RXBeepStart,
AchzigBrail,
Steuerz,
MarkTon,
AusgabeBios: Boolean;
Teil3 : Byte;
MailFErl : Boolean;
MailFrame : array[1..10] of str10;
OwnMailFr : Boolean;
OwnMailPfad: String[50];
MailFrameZeit : Byte;
PersName,
PersQTH : string[30];
PersLoc : string[10];
CBFilter : Boolean;
ReqNam : Boolean;
NodeSound : Boolean;
MaxLoginUser : Byte;
Sicherheit : Sich_Rec18;
WavOut, MidiOut, WavSprach, bool4, bool5, bool6 : boolean;
BackupTime, SBHiDMA, SBLoDMA, SBIRQ, byte5, byte6 : byte;
MidiADR, SBBaseADR, word3, word4, word5, word6 : word;
end;
Screen = ARRAY [1..2000] OF
RECORD
Zeichen : CHAR;
Attribut : BYTE;
END;
BildZeiger = ^Screen;
TextPuffer_ = array[1..65000] of char;
VAR
CBFilterStatus:boolean;
BreakStatus:boolean;
TextPuffer : ^textPuffer_;
TextPuff:Pchar;
PufferLang,
Result : word;
RespT : array [1..5] of string[10];
HelpNr:integer;
HelpB : array[1..60] of String[77];
HilfeThemen : array [1..120] of LongINt;
HZeil:integer;
helpeditor,
HelpSETUP : Array[1..52] of String[77];
RespN,
HEditorN,
HSetupN: byte;
HMenN:byte;
HDAT:file;
BDAT:file of byte;
Datei: File of Konfig_Rec;
dateiw: file of byte;
datsize:longint;
Register:Registers;
HMIt : Array[1..maxhmenu] of string[25];
cen,can,cse,
CursorEnde, CursorAnf, CursorSeite : Word;
Konfig12:Konfig_Rec;
Konfig : Konfig_Rec;
i : Integer;
S : String;
Mono : Screen ABSOLUTE $B000 : 0000;
Color : Screen ABSOLUTE $B800 : 0000;
ch:char;
confok,
HilfeRSaved:boolean;
Bildspeicher,
Rahmen,
HilfeRahmen,
EditorHilfe,
HauptMenu : BildZeiger;
Item:Byte;
Tau:Byte;
dirs:boolean;
HelpDatDa : Boolean;
Function int_str (i : LongInt) : Str10;
Var Hstr : String[10];
Begin
str(i,Hstr);
int_str := Hstr;
End;
Function Hex (Dezimal : LongInt; Stellenzahl : Byte) : Str8;
Const HexChars : Array [0..15] of Char = ('0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F');
Var Stelle : Byte;
Begin
if (Stellenzahl > 8) then Stellenzahl := 8;
Hex := ' ';
Hex[0] := Chr(Stellenzahl);
for Stelle := Stellenzahl downto 1 do
begin
Hex[Stelle] := HexChars[Dezimal and $0F];
Dezimal := Dezimal shr 4;
end;
End;
function UpC(Zeile:string):string;
var z:byte;
uz:string;
begin
uz:='';
for z:=1 to length(zeile) do
uz:=uz+upcase(zeile[z]);
upc:=uz;
end;
Function EndFill(MaxZ : Byte; Zch : Char; FillSt : string) : string;var ifi:byte;
begin
while length(FillSt)<MaxZ do
begin
FillSt:=FillSt+Zch;
end;
EndFill:=FillSt;
end;
Procedure IThema (Kap : LongInt);
var Zaehler:longint;
Hstr:string[77];
begin
HZeil:=0;
Zaehler:=0;
{ repeat
Readln(hdat,hstr);
inc(Zaehler);
until (Zaehler=HilfeThemen[kap]) or (EOF(HDat));
if not EOF(Hdat) then}
Zaehler:=HilfeThemen[kap];
while TextPuffer^[Zaehler]<>#13 do inc(Zaehler);
inc(Zaehler);
repeat
{ Readln(hdat,hstr);}
hstr:='';
while TextPuffer^[Zaehler]<>#13 do
begin
inc(Zaehler);
if TextPuffer^[Zaehler]<>#13 then Hstr:=Hstr+TextPuffer^[zaehler];
end;
inc(Zaehler);
if (Pos('#END#',Upc(Hstr))<>1) and (Pos('#REM',Upc(hstr))<>1) then
begin
case KAP of
20: begin
inc(HZeil);
if hzeil<20 then HelpB[HZeil]:=EndFill(25,' ',Hstr)
else HelpB[HZeil]:=EndFill(16,' ',Hstr);
end;
21: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(25,' ',Hstr);
end;
30: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(18,' ',Hstr);
end;
40: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(25,' ',Hstr);
end;
50: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(22,' ',Hstr);
end;
60: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(25,' ',Hstr);
end;
70: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(15,' ',Hstr);
end;
80: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(25,' ',Hstr);
end;
90: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(15,' ',Hstr);
end;
100: begin
inc(HZeil);
HelpB[HZeil]:=EndFill(24,' ',Hstr);
end;
else begin
inc(Hzeil);
HelpB[hzeil]:=hstr;
end;
end;
end;
until (upc(HStr)='#END#');
end;
Procedure Alarm;
begin
sound(1400);delay(20);nosound;
end;
PROCEDURE Warte (HdstlSec : WORD);
VAR wi : INTEGER;
wstd1, wmin1, wsec1, wsec1001 : Word;
wstd2, wmin2, wsec2, wsec1002 : Word;
wrsec, wrstd, wrmin, wrsec100 : word;
BEGIN
GETTIME (wstd1, wmin1, wsec1, wsec1001);
wrsec100 := 0;
wi := 0;
WHILE wrsec100 < HdstlSec DO
BEGIN
wi := wi + 1;
GETTIME (wstd2, wmin2, wsec2, wsec1002);
wrstd := wstd2 - wstd1;
wmin2 := wmin2 + (wrstd * 60);
wrmin := wmin2 - wmin1;
wsec2 := wsec2 + (wrmin * 60);
wrsec := wsec2 - wsec1;
wsec1002 := wsec1002 + (wrsec * 100);
wrsec100 := wsec1002 - wsec1001;
END;
END;
Function GDir : String;
var d:byte;
pf:string;
begin
{ Getdir(0,p);}
PF:=ParamStr(0);
while ((PF[length(PF)]<>'\') and (PF<>'')) do
begin
delete(PF,length(PF),1);
end;
if PF[length(PF)]='\' then delete(PF,length(PF),1);
GDir:=PF;
end;
Function SubExists (Name : string;EVVerz:Boolean) : boolean;
var Datei : Text;
sex : boolean;
begin
if not EVVerz then Name := Name + '\$$TEST$$.$$$';
Assign(Datei,Name);
{$I-} if not evverz then Rewrite(Datei) else reset(Datei); {$I+}
if IOResult = 0 then
begin
close(Datei);
if not evverz then erase(Datei);
SEx := true;
end else SEx := false;
SubExists:=sex;
end;
Procedure RenDir (ODirSt, NDirSt : string);
var df : file;
begin
assign (df, OdirSt);
rename(df, NdirSt);
end;
function MDir(Pfad:string; EVVerz:Boolean) : boolean;
begin
if not subexists(Pfad, EVVerz) then
begin
{$I-}
{ Get directory name from command line }
MkDir(pfad);
if IOResult <> 0 then
begin
WriteLn(helpSetup[18]+': ',Pfad);
mdir:=false;
end
else
begin
WriteLn(helpSetup[19]+': ', Pfad);
mdir:=true;
end;
end else writeln(helpSetup[20]+': ', Pfad);
end;
FUNCTION FarbMon : BOOLEAN;
VAR Regs_ : REGISTERS;
BEGIN
INTR ($11, Regs_);
IF Regs_.ax AND $30 = $30 THEN
FarbMon := FALSE
ELSE
FarbMon := TRUE;
END;
{*****************************************************}
Function Balken(AnzZ:Byte;Zc:char):String;
var blk:string;
blz:byte;
begin
blk:='';
for blz:=1 to AnzZ do
blk:=blk+Zc;
Balken:=blk;
end;
PROCEDURE SaveBild (VAR Bild : BildZeiger);
BEGIN
IF FarbMon THEN
Bild^ := Color
ELSE
Bild^ := Mono;
END;
{*****************************************************}
PROCEDURE LadeBild (Bild : BildZeiger);
BEGIN
IF FarbMon THEN
Color := Bild^
ELSE
Mono := Bild^;
END;
PROCEDURE CursorTest;
BEGIN
Register.ah := $0F;
INTR ($10, Register);
CursorSeite := Register.BH;
Register.ah := $03;
Register.BH := CursorSeite;
INTR ($10, Register);
CursorAnf := Register.ch;
CursorENDe := Register.cl;
END;
{*****************************************************}
PROCEDURE CursorAus;
VAR Register : REGISTERS;
BEGIN
Register.ah := $01;
Register.BH := CursorSeite;
Register.ch := $20;
Register.cl := $0;
INTR ($10, Register);
END;
{*****************************************************}
PROCEDURE CursorEin;
VAR Register : REGISTERS;
BEGIN
Register.ah := $01;
Register.ch := CursorAnf;
Register.cl := CursorENDe;
Register.BH := CursorSeite;
INTR ($10, Register);
END;
PROCEDURE CursorBlock;
VAR Register : REGISTERS;
BEGIN
Register.ah := $01;
CursorAnf := 1;
CursorENDe := 7;
IF NOT FarbMon THEN
CursorENDe := 13;
Register.ch := CursorAnf;
Register.cl := CursorENDe;
INTR ($10, Register);
END;
{*****************************************************}
PROCEDURE CursorStrich;
VAR Register : REGISTERS;
BEGIN
Register.ah := $01;
CursorAnf := 6;
CursorENDe := 7;
IF NOT FarbMon THEN
BEGIN
CursorAnf := 12;
CursorENDe := 13;
END;
Register.ch := CursorAnf;
Register.cl := CursorENDe;
INTR ($10, Register);
END;
{*****************************************************}
PROCEDURE FARBE (Vorn, Hinten : BYTE);
BEGIN
TEXTCOLOR (Vorn);
TEXTBACKGROUND (Hinten);
END;
PROCEDURE TextZent (Txt : STRING;
xl, xr, y : INTEGER);
VAR
j, k, i, xmax : INTEGER;
BEGIN
xmax := xr - xl;
i := LENGTH (Txt);
j := xmax - i;
j := j DIV 2;
GOTOXY (xl + j, y);
WRITE (Txt);
END;
Function MakeString(Zahl:Integer) : String;
var mst:string;
begin
str(Zahl, MSt);
Makestring:=mst;
end;
Function MakeInt(Zch:string) : integer;
var Za, feh: integer;
begin
val(Zch, Za, feh);
MakeInt:=za;
end;
PROCEDURE Help(Edit : Boolean; VorHelp:Integer);
const yh=1;
var tsa :char;
min, max, ordnung,
ih :byte;
Hscreen,
raus :boolean;
begin
min:=1;
{case ih of
3: begin
Ordnung:=HTNCN
end;
4: ordnung:=HTncIniN;
5: ordnung:=htncdeinin;
6: ordnung:=hdirsn;
7: ordnung:=HverN;
8: ordnung:=hmailN;
9: ordnung:=hramn;
10: ordnung:=hprtn;
11: ordnung:=hblindN;
12: ordnung:=hquietN;
end;}
Hscreen:=true;
cursoraus;
SaveBild(EditorHilfe);
farbe(highvg,highhg);
IThema(HelpNr);
HelpB[hzeil+1]:='';
if Edit then
begin
max:=HZeil;
for ordnung:=1 to HEditorN do
HelpB[Hzeil+ordnung+1]:=HelpEditor[ordnung];
HZeil:=max+HEditorN+1;
end;
ordnung:=HZeil;
max:=ordnung;
if ordnung>22 then max:=22;
if not HilfeRSaved then
begin
gotoxy(1,1);
write('<27>'+BAlken(78,'<27>')+'<27>');
for ih:=1 to 22 do
write('<27>'+balken(78,' ')+'<27>');
write('<27>'+BAlken(78,'<27>')+'<27>');
textzent(' '+helpSetup[1]+' ',1,80,1);
SaveBild(HilfeRahmen);
HilfeRSaved:=true;
end else LadeBild(HilfeRahmen);
repeat
if Hscreen then
begin
window(1,1,80,25); gotoxy(1,24);
write('<27>'+BAlken(78,'<27>')+'<27>');
textzent(' '+helpSetup[3]+' ',1,80,24);
window(2,2,79,23); clrscr;
for ih:=min to max-1 do
writeln(helpb[ih]);
write(helpb[max]);
end;
tsa:=taste;
raus:=true;
Hscreen:=true;
case Tsa of
Pgdn: begin
if max<ordnung then
begin
min:=min+22;
max:=max+22;
if max>ordnung then max:=ordnung;
end else
begin
alarm;
HScreen:=false;
end;
end;
Pgup: begin
if min>1 then
begin
min:=min-22;
max:=min+21;
if max>ordnung then max:=ordnung;
end else
begin
alarm;
HScreen:=false;
end;
end;
end;
if (Tsa=PgUp) or (tsa=PgDn) then
begin
raus:=false;
{Hscreen:= not Hscreen; }
end;
until raus;
window(1,1,80,25);
if VorHelp<>0 then IThema(VorHelp);
LadeBild(EditorHilfe);
end;
PROCEDURE Editor(VAR Zeile:String;xe,ye,Stellen:Byte;Gross,spaces:Boolean;VAR T:Char;VH:integer);
var xpo : integer;
zeilang : integer;
einfuegen,
korrekt : boolean;
zaeh : integer;
hzeil : string;
begin
xpo:=1;
einfuegen:=false;
CursorBlock;
zeilang:=length(zeile);
Repeat
gotoxy(xe-1+xpo,ye);
t:=taste;
gotoxy(xe,ye);
korrekt:=false;
case t of
F1: begin
Help(true,VH);
gotoxy(xe-1+xpo,ye);
cursorein;
end;
Einf: begin
einfuegen := not einfuegen;
if einfuegen then CursorStrich else CursorBlock;
end;
cslt: begin
dec(xpo);
if xpo<1 then
begin
xpo:=1;
alarm
end;
end;
csrt: begin
inc(xpo);
if xpo>stellen then begin
xpo:=stellen;
alarm
end;
end;
Pos1: begin
xpo:=1;
end;
Ende: begin
if xpo<zeilang+1 then xpo:=zeilang+1;
if xpo>stellen then xpo:=stellen;
end;
#8: begin
if (xpo>1) and (zeilang<>0) then
begin
hzeil:='';
for zaeh:=1 to length(zeile) do
if zaeh<>xpo-1 then hzeil:=hzeil+Zeile[zaeh];
Zeile:=hzeil;
dec(xpo);
farbe(highvg,highhg);
gotoxy(xe,ye); write(zeile+' ');
dec(zeilang);
end else Alarm;
end;
Entf: begin
if (zeilang<>0) then
begin
hzeil:='';
for zaeh:=1 to length(zeile) do
if zaeh<>xpo then hzeil:=hzeil+Zeile[zaeh];
Zeile:=hzeil;
farbe(highvg,highhg);
gotoxy(xe,ye); write(zeile+' ');
dec(zeilang);
end else Alarm;
end;
end;
if (not spaces) and (T=#32) then t:=#1;
if (T in [#32..#126, #129..#165]) then
begin
if Gross then T:=Upcase(T);
if einfuegen then
begin
if ((xpo<=Stellen) and (zeilang<stellen)) then
begin
zeilang:=length(zeile);
if (einfuegen) and (zeilang>0) and (xpo<=zeilang) then
begin
hzeil:='';
for zaeh:=1 to zeilang do
begin
if zaeh=xpo then hzeil:=hzeil+t;
hzeil:=hzeil+zeile[zaeh];
end;
zeile:=hzeil;
end else zeile:=zeile+t;
farbe(highvg,highhg);
write(zeile);
inc(xpo);
inc(zeilang);
zeilang:=length(zeile);
end else alarm;
end; {if einfuegen}
if not einfuegen then
begin
if (zeilang<xpo) and (xpo<=stellen) then
begin
zeile:=zeile+t;
if xpo<stellen then inc(xpo);
zeilang:=length(zeile);
farbe(highvg,highhg);
write(zeile);
end
else begin
if xpo<=zeilang then zeile[xpo]:=t else alarm;
if xpo<stellen then inc(xpo);
farbe(highvg,highhg);
write(zeile);
end;
end;
if xpo>Stellen then xpo:=Stellen;
end;
Until T in [ESC, PgUp, PgDn, CR, CSDn, CSUp, TAB, Shift_Tab];
cursorstrich;
cursorAus;
end;
Procedure InitVar;
var tn:byte;
verz:string;
begin
verz:=gdir;
FillChar(Konfig,SizeOf(Konfig),0);
with Konfig do
begin
Kenner:=kennst;
for tn:=1 to maxtnc do
begin
if tn=1 then TNC[tn].Art :=1
else TNC[tn].Art :=0;
TNC[tn].MaxKan :=10;
TNC[tn].NodeKan :=0;
TNC[tn].Identi :='XP';
TNC[tn].Port := 0;
TNC[tn].Tickzeile :=false;
TNC[tn].Com :=1;
TNC[tn].IRQ :=4;
TNC[tn].Adresse :='3F8';
TNC[tn].Baud :=9600;
TNC[tn].Fifo :=False;
TNC[tn].MultiplexNr:=0;
tnc[tn].PortNam :='TNC-Port '+MakeString(tn);
TNC[tn].AfuPort :=false;
for i:=1 to 16 do tnc[tn].IniA[i]:='';
for i:=1 to 16 do tnc[tn].DIniA[i]:='';
tnc[tn].IniA[1]:='XP0TER';
tnc[tn].IniA[2]:='XP0NOD';
tnc[tn].IniA[3]:='C XP';
tnc[tn].IniA[4]:='@T3 30000';
tnc[tn].iniA[5]:='M UISC';
tnc[tn].iniA[6]:='W 10';
tnc[tn].iniA[7]:='F 300';
tnc[tn].iniA[8]:='T 25';
tnc[tn].iniA[9]:='@T2 150';
tnc[tn].iniA[10]:='P 80';
tnc[tn].iniA[11]:='N 20';
tnc[tn].iniA[11]:='X 1';
tnc[tn].IniB:='U 0';
tnc[tn].DIniB:='U 1 Sri, Terminal im DOS.';
end;
RemVerz:= Verz+'\REMOTE';
SavVerz:= Verz+'\SAVE';
MailVerz:= VErz+'\MAIL';
RunVerz:= Verz+'\RUN';
tempVerz:= Verz+'\TMP';
BinVerz:= Verz+'\BIN';
SPlVerz:= Verz+'\7PLUS';
MakVerz:= Verz+'\MAKRO';
ViewVerz:= Verz+'\VIEWER\VIEW.EXE';
EditVerz:= Verz+'\EDITOR\EDITOR.EXE';
spkverz:= verz+'\SPK';
CDRom := 'R';
ZeitBez := 'MEZ';
UTCDiff := -1;
UTCBenutzen:= false;
Echtzeit := true;
PopupZeit := 5;
LockIRQ := FALSE;
SichAbfr := TRUE;
IDLE := FALSE;
ScrSavZ := 5;
PromptS := '#CALL# de #MCAL#>';
NTimeOut := 30;
TTimeOut := 0;
MaxFrameStd := 2;
PacLenStd := 230;
MaxNodes := 30;
Lifetime := 90;
MH := 30;
BackScRam := 4;
VorschZRam := 20;
BufferDat := false;
LPTNr := 1;
LPTAdr := '3BC';
SoftHardC := false;
WinRout := false;
WinRoutTime := 1;
RXBeepStart := TRUE;
AchzigBrail := True;
Steuerz := True;
MarkTon := True;
AusgabeBios := FAlse;
MailFErl := true;
for i:=1 to 10 do MailFrame[i]:='';
MailFrame[1]:='MAIL';
OwnMailFr := True;
OwnMailPfad := 'MAIL';
MailFrameZeit := 60;
MaxLoginUser := 3;
ReqNam:=true;
quietDH:=false;
quietzg:=false;
for i:=1 to 3 do
begin
QuietZt[i].StdAnf:=12;
QuietZt[i].minanf:=0;
QuietZt[i].minend:=0;
QuietZt[i].Stdend:=12;
quietzt[i].aktiv:=false;
end;
PersName:='';
PersLoc:='';
PersQTH:='';
end;
end;
Procedure DirCheck;
begin
writeln;writeln;
farbe(white,black);
writeln(helpSetup[21]+':');
writeln;
with konfig do
begin
dirs:=mdir (RemVerz,false);
dirs:=mdir (SavVerz,false);
dirs:=mdir (MailVerz,false);
dirs:=mdir (RunVerz,false);
dirs:=mdir (BinVerz,false);
dirs:=mdir (splVerz,false);
dirs:=mdir (makVerz,false);
dirs:=mdir (TempVerz,false);
writeln;
writeln;
writeln(helpSetup[22]+':');
writeln;
if not SubExists(ViewVerz,true) then writeln(viewverz+' '+helpSetup[23]+'!')
else writeln(viewverz+' '+helpSetup[24]+'.');
if not SubExists(editVerz,true) then writeln(editverz+' '+helpSetup[23]+'!')
else writeln(editverz+' '+helpSetup[24]+'.');
end;
writeln;
end;
Procedure HMenu(VAR It:Byte; Var Tast:Char);
var italt:byte;
flagy:boolean;
begin
italt:=it;
Repeat
flagy:=false;
CursorAus;
farbe(white, black);
TextZent(Balken(25,' '),2,80,y+2+italt);
TextZent(HMIt[itAlt],2,80,y+2+italt);
italt:=it;
farbe(highvg, highhg);
TextZent(Balken(25,' '),2,80,y+2+it);
TextZent(HMIt[it],2,80,y+2+it);
if (Konfig.PersName='') or (Konfig.PersLoc='') or (Konfig.PersQTH='') then
begin
flagy:=true;
it:=9;
tast:=CR;
end;
if not flagy then Tast:=taste;
Case Tast Of
CsDn,
CsRt: It:=it+1;
CsUp,
CsLt: It:=It-1;
Pos1: It:=1;
Ende: It:=maxhmenu;
end;
if it>maxhmenu then it:=1;
if it<1 then it:=maxhmenu;
until (Tast=ESC) or (Tast=CR);
CursorEin;
end;
Procedure TNCIniDeini(Ini : Boolean);
var x, y:Byte;
Tast:char;
Eingabe:string;
Ausw:Byte;
Lang:Byte;
begin
eingabe:='';
farbe(white,Black);
clrscr;
ladebild(Rahmen);
if ini then begin
Textzent(helpSetup[10]+' '+MakeString(Tau),2,80,ytid-2);
textzent(endfill(length(helpSetup[10])+2,'<27>',eingabe),2,80,ytid-1);
farbe(Specvg, black);
textzent(helpSetup[8],2,80,23);
end
else begin
Textzent(helpSetup[11]+' '+MakeString(Tau),2,80,ytid-2);
textzent(endfill(length(helpSetup[11])+2,'<27>',eingabe),2,80,ytid-1);
farbe(Specvg, black);
textzent(helpSetup[8],2,80,23);
end;
farbe(white,black);
y:=ytid-1; x:=xtid;
gotoxy(x,y+2); write(HelpB[17]+':');
gotoxy(x,y+4); write(HelpB[18]+':');
farbe(highvg,highhg);
for i:=1 to 16 do
begin
y:=y+2;
if i=9 then
begin
y:=ytid+1;
x:=xtid+40;
end;
if (i in [1,2]) and (ini) then gotoxy(x+18,y) else gotoxy(x,y);
if (i in [1,2]) and (ini) then write(Balken(12,' ')) else write(Balken(30,' '));
if (i in [1,2]) and (ini) then gotoxy(x+18,y) else gotoxy(x,y);
if ini then write(Konfig.TNC[tau].INIA[i])
else write(Konfig.TNC[tau].DINIA[i]);
end;
gotoxy(xtid,y+2);
write(Balken(70,' '));
gotoxy(xtid,y+2);
if ini then write(Konfig.TNC[tau].inib)
else write(Konfig.TNC[tau].Dinib);
Ausw:=1;
repeat
{Tast:=Taste;}
Case Tast of
F1:Help(false,0);
cr,csdn,tab:
begin
inc(Ausw);
if Ausw>17 then Ausw:=1;
end;
csUP,shift_tab:
begin
Dec(Ausw);
if Ausw<1 then Ausw:=17;
end;
end;
Case Ausw of
1,2,3,4,5,6,7,8:
begin
y:=0;
for i:=1 to Ausw do y:=y+2;
y:=y+ytid-1;
x:=xtid;
lang:=30;
if ini then eingabe:=Konfig.tnc[tau].IniA[Ausw]
else eingabe:=Konfig.tnc[tau].DIniA[Ausw]
end;
9..16:
begin
y:=0;
for i:=9 to Ausw do y:=y+2;
y:=y+ytid-1;
x:=xtid+40;
lang:=30;
if ini then eingabe:=Konfig.tnc[tau].Inia[i]
else eingabe:=Konfig.tnc[tau].DInia[i];
end;
17:
begin
y:=ytid+17;
x:=xtid;
lang:=70;
if ini then eingabe:=Konfig.tnc[tau].IniB
else eingabe:=Konfig.tnc[tau].DInib
end;
end;
if (Ausw in [1,2]) and (ini) then
begin
repeat
if eingabe='#' then
begin
eingabe:='';
if (ausw in [1,2]) and (ini) then gotoxy(xtid+18,ytid-1+(ausw*2));
if (ausw in [1,2]) and (ini) then write(Balken(12,' '));
end;
Editor(eingabe,x+18,y,12,true,false,Tast,0);
i:=0;
if eingabe<>'#' then
while (Length(eingabe)>i) do
begin
inc(i);
if not (eingabe[i] in ['A'..'Z', 'a'..'z', '1'..'9', '0', '-']) then eingabe:='#';
end;
until eingabe<>'#';
end;
if (ini) and (AUsw >2) then Editor(eingabe,x,y,lang,false,true,Tast,0);
if not ini then Editor(eingabe,x,y,lang,false,true,Tast,0);
Case Ausw of
1..16: begin
if ini then Konfig.tnc[tau].IniA[Ausw]:=eingabe
else Konfig.tnc[tau].DIniA[Ausw]:=eingabe;
end;
17:
begin
if ini then Konfig.tnc[tau].IniB:=eingabe
else Konfig.tnc[tau].DInib:=eingabe;
end;
end;
until Tast=ESC;
end;
Procedure tncMaske(tau:byte; stat:Byte); {//db1ras}
var dummy:string;
Begin
farbe(white,black);
If stat=0 Then Begin
dummy:='';
IThema(20);
clrscr;
ladebild(Rahmen);
TEXTZent(helpSetup[9]+' '+MakeString(Tau),2,80,ytnc-1);
TextZent(EndFill(length(helpSetup[9])+2,'<27>',dummy),2,80,ytnc);
End;
With Konfig Do Begin
gotoxy(xtnc,ytnc+1); writeln(helpb[1]+': ',TNC_Art[TNC[tau].Art]);
If TNC[tau].Art=0 Then
farbe(DarkGray,black);
gotoxy(xtnc,ytnc+2); writeln(helpb[2]+': ',TNC[tau].IDenti);
gotoxy(xtnc,ytnc+3); writeln(helpb[3]+': ',TNC[Tau].Port);
gotoxy(xtnc,ytnc+4); writeln(helpb[4]+': ',TNC[tau].MaxKan);
gotoxy(xtnc,ytnc+5); writeln(helpb[5]+': ');
gotoxy(xtnc+27,ytnc+5);
if TNC[tau].Tickzeile then write (respt[1]) else write(RespT[2]);
If TNC[tau].Art=3 Then
farbe(DarkGray,black);
gotoxy(xtnc,ytnc+6); writeln(helpb[6]+': ',TNC[tau].COM);
gotoxy(xtnc,ytnc+7); writeln(helpb[7]+': ',TNC[tau].Adresse);
gotoxy(xtnc,ytnc+8); writeln(helpb[8]+': ',TNC[tau].irq);
gotoxy(xtnc,ytnc+9); writeln(helpb[9]+': ',TNC[tau].Baud);
gotoxy(xtnc,ytnc+10);writeln(helpb[10]+': ',TNC[tau].Multiplexnr);
gotoxy(xtnc,ytnc+11);write (helpb[11]+': ');
if TNC[tau].Fifo then write(respt[1]) else write(RespT[2]);
If TNC[tau].Art=3 Then
farbe(white,black);
gotoxy(xtnc,ytnc+12);write(helpb[12]+': ',konfig.tnc[tau].portnam);
gotoxy(xtnc,ytnc+13);write(helpb[13]+': ',konfig.tnc[tau].NodeKan,' ');
gotoxy(Xtnc, ytnc+14); write(HelpB[16]+': ');
if TNC[tau].AfuPort then write(respt[1]) else write(RespT[2]);
gotoxy(xtnc, ytnc+15); write(HelpB[14]);
gotoxy(xtnc, ytnc+16); write(HelpB[15]);
If TNC[tau].Art=0 Then
farbe(white,black);
End;
If stat=0 Then Begin
textzent(helpSetup[7],2,80,21);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
farbe(white,black);
End;
End;
PROCEDURE TNCSet;
var tast:char;
fuel:byte;
Ausw, Auswa : Byte;
Change:boolean;
begin
HelpNr:=3;
with Konfig do
begin
Ausw:=1;
farbe(white, black);
clrscr;
cursoraus;
{COM, IRq; ADR, Tick, Art, MaxKan, Multiplex, Fifo, Port, Baud, ID}
tncmaske(tau,0);
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+1);write(tnc_art[tnc[tau].art]);
change:=true;
repeat
if (Ausw<>2) and (ausw<>7) and (ausw<>12) then tast:=taste;
Auswa:=ausw;
Case Tast of
Pgdn:
begin
Tau:=tau+1;
if Tau>8 then Tau:=1;
tncMaske(Tau,0);
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+1);write(tnc_art[tnc[tau].art]);
Ausw:=1;
end;
PgUp:
begin
Tau:=tau-1;
if Tau<1 then Tau:=8;
tncMaske(Tau,0);
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+1);write(tnc_art[tnc[tau].art]);
Ausw:=1;
end;
CsDn, Tab:
begin
If tnc[tau].art<>0 Then Begin {//db1ras}
Ausw:=Ausw+1;
if Ausw>16 then Ausw:=1;
If (tnc[tau].art=3) And (Ausw=6) Then Ausw:=12; {//db1ras}
Change:=true;
End;
end;
CR:
begin
if (Ausw<>15) and (Ausw<>16) And (tnc[tau].art<>0) then {//db1ras}
begin
Ausw:=Ausw+1;
if Ausw>16 then Ausw:=1;
If (tnc[tau].art=3) And (Ausw=6) Then Ausw:=12; {//db1ras}
Change:=true;
tast:=#1;
end;
end;
CsUp, Shift_Tab:
begin
If tnc[tau].art<>0 Then Begin {//db1ras}
Ausw:=Ausw-1;
if Ausw<1 then Ausw:=16;
If (tnc[tau].art=3) And (Ausw=11) Then Ausw:=5; {//db1ras}
Change:=true;
End;
end;
end;
if Change then
begin
change:=false;
farbe(white,black);
gotoxy(xtnc+27,ytnc+Auswa);
case AuswA of
1: write(tnc_art[tnc[tau].art]);
2: write(tnc[tau].identi+' ');
3: write(tnc[tau].port);
4: write(tnc[tau].maxkan,' ');
5: if TNC[tau].Tickzeile then write (RespT[1]) else write(RespT[2]);
6: write(tnc[tau].com);
7: write(tnc[tau].adresse+' ');
8: write(tnc[tau].irq,' ');
9: write(tnc[tau].baud,' ');
10:write(tnc[tau].MultiplexNr);
11:begin
if tnc[tau].Fifo then write(RespT[1]) else write(RespT[2]);
end;
12:begin
write(balken(21,' '));
gotoxy(xtnc+27,ytnc+Auswa);
write(tnc[tau].PortNam);
end;
13: write(tnc[tau].NodeKan,' ');
14: if tnc[tau].AfuPort then write(RespT[1]) else write(RespT[2]);
15: begin
gotoxy(xtnc,ytnc+auswa);
Write(HelpB[14]);
end;
16: begin
gotoxy(xtnc,ytnc+auswa);
Write(HelpB[15]);
end;
end;
farbe(highhg,black);
{ textzent(Balken(78,' '),2,80,21);}
textzent(Balken(78,' '),2,80,22);
textzent(Balken(78,' '),2,80,23);
farbe(highvg, highhg);
gotoxy(xtnc+27,ytnc+Ausw);
case Ausw of
1: begin
write(tnc_art[tnc[tau].art]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
2: begin
write(tnc[tau].identi);
farbe(specvg,black);
textzent(helpSetup[8],2,80,23);
end;
3: begin
write(tnc[tau].port);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
4,13: begin
write(tnc[tau].maxkan);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
5: begin
if TNC[tau].Tickzeile then write (RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
6: begin
write(tnc[tau].com);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
7: begin
write(tnc[tau].adresse);
farbe(specvg,black);
textzent(helpSetup[8],2,80,23);
end;
8: begin
write(tnc[tau].irq);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
9: begin
write(tnc[tau].baud);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
10: begin
write(tnc[tau].MultiplexNr);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
11:begin
if tnc[tau].Fifo then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
{ textzent('Fifo-Unterst<73>tzung.',2,80,22);}
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
12:begin
write(balken(20,' '));
gotoxy(xtnc+27,ytnc+Ausw);
write(tnc[tau].PortNam);
farbe(specvg,black);
textzent(helpSetup[8],2,80,23);
end;
14: begin
if tnc[tau].AfuPort then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
{ textzent('Fifo-Unterst<73>tzung.',2,80,22);}
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
15: begin
gotoxy(xtnc, ytnc+ausw);
write(Helpb[14]);
farbe(specvg,black);
textzent(helpSetup[6],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
16: begin
gotoxy(xtnc, ytnc+ausw);
write(Helpb[15]);
farbe(specvg,black);
textzent(helpSetup[6],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
end;
end;
if (Tast=cr) and (Ausw=15) then
begin
HelpNr:=4;
TNCIniDeini(true);
TNCMaske(tau,0);
farbe(highvg,highhg);
gotoxy(xtnc, ytnc+15); write(HelpB[14]);
farbe(specvg,black);
textzent(helpSetup[6],2,80,23);
HelpNr:=3;
end;
if (Tast=cr) and (Ausw=16) then
begin
HelpNr:=5;
TNCIniDeini(false);
TNCMaske(tau,0);
farbe(highvg,highhg);
gotoxy(xtnc, ytnc+16); write(HelpB[15]);
farbe(specvg,black);
textzent(helpSetup[6],2,80,23);
HelpNr:=3;
end;
If Ausw=1 then
begin
Case Tast of
CsRt:
begin
Tnc[tau].art:=tnc[tau].art+1;
if tnc[tau].art>4 then tnc[tau].art:=0;
tncMaske(tau,1); {//db1ras}
end;
CsLt:
begin
if tnc[tau].art=0 then tnc[tau].art:=4 else
Tnc[tau].art:=tnc[tau].art-1;
tncMaske(tau,1); {//db1ras}
end;
end;
if tnc[tau].art>4 then tnc[tau].art:=0;
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+ausw);write(tnc_art[tnc[tau].art]);
end; {if Ausw=1}
If Ausw=2 then
begin
cursorein;
farbe(highvg, highhg);
Editor(tnc[tau].identi,xtnc+27,ytnc+ausw,2,True,false,Tast,20);
cursoraus;
end;
if Ausw=3 then
begin
case tast of
cslt: begin
if tnc[tau].port=0 then tnc[tau].port:=10;
if tnc[tau].port>0 then dec(tnc[tau].port);
end;
CsRt: begin
inc(tnc[tau].port);
if tnc[tau].port>9 then tnc[tau].port:=0;
end;
end;
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+ausw);write(tnc[tau].Port);
end; {if Ausw=3}
if Ausw=4 then
begin
Case Tast of
Csrt:
begin
if TNC[tau].MaxKan<60 then inc(TNC[tau].MaxKan)
else Alarm;
end;
Ctrl_Csrt:
begin
if tnc[tau].maxkan=60 then alarm;
if (tnc[tau].maxkan>50) and (tnc[tau].maxkan<60) then tnc[tau].maxkan:=60;
if TNC[tau].MaxKan<51 then TNC[tau].MaxKan:=tnc[tau].maxkan+10;
end;
Cslt:
begin
if TNC[tau].MaxKan>1 then dec(TNC[tau].MaxKan)
else Alarm;
end;
Ctrl_Cslt:
begin
if tnc[tau].MaxKan<=1 then alarm;
if tnc[tau].MaxKan<11 then TNC[tau].MaxKan:=1;
if TNC[tau].MaxKan>10 then TNC[tau].MaxKan:=tnc[tau].maxkan-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+Ausw);
fuel:=0;
if tnc[tau].MaxKan<10 then fuel:=fuel+1;
write(tnc[tau].MaxKan,Balken(fuel,' '));
if TNC[tau].MaxKan<TNC[tau].NodeKan then TNC[tau].NodeKan:=TNC[tau].MaxKan;
farbe(white, black);
{**!!ytnc!!**} gotoxy(xtnc+27,ytnc+13);
write(tnc[tau].NodeKan,' ');
end; {ausw=4}
if Ausw=5 then
begin
Case Tast of
CsRt, CsLt:
begin
TNC[tau].Tickzeile:= not TNC[tau].Tickzeile;
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+Ausw);
if TNC[tau].Tickzeile then write (RespT[1]) else write(RespT[2]);
end;
end;
end; {if Ausw=5}
if Ausw=6 then
begin
case tast of
cslt: begin
dec(tnc[tau].com);
if tnc[tau].com=0 then tnc[tau].com:=4;
end;
CsRt: begin
inc(tnc[tau].com);
if tnc[tau].com>4 then tnc[tau].com:=1;
end;
end;
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+ausw);write(tnc[tau].com);
end; {if Ausw=6}
If Ausw=7 then
begin
cursorein;
farbe(highvg, highhg);
Editor(tnc[tau].adresse,xtnc+27,ytnc+ausw,3,True,false,Tast,20);
cursoraus;
end;
if Ausw=8 then
begin
Case Tast of
Csrt:
begin
if TNC[tau].irq<15 then inc(TNC[tau].irq)
else Alarm;
end;
Ctrl_Csrt:
begin
if TNC[tau].irq=15 then alarm;
if tnc[tau].irq>5 then tnc[tau].irq:=15;
if TNC[tau].irq<6 then TNC[tau].irq:=tnc[tau].irq+10;
end;
Cslt:
begin
if TNC[tau].irq>0 then dec(TNC[tau].irq)
else Alarm;
end;
Ctrl_Cslt:
begin
if tnc[tau].irq=0 then alarm;
if tnc[tau].irq<10 then TNC[tau].irq:=0;
if TNC[tau].irq>9 then TNC[tau].irq:=tnc[tau].irq-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+Ausw);
fuel:=0;
if tnc[tau].irq<10 then fuel:=fuel+1;
write(tnc[tau].irq,Balken(fuel,' '));
end; {ausw=8}
if Ausw=9 then
begin
Case Tast of
CsRt:
begin
Case (TNC[Tau].Baud div 10) of
120: TNC[tau].Baud:= 2400;
240: TNC[tau].Baud:= 4800;
480: TNC[tau].Baud:= 7200;
720: TNC[tau].Baud:= 9600;
960: TNC[tau].Baud:= 14400;
1440: TNC[tau].Baud:= 19200;
1920: TNC[tau].Baud:= 28800;
2880: TNC[tau].Baud:= 38400;
3840: TNC[tau].Baud:= 57600;
5760: TNC[tau].Baud:= 76800;
7680: TNC[tau].Baud:= 115200;
11520: TNC[tau].Baud:= 1200;
end;
end;
Cslt:
begin
Case (TNC[Tau].Baud div 10) of
120: TNC[tau].Baud:= 115200;
240: TNC[tau].Baud:= 1200;
480: TNC[tau].Baud:= 2400;
720: TNC[tau].Baud:= 4800;
960: TNC[tau].Baud:= 7200;
1440: TNC[tau].Baud:= 9600;
1920: TNC[tau].Baud:= 14400;
2880: TNC[tau].Baud:= 19200;
3840: TNC[tau].Baud:= 28800;
5760: TNC[tau].Baud:= 38400;
7680: TNC[tau].Baud:= 57600;
11520: TNC[tau].Baud:= 76800;
end;
end;
end;
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+Ausw);
fuel:=0;
if tnc[tau].baud<100000 then fuel:=fuel+1;
if tnc[tau].baud<10000 then fuel:=fuel+1;
write(tnc[tau].Baud,Balken(fuel,' '));
end; {if Ausw=9}
if Ausw=10 then
begin
case tast of
cslt: begin
if tnc[tau].multiplexnr=0 then tnc[tau].multiplexnr:=5;
if tnc[tau].multiplexnr>0 then dec(tnc[tau].multiplexnr);
end;
CsRt: begin
inc(tnc[tau].multiplexnr);
if tnc[tau].multiplexnr>4 then tnc[tau].multiplexnr:=0;
end;
end;
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+ausw);write(tnc[tau].multiplexnr);
end; {if Ausw=10}
if Ausw=11 then
begin
Case Tast of
CsRt, CsLt:
begin
TNC[tau].Fifo:= not TNC[tau].fifo;
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+Ausw);
if TNC[tau].fifo then write (RespT[1]) else write(RespT[2]);
end;
end;
end; {if Ausw=11}
If Ausw=12 then
begin
cursorein;
farbe(highvg, highhg);
Editor(tnc[tau].PortNam,xtnc+27,ytnc+ausw,20,false,true,Tast,20);
cursoraus;
end;
if Ausw=13 then
begin
Case Tast of
Csrt:
begin
if TNC[tau].NodeKan<TNC[tau].MaxKan then inc(TNC[tau].NodeKan)
else Alarm;
end;
Ctrl_Csrt:
begin
if tnc[tau].NodeKan=Tnc[tau].MaxKan then alarm;
if (tnc[tau].NodeKan>(Tnc[tau].MaxKan-10)) and (tnc[tau].NodeKan<Tnc[tau].MaxKan) then
tnc[tau].NodeKan:=Tnc[tau].MaxKan;
if TNC[tau].NodeKan<(Tnc[tau].MaxKan-9) then TNC[tau].NodeKan:=tnc[tau].NodeKan+10;
end;
Cslt:
begin
if TNC[tau].NodeKan>0 then dec(TNC[tau].NodeKan)
else Alarm;
end;
Ctrl_Cslt:
begin
if tnc[tau].NodeKan<=1 then alarm;
if tnc[tau].NodeKan<11 then TNC[tau].NodeKan:=0;
if TNC[tau].NodeKan>10 then TNC[tau].NodeKan:=tnc[tau].NodeKan-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+Ausw);
fuel:=0;
if tnc[tau].NodeKan<10 then fuel:=fuel+1;
write(tnc[tau].NodeKan,Balken(fuel,' '));
end; {ausw=13}
if Ausw=14 then
begin
Case Tast of
CsRt, CsLt:
begin
TNC[tau].AfuPort:= not TNC[tau].AfuPort;
farbe(highvg,highhg);
gotoxy(xtnc+27,ytnc+Ausw);
if TNC[tau].AfuPort then write (RespT[1]) else write(RespT[2]);
end;
end;
end; {if Ausw=14}
if Tast=f1 then begin
Help(false,20);
IThema(20);
end;
until Tast=ESC;
end; {with konfig ..}
end;
procedure verzeichnisse;
var Ausw,
Auswa:byte;
tast:char;
change:boolean;
eingabe:string;
begin
IThema(30);
eingabe:='';
HelpNr:=6;
farbe(white,black);
clrscr;
ladebild(rahmen);
Textzent(helpSetup[12],2,80,yverz-3);
textzent(endfill(length(helpSetup[12]),'<27>',eingabe),2,80,yverz-2);
textzent(helpSetup[8],2,80,23);
gotoxy(1,yverz+1);
with konfig do
begin
{!DIRT}
gotoxy(2,yverz+1);writeln(HelpB[1]+': '+RemVerz);
gotoxy(2,yverz+2);writeln(helpB[2]+': '+SavVerz);
gotoxy(2,yverz+3);writeln(helpB[3]+': '+MailVerz);
gotoxy(2,yverz+4);writeln(helpB[4]+': '+RunVerz);
gotoxy(2,yverz+5);writeln(helpB[5]+': '+BinVerz);
gotoxy(2,yverz+6);writeln(HelpB[6]+': '+splverz);
gotoxy(2,yverz+7);writeln(HelpB[7]+': '+makverz);
gotoxy(2,yverz+8);writeln(HelpB[8]+': '+tempverz);
gotoxy(2,yverz+9);writeln(HelpB[9]+': '+viewverz);
gotoxy(2,yverz+10);writeln(HelpB[10]+': '+editverz);
gotoxy(2,yverz+11);writeln(HelpB[11]+': '+spkverz);
gotoxy(2,yverz+12);writeln(HelpB[12]+': '+CDRom);
farbe(specvg,black);
change:=false;
Ausw:=1;
repeat
if Change then
begin
Farbe(white,black);
gotoxy(xverz+20, yverz+auswa);
write(Balken(58,' '));
gotoxy(xverz+20, yverz+auswa);
change:=false;
case auswa of
1: write(remverz);
2: write(savverz);
3: write(Mailverz);
4: write(Runverz);
5: write(Binverz);
6: write(SPlverz);
7: write(Makverz);
8: write(TempVerz);
9: write(Viewverz);
10: write(Editverz);
11: write(SPKVerz);
12: write(CDRom);
end;
farbe(specvg,black);
end;
Auswa:=Ausw;
farbe(highvg,highhg);
gotoxy(xverz+20, yverz+ausw);
if ausw<>12 then write(Balken(58,' '));
gotoxy(xverz+20, yverz+ausw);
case ausw of
1: begin
write(remverz);
Editor(remverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if remverz[length(remverz)]='\' then delete(remverz,length(remverz),1);
end;
2: begin
write(savverz);
Editor(savverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if savverz[length(savverz)]='\' then delete(savverz,length(savverz),1);
end;
3: begin
write(Mailverz);
Editor(Mailverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if mailverz[length(mailverz)]='\' then delete(mailverz,length(mailverz),1);
end;
4: begin
write(Runverz);
Editor(Runverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if runverz[length(runverz)]='\' then delete(runverz,length(runverz),1);
end;
5: begin
write(Binverz);
Editor(Binverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if binverz[length(binverz)]='\' then delete(binverz,length(binverz),1);
end;
6: begin
write(SPlverz);
Editor(Splverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if splverz[length(splverz)]='\' then delete(splverz,length(splverz),1);
end;
7: begin
write(Makverz);
Editor(Makverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if makverz[length(makverz)]='\' then delete(makverz,length(makverz),1);
end;
8: begin
write(TempVerz);
Editor(TempVerz,xverz+20,yverz+ausw,58,true,false,tast,0);
if makverz[length(Tempverz)]='\' then delete(Tempverz,length(Tempverz),1);
end;
9: begin
write(Viewverz);
Editor(Viewverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if viewverz[length(viewverz)]='\' then delete(viewverz,length(viewverz),1);
end;
10: begin
write(Editverz);
Editor(Editverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if editverz[length(editverz)]='\' then delete(editverz,length(editverz),1);
end;
11: begin
write(spkverz);
Editor(spkverz,xverz+20,yverz+ausw,58,true,false,tast,0);
if spkverz[length(spkverz)]='\' then delete(spkverz,length(spkverz),1);
end;
12: begin
write(CDRom);
Eingabe:=CDROM;
Editor(eingabe,xverz+20,yverz+ausw,1,true,false,tast,0);
CDROM:=Eingabe[1];
end;
end;
case Tast of
f1: help(false,0);
CR, TAB, CSDn:
begin
Ausw:=Ausw+1;
if Ausw>12 then Ausw:=1;
change:=true;
end;
CsUp, Shift_Tab:
begin
Ausw:=Ausw-1;
if Ausw<1 then Ausw:=12;
change:=true;
end;
end;
until Tast=ESC;
end; {with}
end;
Procedure quietEinstellungen;
var tast : char;
eingabe: string;
i : byte;
ausw, a:byte;
begin
with Konfig do
begin
eingabe:='';
helpNr:=12;
farbe (white, black);
clrscr;
ladebild(rahmen);
Textzent(helpSetup[2],2,80,yver-2);
textzent(endfill(length(helpSetup[2]),'<27>',eingabe),2,80,yver-1);
gotoxy(xver,yver+1); write(Helpb[13]+': ');
if QuietDh then writeln(RespT[1]) else writeln(RespT[2]);
gotoxy(xver,yver+2); write(helpb[14]+': ');
if quietzg then writeln(RespT[1]) else writeln(RespT[2]);
gotoxy(xver,yver+3); write(helpb[15]+': ');
for i:=1 to 3 do
begin
gotoxy(xver+27, yver+i+2);
if quietzt[i].StdAnf<10 then write('0');
write(Quietzt[i].StdAnf,':');
if quietzt[i].minanf<10 then write('0');
write(quietzt[i].MinAnf,' - ');
if quietzt[i].stdend<10 then write('0');
write(quietzt[i].StdEnd,':');
if quietzt[i].minend<10 then write('0');
write(quietzt[i].MinEnd);
end;
ausw:=1; a:=0;
repeat
farbe(white, black);
for i:=1 to 3 do
begin
gotoxy(xver+27, yver+i+2);
farbe(white, black);
if (i=1) and (ausw=3) then farbe(highvg, highhg);
if (i=2) and (ausw=7) then farbe(highvg, highhg);
if (i=3) and (ausw=11) then farbe(highvg, highhg);
if quietzt[i].StdAnf<10 then write('0');
write(Quietzt[i].StdAnf);
farbe(white, black);
write(':');
if (i=1) and (ausw=4) then farbe(highvg, highhg);
if (i=2) and (ausw=8) then farbe(highvg, highhg);
if (i=3) and (ausw=12) then farbe(highvg, highhg);
if quietzt[i].minanf<10 then write('0');
write(quietzt[i].MinAnf);
farbe(white, black);
write(' - ');
if (i=1) and (ausw=5) then farbe(highvg, highhg);
if (i=2) and (ausw=9) then farbe(highvg, highhg);
if (i=3) and (ausw=13) then farbe(highvg, highhg);
if quietzt[i].stdend<10 then write('0');
write(quietzt[i].StdEnd);
farbe(white, black);write(':');
if (i=1) and (ausw=6) then farbe(highvg, highhg);
if (i=2) and (ausw=10) then farbe(highvg, highhg);
if (i=3) and (ausw=14) then farbe(highvg, highhg);
if quietzt[i].minend<10 then write('0');
write(quietzt[i].MinEnd);
farbe(white, black);
if quietzt[i].aktiv then write(' '+Respt[3]) else write(' '+respt[4]);
end;
if ausw=1 then farbe(highvg, highhg);
gotoxy(xver+27,yver+1);
if QuietDh then writeln(RespT[1]) else writeln(RespT[2]);
farbe(white, black);
if ausw=2 then farbe(highvg, highhg);
gotoxy(xver+27,yver+2);
if quietzg then writeln(RespT[1]) else writeln(RespT[2]);
farbe(white,black);
textzent(BAlken(78,' '),2,80,21);
textzent(BAlken(78,' '),2,80,22);
textzent(BAlken(78,' '),2,80,23);
case ausw of
1,2: begin
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
3..14: begin
textzent(helpSetup[5],2,80,21);
textzent(helpSetup[36],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
end;
tast:=taste;
case Tast of
F1 : help(false,40);
CR,tab,CsDn: inc(ausw);
shift_tab,csup: dec(ausw);
end;
if ausw>14 then ausw:=1;
if ausw<1 then ausw:=14;
A:=0;
if ausw in [3..6] then a:=1;
if ausw in [7..10] then a:=2;
if ausw in [11..14] then a:=3;
case ausw of
1: begin
case Tast of
CsLt, CsRt: quietdh:=not quietDh;
end;
end;
2: begin
case Tast of
CsLt, CsRt: quietzg:=not quietzg;
end;
end;
3,7,11: begin
case Tast of
#32: QuietZt[A].Aktiv:=not QuietZt[a].aktiv;
CsRt: if quietzt[a].stdanf<23 then inc(quietzt[a].stdanf)
else quietzt[a].stdanf:=0;
Cslt: if quietzt[a].StdAnf>0 then dec(quietzt[a].Stdanf)
else quietzt[a].stdanf:=23;
Ctrl_CsLt:
begin
if quietzt[a].StdAnf<10 then quietzt[a].stdAnf:=quietzt[a].stdanf+24-10
else quietzt[a].StdAnf:=quietzt[a].StdAnf-10
end;
Ctrl_CsRt:
begin
if quietzt[a].StdAnf>13 then quietzt[a].stdAnf:=quietzt[a].stdanf-24+10
else quietzt[a].StdAnf:=quietzt[a].StdAnf+10
end;
end;
end; {3,7,11}
5,9,13: begin
case Tast of
#32: QuietZt[A].Aktiv:=not QuietZt[a].aktiv;
CsRt: if quietzt[a].stdEnd<23 then inc(quietzt[a].stdEnd)
else quietzt[a].stdend:=0;
Cslt: if quietzt[a].stdEnd>0 then dec(quietzt[a].stdEnd)
else quietzt[a].stdend:=23;
Ctrl_CsLt:
begin
if quietzt[a].stdEnd<10 then quietzt[a].stdEnd:=quietzt[a].stdend+24-10
else quietzt[a].stdEnd:=quietzt[a].stdEnd-10
end;
Ctrl_CsRt:
begin
if quietzt[a].stdEnd>13 then quietzt[a].stdEnd:=quietzt[a].stdend-24+10
else quietzt[a].stdEnd:=quietzt[a].stdEnd+10
end;
end;
end; {5,9,13}
4,8,12: begin
case Tast of
#32: QuietZt[A].Aktiv:=not QuietZt[a].aktiv;
CsRt: if quietzt[a].MinAnf<60 then inc(quietzt[a].MinAnf)
else alarm;
Cslt: if quietzt[a].MinAnf>0 then dec(quietzt[a].MinAnf)
else quietzt[a].minAnf:=59;
Ctrl_CsLt:
begin
if quietzt[a].MinAnf<10 then quietzt[a].MinAnf:=quietzt[a].minanf+60-10
else quietzt[a].MinAnf:=quietzt[a].MinAnf-10
end;
Ctrl_CsRt:
begin
if quietzt[a].MinAnf>49 then quietzt[a].MinAnf:=quietzt[a].minanf-60+10
else quietzt[a].MinAnf:=quietzt[a].MinAnf+10
end;
end;
if quietzt[a].MinAnf=60 then quietzt[a].MinAnf:=0;
end; {4,8,12}
6,10,14: begin
case Tast of
#32: QuietZt[A].Aktiv:=not QuietZt[a].aktiv;
CsRt: if quietzt[a].minend<60 then inc(quietzt[a].minend)
else alarm;
Cslt: if quietzt[a].minend>0 then dec(quietzt[a].minend)
else quietzt[a].minend:=59;
Ctrl_CsLt:
begin
if quietzt[a].minend<10 then quietzt[a].minend:=quietzt[a].minend+60-10
else quietzt[a].minend:=quietzt[a].minend-10
end;
Ctrl_CsRt:
begin
if quietzt[a].minend>49 then quietzt[a].minend:=quietzt[a].minend-60+10
else quietzt[a].minend:=quietzt[a].minend+10
end;
end;
if quietzt[a].minend=60 then quietzt[a].minend:=0;
end; {6,10,14}
enD; {ausw}
until Tast=ESC
end; {with kofnig}
end;
procedure Verschiedenes;
var Ausw, auswa:byte;
Tast:char;
eingabe:string;
fuel:byte;
flagge,
change:boolean;
seite:byte;
swechsel:boolean;
begin
eingabe:='';
HelpNr:=7;
ithema(40);
seite:=1;
swechsel:=true;
with konfig do
begin
cursorAus;
change:=true;
Ausw:=1; Auswa:=1;
repeat
if swechsel then
begin
if seite=1 then
begin
change:=true;
ausw:=1;
farbe (white, black);
clrscr;
ladebild(rahmen);
Textzent(helpSetup[13],2,80,yver-1);
textzent(endfill(length(helpSetup[13]),'<27>',eingabe),2,80,yver);
gotoxy(xver,yver+1); writeln(helpb[1]+': '+ZeitBez);
gotoxy(xver,yver+2); writeln(helpb[2]+': ',UTCDiff);
gotoxy(xver,yver+3); write(helpb[3]+': ');
if utcbenutzen then writeln(RespT[1]) else writeln(RespT[2]);
gotoxy(xver,yver+4); write(helpb[4]+': ');
if echtzeit then writeln(RespT[1]) else writeln(RespT[2]);
gotoxy(xver,yver+5); writeln(helpb[5]+': ',PopUpZeit);
gotoxy(xver,yver+6); write(helpb[6]+': ');
if lockirq then writeln(RespT[1]) else writeln(RespT[2]);
gotoxy(xver,yver+7); write(helpb[7]+': ');
if sichabfr then writeln(RespT[1]) else writeln(RespT[2]);
gotoxy(xver,yver+8); write(helpb[8]+': ');
if idle then writeln(RespT[1]) else writeln(RespT[2]);
gotoxy(xver,yver+9); writeln(helpb[9]+': ',scrsavz);
gotoxy(xver,yver+10);writeln(helpb[10]+': '+PromptS);
gotoxy(xver,yver+11);writeln(helpb[11]+': ',NTimeOut);
gotoxy(xver,yver+12);writeln(helpb[16]+': ',TTimeOut);
gotoxy(xver,yver+13);writeln(helpb[17]+': ',MaxFrameStd);
gotoxy(xver,yver+14);writeln(helpb[18]+': ',PacLenStd);
GotoXy(Xver,yver+15);writeln(helpb[19]+': ',MaxNodes);
GotoXy(Xver,yver+16);writeln(helpb[20]+': ',Lifetime);
gotoxy(xver,yver+17);writeln(helpb[12]); {quiet-einst}
end;
if seite=2 then
begin
change:=True;
ausw:=18;
farbe (white, black);
clrscr;
ladebild(rahmen);
Textzent(helpSetup[13],2,80,yver-1);
textzent(endfill(length(helpSetup[13]),'<27>',eingabe),2,80,yver);
gotoxy(xver,yver+1); write(helpb[21]+': ');
if ReqNam then writeln(RespT[1]) else writeln(respt[2]);
gotoxy(xver,yver+2); write(helpb[22]+': ');
if NodeSound then writeln(RespT[1]) else writeln(respt[2]);
gotoxy(xver,yver+3); writeln(helpb[23]+': ',MaxLoginUser);
gotoxy(xver,yver+4); write(helpb[24]+': ');
if CBFilter then writeln(RespT[1]) else writeln(respt[2]);
end;
end;
if ((ausw<>1) and (ausw<>10) and (not Swechsel)) then tast:=taste;
swechsel:=false;
auswa:=ausw;
flagge:=false;
if (Auswa=17) and (tast=cr) then
begin
flagge:=true;
tast:=#1;
end;
case tast of
f1:help(false,40);
cr, csdn, tab:
begin
change:=true;
ausw:=ausw+1;
if (ausw>17) and (Seite=1) then ausw:=1;
if (Ausw>21) and (Seite=2) then ausw:=18;
end;
csup, shift_tab:
begin
change:=true;
ausw:=ausw-1;
if (ausw=0) and (Seite=1) then ausw:=17;
if (ausw=17) and (Seite=2) then ausw:=21;
end;
end;
if change then
begin
change:=false;
farbe(white,black);
textzent(Balken(78,' '),2,79,22);
textzent(Balken(78,' '),2,79,23);
if seite=1 then gotoxy(xver+27,yver+auswa) else gotoxy(xver+27, yver+auswa-17);
farbe(white,black);
case auswa of
1: write(ZeitBez+' ');
2: write(UTCDiff,' ');
3: if utcbenutzen then write(RespT[1]) else write(RespT[2]);
4: if echtzeit then write(RespT[1]) else write(RespT[2]);
5: write(PopUpZeit,' ');
6: if lockirq then write(RespT[1]) else write(RespT[2]);
7: if sichabfr then write(RespT[1]) else write(RespT[2]);
8: if idle then write(RespT[1]) else write(RespT[2]);
9: write(scrSavZ,' ');
10: begin
Write(Balken(30,' '));
gotoxy(xver+27,yver+auswa);
write(PromptS)
end;
11: write(NTimeOut,' ');
12: write(TTimeOut,' ');
13: write(MaxFrameStd,' ');
14: write(PacLenStd,' ');
15: write(MaxNodes ,' ');
16: write(LifeTime ,' ');
17: begin
gotoxy(xver,yver+17);
write(helpb[12]);
end;
18: if ReqNam then write(RespT[1]) else write(RespT[2]);
19: if NodeSound then write(RespT[1]) else write(RespT[2]);
20: write(MaxLoginUser,' ');
21: if CBFilter then write(RespT[1]) else write(RespT[2]);
end;
end;
if Seite=1 then gotoxy(xver+27,yver+ausw) else gotoxy(xver+27, yver+ausw-17);
farbe(highvg, highhg);
case ausw of
1:begin
write(Balken(3,' '));
gotoxy(xver+27,yver+ausw);
write(ZeitBez);
farbe(specvg,black);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
2: begin
write(Balken(3,' '));
gotoxy(xver+27,yver+ausw);
write(UTCDiff);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
3: begin
if UTCBenutzen then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
4: begin
if echtzeit then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
5: begin
write(Balken(2,' '));
gotoxy(xver+27,yver+ausw);
write(PopUpZeit);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
6: begin
if lockirq then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
7: begin
if sichabfr then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
8: begin
if idle then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
9: begin
write(Balken(2,' '));
gotoxy(xver+27,yver+ausw);
write(ScrSavZ);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
10: begin
write(Balken(30,' '));
gotoxy(xver+27,yver+ausw);
write(PromptS);
farbe(specvg,black);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
11:begin
write(Balken(3,' '));
gotoxy(xver+27,yver+ausw);
write(NTimeOut);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
12:begin
write(Balken(3,' '));
gotoxy(xver+27,yver+ausw);
write(TTimeOut);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
13:begin
write(Balken(1,' '));
gotoxy(xver+27,yver+ausw);
write(MaxFrameStd);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
14,15,16:begin
write(Balken(3,' '));
gotoxy(xver+27,yver+ausw);
write(PacLenStd);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8]+' - '+helpsetup[3],2,80,23);
end;
17:begin
gotoxy(xver,yver+ausw);
write(helpb[12]);
farbe(specvg, black);
{textzent(helpSetup[6],2,80,23);}
textzent(helpSetup[6]+' - '+helpsetup[3],2,80,23);
end;
18:begin
if ReqNam then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[6]+' - '+helpsetup[3],2,80,23);
end;
19:begin
if NodeSound then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[6]+' - '+helpsetup[3],2,80,23);
end;
20:begin
write(MaxLoginUser);
if MaxLoginUser<10 then write(' ');
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[6]+' - '+helpsetup[3],2,80,23);
end;
21:begin
if CBFilter then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[6]+' - '+helpsetup[3],2,80,23);
end;
end; {change}
if Ausw=1 then
begin
CursorEin;
farbe(highvg,highhg);
Editor(Zeitbez,xver+27,yver+ausw,3,true,false,tast,40);
farbe(white,black);
cursorAus;
end;
if Ausw=2 then
begin
Case Tast of
Csrt:
begin
if utcdiff<12 then inc(utcdiff)
else Alarm;
end;
Ctrl_Csrt:
begin
if utcdiff=12 then alarm;
if (utcdiff>2) and (utcdiff<12) then utcdiff:=12;
if utcdiff<3 then utcdiff:=utcdiff+10;
end;
Cslt:
begin
if utcdiff>-12 then dec(utcdiff)
else Alarm;
end;
Ctrl_Cslt:
begin
if utcdiff=-12 then alarm;
if utcdiff<-2 then utcdiff:=-12;
if utcdiff>-3 then utcdiff:=utcdiff-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
fuel:=0;
fuel:=3-length(makestring(utcdiff));
write(utcdiff,Balken(fuel,' '));
end; {ausw=2}
if Ausw=3 then
begin
case Tast of
CsLt, CsRt: UTCBenutzen:=not utcbenutzen;
end;
farbe(highvg,highhg);
gotoxy(xver+27,yver+ausw);
if UtcBenutzen then Write(RespT[1]) else write(RespT[2]);
end; {ausw=3}
if Ausw=4 then
begin
case Tast of
CsLt, CsRt: Echtzeit:=not Echtzeit;
end;
farbe(highvg,highhg);
gotoxy(xver+27,yver+ausw);
if Echtzeit then Write(RespT[1]) else write(RespT[2]);
end; {ausw=4}
if Ausw=5 then
begin
Case Tast of
Csrt:
begin
if PopUpZeit<30 then inc(popupzeit)
else Alarm;
end;
Ctrl_Csrt:
begin
if PopUpZeit=30 then alarm;
if (PopUpZeit>20) and (PopUpZeit<30) then PopUpZeit:=30;
if popupzeit<21 then popupzeit:=popupzeit+10;
end;
Cslt:
begin
if popupzeit>0 then dec(popupzeit)
else Alarm;
end;
Ctrl_Cslt:
begin
if PopUpZeit=0 then alarm;
if PopUpZeit<10 then PopUpZeit:=0;
if PopUpZeit>9 then Popupzeit:=popupzeit-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
fuel:=0;
if popupzeit<10 then fuel:=fuel+1;
write(popupzeit,Balken(fuel,' '));
end; {ausw=5}
if Ausw=6 then
begin
case Tast of
CsLt, CsRt: Lockirq:=not Lockirq;
end;
farbe(highvg,highhg);
gotoxy(xver+27,yver+ausw);
if Lockirq then Write(RespT[1]) else write(RespT[2]);
end; {ausw=6}
if Ausw=7 then
begin
case Tast of
CsLt, CsRt: sichabfr:=not sichabfr;
end;
farbe(highvg,highhg);
gotoxy(xver+27,yver+ausw);
if sichabfr then Write(RespT[1]) else write(RespT[2]);
end; {ausw=7}
if Ausw=8 then
begin
case Tast of
CsLt, CsRt: idle:=not idle;
end;
farbe(highvg,highhg);
gotoxy(xver+27,yver+ausw);
if idle then Write(RespT[1]) else write(RespT[2]);
end; {ausw=8}
if Ausw=9 then
begin
Case Tast of
Csrt:
begin
if ScrSavZ<30 then inc(ScrSavZ)
else Alarm;
end;
Ctrl_Csrt:
begin
if ScrSavZ=30 then alarm;
if (ScrSavZ>20) and (ScrSavZ<30) then ScrSavZ:=30;
if ScrSavZ<21 then ScrSavZ:=ScrSavZ+10;
end;
Cslt:
begin
if ScrSavZ>0 then dec(ScrSavZ)
else Alarm;
end;
Ctrl_Cslt:
begin
if ScrSavZ=0 then alarm;
if ScrSavZ<10 then ScrSavZ:=0;
if ScrSavZ>9 then ScrSavZ:=ScrSavZ-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
fuel:=0;
if ScrSavZ<10 then fuel:=fuel+1;
write(ScrSavZ,Balken(fuel,' '));
end; {ausw=9}
if Ausw=10 then
begin
Editor(PromptS,xver+27,yver+ausw,30,false,true,Tast,40);
cursorAus;
end; {10}
if Ausw=11 then
begin
Case Tast of
Csrt:
begin
if NTimeOut<120 then inc(NTimeOut)
else Alarm;
if (NTimeOut>0) and (NtimeOut<10) then NTimeOut:=10;
end;
Ctrl_Csrt:
begin
if NTimeOut=120 then alarm;
if (NTimeOut>110) and (NTimeOut<120) then NTimeOut:=120;
if NTimeOut<111 then NTimeOut:=NTimeOut+10;
if (NTimeOut>0) and (NtimeOut<10) then NTimeOut:=10;
end;
Cslt:
begin
if NTimeOut>0 then dec(NTimeOut)
else Alarm;
if (NTimeOut>0) and (NtimeOut<10) then NTimeOut:=0;
end;
Ctrl_Cslt:
begin
if NTimeOut=0 then alarm;
if NTimeOut<10 then NTimeOut:=0;
if NTimeOut>9 then NTimeOut:=NTimeOut-10;
if (NTimeOut>0) and (NtimeOut<10) then NTimeOut:=0;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
fuel:=0;
if NTimeOut<100 then fuel:=fuel+1;
if NTimeOut<10 then fuel:=fuel+1;
write(NTimeOut,Balken(fuel,' '));
end; {ausw=11}
if Ausw=12 then
begin
Case Tast of
Csrt:
begin
if TTimeOut<120 then inc(TTimeOut)
else Alarm;
if (TTimeOut>0) and (TTimeout<10) then TTimeOut:=10;
end;
Ctrl_Csrt:
begin
if TTimeOut=120 then alarm;
if (TTimeOut>110) and (TTimeOut<120) then TTimeOut:=120;
if TTimeOut<111 then TTimeOut:=TTimeOut+10;
end;
Cslt:
begin
if TTimeOut>0 then dec(TTimeOut)
else Alarm;
if (TTimeout>0) and (TTimeout<10) then TTimeOut:=0;
end;
Ctrl_Cslt:
begin
if TTimeOut=0 then alarm;
if TTimeOut<10 then TTimeOut:=0;
if TTimeOut>9 then TTimeOut:=TTimeOut-10;
if (TTimeout>0) and (TTimeout<10) then TTimeOut:=0;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
fuel:=0;
if TTimeOut<100 then fuel:=fuel+1;
if TTimeOut<10 then fuel:=fuel+1;
write(TTimeOut,Balken(fuel,' '));
end; {ausw=12}
if Ausw=13 then
begin
Case Tast of
Csrt:
begin
if MaxFrameStd<7 then inc(MaxFrameStd)
else Alarm;
end;
Cslt:
begin
if MaxFrameStd>1 then dec(MaxFrameStd)
else Alarm;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
write(MaxFrameStd);
end; {ausw=13}
if Ausw=14 then
begin
Case Tast of
Csrt:
begin
if paclenstd<252 then inc(paclenstd)
else Alarm;
end;
Ctrl_Cslt:
begin
if paclenstd=10 then alarm;
if paclenstd>19 then paclenstd:=paclenstd-10 else paclenstd:=10;
end;
Ctrl_Csrt:
begin
if paclenstd=252 then alarm;
if paclenstd<=242 then paclenstd:=paclenstd+10 else paclenstd:=252;
end;
Cslt:
begin
if paclenstd>10 then dec(paclenstd)
else Alarm;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
write(paclenstd);
end; {ausw=14}
if Ausw=15 then
begin
Case Tast of
Csrt:
begin
if MaxNodes=0 then MaxNodes:=9;
if MaxNodes<400 then inc(MaxNodes)
else Alarm;
end;
Ctrl_Csrt:
begin
if MaxNodes=400 then alarm;
if (MaxNodes>390) and (MaxNodes<400) then MaxNodes:=400;
if MaxNodes<391 then MaxNodes:=MaxNodes+10;
end;
Cslt:
begin
if Maxnodes=0 then alarm;
if MaxNodes>10 then dec(MaxNodes)
else MaxNodes:=0;
end;
Ctrl_Cslt:
begin
if MaxNodes=0 then alarm;
if MaxNodes=10 then MaxNodes:=0;
if (MaxNodes<20) and (MaxNodes>10) then MaxNodes:=10;
if MaxNodes>19 then MaxNodes:=MaxNodes-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
fuel:=0;
if MaxNodes<100 then fuel:=fuel+1;
if MaxNodes<10 then fuel:=fuel+1;
write(MaxNodes,Balken(fuel,' '));
end; {ausw=15}
if Ausw=16 then
begin
Case Tast of
Csrt:
begin
if LifeTime<240 then inc(LifeTime)
else Alarm;
end;
Ctrl_Csrt:
begin
if LifeTime=240 then alarm;
if (LifeTime>230) and (LifeTime<240) then LifeTime:=240;
if LifeTime<231 then LifeTime:=LifeTime+10;
end;
Cslt:
begin
if LifeTime>20 then dec(LifeTime)
else Alarm;
end;
Ctrl_Cslt:
begin
if LifeTime=20 then alarm;
if LifeTime<30 then LifeTime:=20;
if LifeTime>29 then LifeTime:=LifeTime-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw);
fuel:=0;
if LifeTime<100 then fuel:=fuel+1;
if LifeTime<10 then fuel:=fuel+1;
write(LifeTime,Balken(fuel,' '));
end; {ausw=16}
if (Ausw=17) and (flagge) then
begin
SaveBild(BildSpeicher);
quietEinstellungen;
farbe (white, black);
clrscr;
ladebild(BildSpeicher);
end;
if Ausw=18 then
begin
case Tast of
CsLt, CsRt: ReqNam:=not ReqNam;
end;
farbe(highvg,highhg);
gotoxy(xver+27,yver+ausw-17);
if reqnam then Write(RespT[1]) else write(RespT[2]);
end; {ausw=18}
if Ausw=19 then
begin
case Tast of
CsLt, CsRt: NodeSound:=not NodeSound;
end;
farbe(highvg,highhg);
gotoxy(xver+27,yver+ausw-17);
if NodeSound then Write(RespT[1]) else write(RespT[2]);
end; {ausw=19}
if Ausw=20 then
begin
Case Tast of
Csrt:
begin
if MaxLoginUser=10 then Alarm;
if MaxLoginUser<10 then inc(MaxLoginUser);
end;
Ctrl_Csrt:
begin
if MaxLoginUser=10 then alarm;
if MaxLoginUser<10 then MaxLoginUser:=10;
end;
Cslt:
begin
if MaxLoginUser=1 then alarm;
if MaxLoginUser>1 then dec(MaxLoginUser)
end;
Ctrl_Cslt:
begin
if MaxLoginUser=1 then alarm;
if (MaxLoginUser>1) and (MaxLoginUser<=10) then MaxLoginUser:=1;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xver+27,yver+Ausw-17);
fuel:=0;
if MaxLoginUser<10 then fuel:=fuel+1;
write(MaxLoginUser,Balken(fuel,' '));
end; {ausw=20}
if Ausw=21 then
begin
case Tast of
CsLt, CsRt: CBFilter:=not CBFilter;
end;
farbe(highvg,highhg);
gotoxy(xver+27,yver+ausw-17);
if CBFilter then Write(RespT[1]) else write(RespT[2]);
end; {ausw=21}
case tast of
PgUp : if Seite>1 then
begin
dec(Seite);
swechsel:=true;
change:=true;
end;
PgDn : if Seite<2 then
begin
inc(Seite);
swechsel:=true;
change:=true;
end;
end;
until tast=esc;
end; {with}
end;
procedure speicher;
var fuel,auswa, ausw : byte;
tast:char;
change:boolean;
eingabe:string;
begin
ithema(60);
eingabe:='';
HelpNr:=9;
farbe(white,black);
clrscr;
ladebild(rahmen);
with konfig do
begin
auswa:=1; ausw:=1; change:=false;
Textzent(helpSetup[15],2,80,yml-1);
textzent(endfill(length(helpSetup[15]),'<27>',eingabe),2,80,yml);
{!RAMT}
gotoxy(xsp,ysp+1); write(helpb[1]+': ',mh);
gotoxy(xsp,ysp+2); write(helpb[2]+': ',backscram);
gotoxy(xsp,ysp+3); write(helpb[3]+': ',vorschzram);
gotoxy(xsp,ysp+4); write(helpb[4]+': ');
if BufferDat then write(RespT[1]) else write(RespT[2]);
gotoxy(xsp,ysp+5); write(helpb[5]+': ',BackUpTime);
farbe(highvg, highhg);
gotoxy(xsp+27,ysp+auswa);
write(balken(3,' '));
gotoxy(xsp+27,ysp+auswa);
write(mh);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8],2,80,23);
cursoraus;
repeat
tast:=taste;
auswa:=ausw;
case Tast of
f1:help(false,0);
Tab, CsDn, CR:
begin
Ausw:=Ausw+1;
if Ausw>5 then Ausw:=1;
change:=true;
end;
Shift_Tab, Csup:
begin
Ausw:=Ausw-1;
if Ausw<1 then Ausw:=5;
change:=true;
end;
end;
if change then
begin
change:=false;
farbe(white, black);
gotoxy(xsp+27,ysp+auswa);
write(balken(5,' '));
gotoxy(xsp+27,ysp+auswa);
case auswa of
1: write(mh);
2: write(BackscRam);
3: write(VorschZRam);
4: if BufferDat then write(RespT[1]) else write(RespT[2]);
5: write(BackupTime);
end;
textzent(Balken(78,' '),2,79,22);
textzent(Balken(78,' '),2,79,23);
farbe(highvg, highhg);
gotoxy(xsp+27,ysp+ausw);
if ausw=2 then write(balken(2,' ')) else write(balken(3,' '));
gotoxy(xsp+27,ysp+ausw);
case ausw of
1: begin
write(mh);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
2: begin
writE(backscram);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
3,5: begin
write(vorschzram);
farbe(specvg,black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
4: begin
if BufferDat then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
end;
end; {change}
if Ausw=1 then
begin
Case Tast of
Csrt:
begin
if mh<200 then inc(mh)
else Alarm;
end;
Ctrl_Csrt:
begin
if mh=200 then alarm;
if (mh>190) and (mh<200) then mh:=200;
if mh<191 then mh:=mh+10;
end;
Cslt:
begin
if mh>10 then dec(mh)
else Alarm;
end;
Ctrl_Cslt:
begin
if mh=10 then alarm;
if mh<35 then mh:=10;
if mh>34 then mh:=mh-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xsp+27,ysp+Ausw);
fuel:=0;
if mh<100 then fuel:=fuel+1;
write(mh,Balken(fuel,' '));
end; {ausw=1}
if Ausw=2 then
begin
Case Tast of
Csrt: begin
case backscram of
4: backscRam:=8;
8: backscRam:=16;
16: backscRam:=32;
32: backscRam:=64;
64: backscRam:=4;
end;
end;
Cslt: begin
case backscram of
4: backscRam:=64;
8: backscRam:=4;
16: backscRam:=8;
32: backscRam:=16;
64: backscRam:=32;
end;
end;
end;
gotoxy(xsp+27,ysp+ausw);
farbe(highvg,highhg);
fuel:=0;
if backscram<10 then fuel:=1;
write(backscram,balken(fuel,' '));
end;
if Ausw=3 then
begin
Case Tast of
Csrt:
begin
if vorschzram<200 then inc(vorschzram)
else Alarm;
end;
Ctrl_Csrt:
begin
if vorschzram=200 then alarm;
if (vorschzram>190) and (vorschzram<200) then vorschzram:=200;
if vorschzram<191 then vorschzram:=vorschzram+10;
end;
Cslt:
begin
if vorschzram>10 then dec(vorschzram)
else Alarm;
end;
Ctrl_Cslt:
begin
if vorschzram=10 then alarm;
if vorschzram<20 then vorschzram:=10;
if vorschzram>19 then vorschzram:=vorschzram-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xsp+27,ysp+Ausw);
fuel:=0;
if vorschzram<100 then fuel:=fuel+1;
write(vorschzram,Balken(fuel,' '));
end; {ausw=3}
if Ausw=4 then
begin
if Tast in [CsRt, CsLt] then BufferDat:=not BufferDat;
farbe(highvg,highhg);
gotoxy(xsp+27,ysp+Ausw);
if BufferDat then write(RespT[1]) else write(RespT[2]);
end;
if Ausw=5 then
begin
Case Tast of
Csrt:
begin
if BackUpTime<200 then inc(BackUpTime)
else Alarm;
If BackupTime=1 then BackupTime:=2;
end;
Ctrl_Csrt:
begin
if BackUpTime=200 then alarm;
if (BackUpTime>190) and (BackUpTime<200) then BackUpTime:=200;
if BackUpTime<191 then BackUpTime:=BackUpTime+10;
end;
Cslt:
begin
if BackUpTime>0 then dec(BackUpTime);
if BackupTime=0 then Alarm;
if BackupTime=1 then BackupTime:=0;
end;
Ctrl_Cslt:
begin
if BackUpTime>=10 then BackUpTime:=BackupTime-10 else alarm;
if BackupTime=1 then BackupTime:=0;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xsp+27,ysp+Ausw);
fuel:=0;
if BackUpTime<100 then fuel:=fuel+1;
write(BackUpTime,Balken(fuel,' '));
end; {ausw=5}
until tast=esc;
end; {with}
end;
procedure drucker;
var auswa,ausw,fuel:byte;
change:boolean;
Tast:char;
eingabe:string;
begin
ithema(70);
eingabe:='';
HelpNr:=10;
with konfig do
begin
farbe(white,black);
CursorAus;
clrscr;
ladebild(rahmen);
Textzent(helpSetup[16],2,80,ydr-3);
textzent(endfill(length(helpSetup[16]),'<27>',eingabe),2,80,ydr-2);
{!PRTT}
gotoxy(xdr,ydr+1); write(helpb[1]+': ',LPtNr);
gotoxy(xdr,ydr+2); write(helpb[2]+': ',LPtAdr);
farbe(highvg,highhg);
gotoxy(xdr+17,ydr+1);write(LPTNr);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
Change:=false;
Ausw:=1;
repeat
if ausw<>2 then tast:=taste;
auswa:=ausw;
Case Tast of
f1:help(false,0);
cr,tab,csdn:
begin
inc(ausw);
if Ausw>2 then Ausw:=1;
Change:=true;
end;
csUp,shift_tab:
begin
dec(ausw);
if Ausw<1 then Ausw:=2;
Change:=true;
end;
end; {case tast}
if change then
begin
change:=false;
farbe(white,black);
gotoxY(xdr+17,ydr+auswa);
case Auswa of
1: write(lptNr);
2: write(lptAdr+' ');
end; {case auswa}
farbe(highvg,highhg);
gotoxY(xdr+17,ydr+ausw);
case Ausw of
1: begin
write(lptNr);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22);
end;
2: begin
write(balken(3,' '));
gotoxY(xdr+17,ydr+ausw);
write(lptAdr);
farbe(specvg,black);
textzent(balken(73,#32),2,80,22);
end;
end; {case ausw}
end; {change}
if Ausw=1 then
begin
case tast of
cslt: begin
dec(lptNr);
if lptnr=0 then lptnr:=3;
end;
CsRt: begin
inc(lptNr);
if lptnr>3 then lptnr:=1;
end;
end;
farbe(highvg,highhg);
gotoxy(xdr+17,ydr+ausw);
write(lptnr);
end;
If Ausw=2 then
begin
cursorEin;
Editor(lptadr,xdr+17,ydr+ausw,3,true,false,tast,0);
CursorAus;
end;
until tast=esc;
end;{with}
end;
procedure MailFrameSet;
var mfs, auswa, x,y, ausw : byte;
change: boolean;
eingabe:string;
fuel:byte;
tast:char;
begin
ithema(50);
eingabe:='';
HelpNr:=8;
with konfig do
begin
auswa:=1;
ausw:=1;
change:=false;
farbe (white, black);
clrscr;
ladebild(rahmen);
Textzent(helpSetup[14],2,80,yml-2);
textzent(endfill(length(helpSetup[14]),'<27>',eingabe),2,80,yml-1);
end;
y:=yml;
x:=xml;
{!Mailt}
gotoxy(x,yml); write(helpb[1]+': ');
farbe(highvg,highhg);
if Konfig.MailFErl then write(RespT[1]) else write(RespT[2]);
farbe(specvg,black);
textzent(helpSetup[4],2,79,22);
textzent(helpSetup[8],2,79,23);
cursorAus;
farbe(highvg, highhg);
for mfs:=1 to 10 do
begin
y:=y+2;
if mfs=6 then
begin
y:=yml+2;
x:=x+19;
end;
gotoxy(x,y);
write(Balken(10,' '));
gotoxy(x,y); write(Konfig.MailFrame[mfs]);
end;
farbe(white,black); gotoxy(xml, y+2); write(HelpB[2]+': ');
if Konfig.OwnMailFr then write(RespT[1]) else write(RespT[2]);
farbe(white,black); gotoxy(xml, y+3); write(HelpB[4]+': ',Konfig.MailFrameZeit);
gotoxy(xml,y+4); write(HelpB[3]+': ');
gotoxy(xml,y+5);
farbe(highvg, highhg); write(EndFill(50,' ',Konfig.OwnMailPfad));
repeat
if ausw=1 then
begin
farbe(highvg,highhg);
gotoxy(xml+24,yml+ausw-1);
if Konfig.MailFErl then write(RespT[1]) else write(RespT[2]);
cursorAus;
end;
if ausw in [1,12,13] then tast:=taste;
case Tast of
f1:help(false,50);
CsDn,CR, Tab: begin
inc(Ausw);
change:=true;
end;
CSUp,Shift_Tab: begin
dec(Ausw);
change:=true;
end;
end;
if Ausw>14 then Ausw:=1;
if Ausw<1 then Ausw:=14;
if Ausw in [2,11,12,13,14] then
begin
farbe(white ,black);
gotoxy(xml+24,yml);
if Konfig.MailFErl then write(RespT[1]) else write(RespT[2]);
gotoxy(xml+24, yml+12);
if Konfig.OwnMailFr then write(RespT[1]) else write(RespT[2]);
gotoxy(xml+24, yml+13);
write(Konfig.MailFrameZeit,' ');
farbe(specvg,black);
textzent(Balken(77,' '),2,79,22);
textzent(helpSetup[8],2,79,23);
end;
if Ausw=1 then
begin
if change then
begin
change:=false;
farbe(specvg, black);
textzent(helpSetup[4],2,79,22);
textzent(helpSetup[8],2,79,23);
end;
case Tast of
csrt,cslt: Konfig.MailFErl:=not Konfig.MailFErl;
end;
farbe(highvg, highhg);
gotoxy(xml+24, yml+Ausw-1);
if Konfig.MailFErl then write(RespT[1]) else write(RespT[2]);
end;
if Ausw in [2..11] then
begin
y:=yml;
x:=xml;
for mfs:=1 to ausw-1 do
begin
y:=y+2;
if mfs=6 then
begin
x:=x+19;
y:=yml+2;
end;
end;
Editor(Konfig.MailFrame[Ausw-1],x,y,10,true,false,Tast,50);
end;
if Ausw=12 then
begin
if change then
begin
change:=false;
farbe(specvg, black);
textzent(helpSetup[4],2,79,22);
textzent(helpSetup[8],2,79,23);
end;
case Tast of
csrt,cslt: Konfig.OwnMailFr:=not Konfig.OwnMailFr;
end;
farbe(highvg, highhg);
gotoxy(xml+24, yml+12);
if Konfig.OwnMailFr then write(RespT[1]) else write(RespT[2]);
end; {12}
if Ausw=13 then
begin
Case Tast of
Csrt:
begin
if Konfig.MailFrameZeit<120 then inc(Konfig.MailFrameZeit)
else Alarm;
end;
Ctrl_Csrt:
begin
if Konfig.MailFrameZeit=120 then alarm;
if (Konfig.MailFrameZeit>110) and (Konfig.MailFrameZeit<120) then Konfig.MailFrameZeit:=120;
if Konfig.MailFrameZeit<111 then Konfig.MailFrameZeit:=Konfig.MailFrameZeit+10;
end;
Cslt:
begin
if Konfig.MailFrameZeit>1 then dec(Konfig.MailFrameZeit)
else Alarm;
end;
Ctrl_Cslt:
begin
if Konfig.MailFrameZeit=10 then alarm;
if Konfig.MailFrameZeit<20 then Konfig.MailFrameZeit:=10;
if Konfig.MailFrameZeit>19 then Konfig.MailFrameZeit:=Konfig.MailFrameZeit-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xml+24,yml+13);
fuel:=0;
if Konfig.MailFrameZeit<100 then fuel:=fuel+1;
write(Konfig.MailFrameZeit,Balken(fuel,' '));
end; {ausw=13}
if Ausw=14 then
begin
gotoxy(xml, yml+15); farbe(highvg, highhg); write(EndFill(50,' ',Konfig.OwnMailPfad));
Editor(Konfig.OwnMailPfad,xml,yml+15,50,true,true,Tast,50);
end;
until tast=ESC;
end;
procedure Sound;
var eingabe:string;
change:boolean;
ausw,auswa:byte;
tast:char;
neu,
fehl:integer;
begin
{$IFDEF Sound}
ithema(100);
eingabe:='';
HelpNr:=14;
with konfig do
begin
farbe(white,black);
CursorAus;
clrscr;
ladebild(rahmen);
Textzent(helpSetup[38],2,80,ysn-3);
textzent(endfill(length(helpSetup[38]),'<27>',eingabe),2,80,ysn-2);
farbe(white,black);
gotoxy(xsn, ysn+1); write(helpb[1]+':');
farbe(highvg,highhg);
gotoxy(xsn+26, ysn+1); if WavOut then write(RespT[1]) else write(RespT[2]);
farbe(white,black);
gotoxy(xsn, ysn+2); write(helpb[2]+':') ;
gotoxy(xsn+26, ysn+2); if WavSprach then write(RespT[1]) else write(RespT[2]);
gotoxy(xsn, ysn+3); write(helpb[3]+':') ;
gotoxy(xsn+26, ysn+3); if MidiOut then write(RespT[1]) else write(RespT[2]);
if MidiADR=0 then MidiADR:=904;
gotoxy(xsn, ysn+4); write(helpb[4]+': ', Hex(MidiADR,3));
gotoxy(xsn, ysn+5); write(helpb[5]+': ', Hex(SBBaseADR,3));
gotoxy(xsn, ysn+6); write(helpb[6]+': ', SBLoDMA);
gotoxy(xsn, ysn+7); write(helpb[7]+': ', SBHiDMA);
gotoxy(xsn, ysn+8); write(helpb[8]+': ', SBIRQ);
farbe(specvg,black);
textzent(helpSetup[4],2,80,22); {rechts/links}
textzent(helpSetup[39],2,80,23);
Change:=false;
Ausw:=1;
repeat
if (ausw<4) or (Ausw>5) then tast:=taste;
auswa:=ausw;
Case Tast of
f1:help(false,0);
f2:begin
SBDetect(SBBaseADR, SBHiDMA, SBLoDMA, SBIRQ);
if SBBaseADR = 0 then
begin
farbe(White,black);
gotoxy(xsn+26,ysn+5); write('? ');
gotoxy(xsn+26,ysn+6); write('? ');
gotoxy(xsn+26,ysn+7); write('? ');
gotoxy(xsn+26,ysn+8); write('? ');
end else
begin
farbe(White,black);
gotoxy(xsn+26,ysn+5); write(Hex(SBBaseADR,3));
gotoxy(xsn+26,ysn+6); write(SBLoDMA);
gotoxy(xsn+26,ysn+7); write(SBHiDMA);
gotoxy(xsn+26,ysn+8); write(SBirq);
end;
end;
cr,tab,csdn:
begin
inc(ausw);
if Ausw>8 then Ausw:=1;
Change:=true;
end;
csUp,shift_tab:
begin
dec(ausw);
if Ausw<1 then Ausw:=8;
Change:=true;
end;
end; {case tast}
if change then
begin
change:=false;
farbe(white,black);
gotoxY(xsn+26,ysn+auswa);
case Auswa of
1: if WavOut then write(RespT[1]) else write(RespT[2]);
2: if WavSprach then write(RespT[1]) else write(RespT[2]);
3: if MidiOut then write(RespT[1]) else write(RespT[2]);
6: write(endfill(2,#32,int_Str(SBLoDMA)));
7: write(endfill(2,#32,int_str(SBHiDMA)));
8: write(endfill(2,#32, int_str(SBIRQ)));
end; {case auswa}
farbe(highvg,highhg);
gotoxY(xsn+26,ysn+ausw);
case Ausw of
1: begin
if WAVOut then write(RespT[1]) else write(RespT[2]);
farbe(white,black);
textzent(helpSetup[4],2,80,22); {rechts/links}
end;
2: begin
if WAVSprach then write(RespT[1]) else write(RespT[2]);
farbe(white,black);
textzent(helpSetup[4],2,80,22); {rechts/links}
end;
3: begin
if MidiOut then write(RespT[1]) else write(RespT[2]);
farbe(white,black);
textzent(helpSetup[4],2,80,22); {rechts/links}
end;
4: begin
farbe(white,black);
textzent(balken(73,#32),2,80,22);
farbe(highvg,highhg);
gotoxY(xsn+26,ysn+ausw);
write(balken(3,' '));
gotoxY(xsn+26,ysn+ausw);
eingabe:=HEX(MidiADR,3);
write(eingabe);
Editor(eingabe,xsn+26,ysn+ausw,3,true,false,Tast,0);
eingabe:='$'+eingabe;
VAL(eingabe, Neu, Fehl);
if Fehl=0 then MidiADR:=neu
else eingabe:=HEX(MidiADR,3);
farbe(white,black);
if eingabe[1]='$' then delete(eingabe,1,1);
write(eingabe);
farbe(specvg,black);
end;
5: begin
farbe(white,black);
textzent(balken(73,#32),2,80,22);
gotoxY(xsn+26,ysn+ausw);
farbe(highvg,highhg);
write(balken(3,' '));
gotoxY(xsn+26,ysn+ausw);
eingabe:=HEX(SBBaseADR,3);
write(eingabe);
Editor(eingabe,xsn+26,ysn+ausw,3,true,false,Tast,0);
eingabe:='$'+eingabe;
VAL(eingabe, Neu, Fehl);
if Fehl=0 then SBBaseADR:=neu
else eingabe:=HEX(SBBaseADR,3);
farbe(white,black);
if eingabe[1]='$' then delete(eingabe,1,1);
write(eingabe);
farbe(specvg,black);
end;
6: begin
write(endfill(2,#32,int_Str(SBLoDMA)));
farbe(white,black);
textzent(helpSetup[4],2,80,22); {rechts/links}
end;
7: begin
write(endfill(2,#32,int_str(SBHiDMA)));
farbe(white,black);
textzent(helpSetup[4],2,80,22); {rechts/links}
end;
8: begin
write(endfill(2,#32, int_str(SBIRQ)));
farbe(white,black);
textzent(helpSetup[4],2,80,22); {rechts/links}
end;
end; {case ausw}
end; {change}
farbe(highvg,highhg);
if Ausw=1 then
begin
case tast of
cslt, csrt, #32: WavOut:=not WavOut;
end;
farbe(highvg,highhg);
gotoxy(xsn+26,ysn+ausw);
if WavOut then write(RespT[1]) else write(RespT[2]);
if WavOut and MidiOut then MidiOUt:=False;
end;
If Ausw=2 then
begin
case tast of
cslt, csrt, #32: WavSprach:=not WavSprach;
end;
farbe(highvg,highhg);
gotoxy(xsn+26,ysn+ausw);
if WavSprach then write(RespT[1]) else write(RespT[2]);
end;
If Ausw=3 then
begin
farbe(highvg,highhg);
case tast of
cslt, csrt, #32: MidiOut:=not MidiOut;
end;
gotoxy(xsn+26,ysn+ausw);
if MidiOut then write(RespT[1]) else write(RespT[2]);
if WavOut and MidiOut then WAVOUt:=False;
end;
If Ausw=6 then
begin
farbe(highvg,highhg);
case tast of
csrt: if SBLoDMA<10 then inc(SBLoDMA) else Alarm;
cslt: if SBLoDMA>1 then dec(SBLoDMA) else ALARM;
end;
gotoxy(xsn+26,ysn+ausw);
write(endfill(2,#32,int_Str(SBLoDMA)));
end;
If Ausw=7 then
begin
farbe(highvg,highhg);
case tast of
csrt: if SBHiDMA<10 then inc(SBHiDMA) else Alarm;
cslt: if SBHiDMA>1 then dec(SBHiDMA) else ALARM;
end;
gotoxy(xsn+26,ysn+ausw);
write(endfill(2,#32,int_str(SBHiDMA)));
end;
If Ausw=8 then
begin
farbe(highvg,highhg);
case tast of
csrt: if SBIRQ<15 then inc(SBIRQ) else Alarm;
cslt: if SBIRQ>1 then dec(SBIRQ) else ALARM;
end;
gotoxy(xsn+26,ysn+ausw);
write(endfill(2,#32, int_str(SBIRQ)));
end;
until tast=esc;
end;{with}
{$ENDIF}
end;
procedure blinde;
var auswa, ausw : byte;
change: boolean;
fuel:byte;
tast:char;
eingabe:string;
begin
iThema(80);
HelpNr:=11;
with konfig do
begin
eingabe:='';
auswa:=1;
ausw:=1;
change:=false;
farbe (white, black);
clrscr;
ladebild(rahmen);
{!BLNT}
Textzent(helpSetup[17],2,80,ybld-3);
textzent(endfill(length(helpSetup[17]),'<27>',eingabe),2,80,ybld-2);
gotoxy(xbld,ybld+1); write(helpb[1]+': ');
if SoftHardC then write(RespT[1]) else write(RespT[2]);
gotoxy(xbld,ybld+2); write(helpb[2]+': ');
if WinRout then write(RespT[1]) else write(RespT[2]);
gotoxy(xbld,ybld+3); write(helpb[3]+': ',WinRoutTime);
gotoxy(xbld,ybld+4); write(helpb[4]+': ');
if RXBeepStart then write(RespT[1]) else write(RespT[2]);
gotoxy(xbld,ybld+5); write(helpb[5]+': ');
if AchzigBrail then write(RespT[1]) else write(RespT[2]);
gotoxy(xbld,ybld+6); write(helpb[6]+': ');
if SteuerZ then write(RespT[1]) else write(RespT[2]);
gotoxy(xbld,ybld+7); write(helpb[7]+': ');
if MarkTon then write(RespT[1]) else write(RespT[2]);
gotoxy(xbld,ybld+8); write(helpb[8]+': ');
if ausgabeBios then write(RespT[1]) else write(RespT[2]);
farbe(specvg, black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
if softhardC then write(RespT[1]) else write(RespT[2]);
cursorAus;
repeat
tast:=taste;
auswa:=ausw;
case tast of
f1:help(false,80);
csdn, cr, tab:
begin
inc(ausw);
change:=true;
if ausw>8 then ausw:=1;
end;
csup, shift_tab:
begin
dec(ausw);
change:=true;
if ausw<1 then ausw:=8;
end;
end; {case tast}
if change then
begin
farbe(white,black);
textzent(Balken(78,' '),2,79,22);
textzent(Balken(78,' '),2,79,23);
gotoxy(xbld+27,ybld+auswa);
change:=false;
case auswa of
1: if softhardC then write(RespT[1]) else write(RespT[2]);
2: if Winrout then write(RespT[1]) else write(RespT[2]);
3: write(WinRoutTime,' ');
4: if RXBeepStart then write(RespT[1]) else write(RespT[2]);
5: if AchzigBrail then write(RespT[1]) else write(RespT[2]);
6: if SteuerZ then write(RespT[1]) else write(RespT[2]);
7: if MarkTon then write(RespT[1]) else write(RespT[2]);
8: if AusgabeBios then write(RespT[1]) else write(RespT[2]);
end;
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
case ausw of
1: begin
if softhardC then write(RespT[1]) else write(RespT[2]);
farbe(specvg, black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
2: begin
if Winrout then write(RespT[1]) else write(RespT[2]);
farbe(specvg, black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
3: begin
write(balken(2,' '));
gotoxy(xbld+27,ybld+ausw);
write(WinRoutTime,' ');
farbe(specvg, black);
textzent(helpSetup[5],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
4:begin
if RXBeepStart then write(RespT[1]) else write(RespT[2]);
farbe(specvg, black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
5: begin
if AchzigBrail then write(RespT[1]) else write(RespT[2]);
farbe(specvg, black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
6: begin
if SteuerZ then write(RespT[1]) else write(RespT[2]);
farbe(specvg, black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
7: begin
if MarkTon then write(RespT[1]) else write(RespT[2]);
farbe(specvg, black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
8: begin
if AusgabeBios then write(RespT[1]) else write(RespT[2]);
farbe(specvg, black);
textzent(helpSetup[4],2,80,22);
textzent(helpSetup[8],2,80,23);
end;
end;
end; {change}
if Ausw=1 then
begin
case Tast of
CsLt, CsRt: softhardc:=not softhardc;
end;
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
if Softhardc then Write(RespT[1]) else write(RespT[2]);
end; {ausw=1}
if Ausw=2 then
begin
case Tast of
CsLt, CsRt: WinRout:=not Winrout;
end;
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
if WinRout then Write(RespT[1]) else write(RespT[2]);
end; {ausw=2}
if Ausw=3 then
begin
Case Tast of
Csrt:
begin
if winrouttime<30 then inc(winrouttime)
else Alarm;
end;
Ctrl_Csrt:
begin
if winrouttime=30 then alarm;
if (winrouttime>20) and (winrouttime<30) then winrouttime:=30;
if winrouttime<21 then winrouttime:=winrouttime+10;
end;
Cslt:
begin
if winrouttime>1 then dec(winrouttime)
else Alarm;
end;
Ctrl_Cslt:
begin
if winrouttime=1 then alarm;
if winrouttime<11 then winrouttime:=1;
if winrouttime>11 then winrouttime:=winrouttime-10;
end;
end; {Case}
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+Ausw);
fuel:=0;
if winrouttime<10 then fuel:=fuel+1;
write(winrouttime,Balken(fuel,' '));
end; {ausw=3}
if Ausw=4 then
begin
case Tast of
CsLt, CsRt: RXBeepStart:=not rxbeepstart;
end;
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
if rxbeepstart then Write(RespT[1]) else write(RespT[2]);
end; {ausw=4}
if Ausw=5 then
begin
case Tast of
CsLt, CsRt: AchzigBrail:=not AchzigBrail;
end;
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
if AchzigBrail then Write(RespT[1]) else write(RespT[2]);
end; {ausw=5}
if Ausw=6 then
begin
case Tast of
CsLt, CsRt: Steuerz:=not Steuerz;
end;
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
if Steuerz then Write(RespT[1]) else write(RespT[2]);
end; {ausw=6}
if Ausw=7 then
begin
case Tast of
CsLt, CsRt: MarkTon:=not MarkTon;
end;
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
if MarkTon then Write(RespT[1]) else write(RespT[2]);
end; {ausw=7}
if Ausw=8 then
begin
case Tast of
CsLt, CsRt: ausgabeBios:=not AusgabeBios;
end;
farbe(highvg,highhg);
gotoxy(xbld+27,ybld+ausw);
if AusgabeBios then Write(RespT[1]) else write(RespT[2]);
end; {ausw=8}
until tast=esc;
end; {with}
end; {blinde}
procedure Persoenliches;
var tast : char;
eingabe: string;
i : byte;
ausw, a:byte;
begin
with Konfig do
begin
IThema(90);
eingabe:='';
helpNr:=13;
farbe (white, black);
tast:=#1;
clrscr;
ladebild(rahmen);
Textzent(helpSetup[37],2,80,yper-3);
textzent(endfill(length(helpSetup[37]),'<27>',eingabe),2,80,yper-2);
gotoxy(xper,yper+1); write(Helpb[1]+': '+PersName);
gotoxy(xper,yper+2); write(helpb[2]+': '+PersLoc);
gotoxy(xper,yper+3); write(helpb[3]+': '+PersQTH);
textzent(helpSetup[8],2,80,23);
textzent(helpB[4],2,80,yper+7);
ausw:=1; a:=0;
repeat
farbe(white, black);
case Tast of
F1 : help(false,13);
CR,tab,CsDn: inc(ausw);
shift_tab,csup: dec(ausw);
end;
if ausw>3 then ausw:=1;
if ausw<1 then ausw:=3;
case ausw of
1: begin
farbe (highvg, highhg); gotoxy(xper+17,yper+1); write(EndFill(30,' ',Konfig.PersName));
Editor(Konfig.PersName,xper+17,yper+1,30,false,true,Tast,0);
farbe (white, black); gotoxy(xper+17,yper+1); write(EndFill(30,' ',Konfig.PersName));
end;
2: begin
farbe (highvg, highhg); gotoxy(xper+17,yper+2); write(EndFill(10,' ',Konfig.PersLoc));
Editor(Konfig.PersLoc,xper+17,yper+2,10,true,false,Tast,0);
farbe (white, black); gotoxy(xper+17,yper+2); write(EndFill(10,' ',Konfig.PersLoc));
end;
3: begin
farbe (highvg, highhg); gotoxy(xper+17,yper+3); write(EndFill(30,' ',Konfig.PersQTH));
Editor(Konfig.PersQTH,xper+17,yper+3,30,false,true,Tast,0);
farbe (white, black); gotoxy(xper+17,yper+3); write(EndFill(30,' ',Konfig.PersQTH));
end;
enD; {ausw}
until Tast=ESC
end; {with kofnig}
end;
Procedure KonfigSpeichern;
begin
konfig.Version:=174;
{$I-}
Assign(Datei,ConfigDat);
Konfig.teil1:=ord('3');
Konfig.teil2:=ord('2');
Konfig.teil3:=ord('3');
Konfig.teil4:=ord('6');
rewrite(Datei);
Konfig.Kenner:=kennst;
write(Datei, Konfig);
if ioresult <>0 then writeln(helpSetup[25]);
Close(Datei);
{$I+}
end;
(*
Function CBCallCheck (CBCall : String) : Boolean ;
var hstr1 : String;
Flag1 : Boolean;
begin
{
CB-Call-System in Deutschland:
Freigegeben: DAA200 bis DRZ999
Ausgegrenzt sind folgende:
DBA200 - DBA999
DBR200 - DBR999
DEA200 - DEA999
DER200 - DER999
Info: DAKfCBNF, RZ-Stelle, Edgar (DHF600)
}
Strip (CBCall);
flag1:=false;
if length(CBCall)=6 then
begin
hstr1:=copy (Hstr1,3,3);
if str_int(hstr1)>199 then
begin
delete(hstr1,3,3);
if hstr1[1]='D' then
begin
delete(hstr1,1,1);
if hstr1[1] in ['A'..'R'] then
begin
if hstr1[2] in ['A'..'Z'] then
begin
flag1:=true;
if (hstr1='BA') or
(hstr1='BR') or
(hstr1='EA') or
(hstr1='ER') then flag1:=false;
end else flag1:=false;
end else flag1:=false;
end else flag1:=false;
end else flag1:=false;
end else flag1:=false;
CBCallCheck := Flag1;
end;
*)
Procedure Abschluss;
var Tast:Char;
cbflag : Boolean;
cbi:byte;
begin
farbe(white,black);
clrscr;
textzent(helpSetup[26],2,80,10);
textzent(helpSetup[27],2,80,12);
writeln;
cursoraus;
tast:=taste;
case Tast of
Cr,'j','J':
begin
clrscr;
writeln(helpSetup[28]);
KonfigSpeichern;
DirCheck;
end else begin
clrscr;
writeln(helpSetup[29]);
writeln;
Konfig.CBFilter:=CBFilterStatus;
end;
end;{case}
if Konfig.CBFilter then
begin
writeln;
writeln (' ACHTUNG: CB-Call-Filter auf CB-Ports aktiv!');
writeln;
writeln (' Diese Verordnung wurde au<61>er Kraft gesetzt, daher besteht');
writeln (' kein Sinn, diesen Filter weiterhin zu nuten!');
writeln;
writeln (' Stand: 20.10.1999');
writeln;
writeln (' Bitte eine Taste dr<64>cken ...');
tast:=taste;
writeln;
end;
end;
Function TexteLesen : Boolean;
var
Hstr:String[77];
HTZeile:longint;
fireup: integer;
itl,
TArt: Byte;
DatDa,
KFlag, {kopf gefunden}
LFlag : Boolean; {leerzeile}
begin
HEditorN:=0;
HSetupN:=0;
RespN:=0;
fireup:=0;
HSetupN:=0;
HMenN:=0;
{$I-}
Assign(BDat, 'XPSETHLP.XP');
reset(BDAT);
Pufferlang:=FileSize(BDAT);
Close(BDAT);
TextPuffer:=nil;
GetMem(TextPuffer,sizeof(TextPuffer^));
FillChar(TextPuffer^,SizeOf(TextPuffer^),0);
Assign(Hdat,'XPSETHLP.XP');
reset(HDat,1);
DatDa:=false;
if IORESULT=0 then
begin
DatDa:=true;
clrscr;
write('Loading XPACKSET ');
PufferLang:=FileSize(HDAT);
BlockRead(HDat, TextPuffer^, SizeOf(TextPuffer^), Result);
HTZeile:=0;
tart:=0;
while HTZeile<Result do
begin
if (HTZeile mod 20)=0 then write('>');
LFlag:=false; Kflag:=false;
inc(HTZeile);
Hstr:='';
while (TextPuffer^[HTZeile]<>#13) and (HTZeile<Result) do
begin
inc(HTZeile);
if TextPuffer^[htzeile]<>#13 then hstr:=hstr+TextPuffer^[htzeile];
end;
if (Pos('#END#', Upc(Hstr))=1) then
begin
TART:=0;
LFlag:=true;
end;
if (Pos('#REM#', Upc(Hstr))=1) or (Hstr='') then LFlag:=true;
i:=0;
if not LFLag then
begin
if TART=0 then
while (i<27) And (pos(Texte[i],Hstr)=0) do Inc(i); { i<27 als erstes, }
{ da sonst bei i=27 der Ausdruck pos(Texte[27],Hstr) eine Bereichs- }
{ ueberschreitung ausloesst. //db1ras }
case i of
1: begin
TArt:=1;
LFlag:=true;
end;
2: begin
TArt:=2;
LFlag:=true;
end;
3: begin
TART:=0;
HilfeThemen[3]:=HTZeile;
LFlag:=true;
end;
4: begin
TART:=0;
HilfeThemen[4]:=HTZeile;
LFlag:=true;
end;
5: begin
TART:=0;
HilfeThemen[5]:=HTZeile;
LFlag:=true;
end;
6: begin
TART:=0;
HilfeThemen[6]:=HTZeile;
LFlag:=true;
end;
7: begin
TART:=0;
HilfeThemen[7]:=HTZeile;
LFlag:=true;
end;
8: begin
TART:=0;
HilfeThemen[8]:=HTZeile;
LFlag:=true;
end;
9: begin
TART:=0;
HilfeThemen[9]:=HTZeile;
LFlag:=true;
end;
10:begin
TART:=0;
HilfeThemen[10]:=HTZeile;
LFlag:=true;
end;
11:begin
TART:=0;
HilfeThemen[11]:=HTZeile;
LFlag:=true;
end;
12:begin
TART:=0;
HilfeThemen[12]:=HTZeile;
LFlag:=true;
end;
13:begin
TART:=15;
LFlag:=true;
end;
14:begin
TART:=0;
HilfeThemen[20]:=HTZeile;
LFlag:=true;
end;
15:begin
TART:=0;
HilfeThemen[21]:=HTZeile;
LFlag:=true;
end;
16:begin
TART:=0;
HilfeThemen[30]:=HTZeile;
LFlag:=true;
end;
17:begin
TART:=0;
HilfeThemen[40]:=HTZeile;
LFlag:=true;
end;
18:begin
TART:=0;
HilfeThemen[50]:=HTZeile;
LFlag:=true;
end;
19:begin
TART:=0;
HilfeThemen[60]:=HTZeile;
LFlag:=true;
end;
20:begin
TART:=0;
HilfeThemen[70]:=HTZeile;
LFlag:=true;
end;
21:begin
TART:=0;
HilfeThemen[80]:=HTZeile;
LFlag:=true;
end;
22:begin
TART:=0;
HilfeThemen[90]:=HTZeile;
LFlag:=true;
end;
23:begin
TART:=0;
HilfeThemen[13]:=HTZeile;
LFlag:=true;
end;
25:begin
TART:=0;
HilfeThemen[100]:=HTZeile;
LFlag:=true;
end;
26:begin
TART:=0;
HilfeThemen[14]:=HTZeile;
LFlag:=true;
end;
24:begin
TArt:=255;
LFlag:=true;
end;
end;{case}
end; {if not Lflag}
if (not Lflag) and (not KFlag) then
begin
case TArt of
1: begin
inc (HSetupN);
helpSetup[HSetupN]:=Hstr;
end;
2: begin
inc (HEditorN);
helpeditor[HEditorN]:=Hstr;
end;
15: begin
inc(RespN);
RespT[respn]:=endfill(4,' ',Hstr);
end;
255: begin
inc(HMenN);
HMIt[HMenN]:=Hstr;
end;
end; {case Tart}
end;
end; {ehile eof}
end; {ioresult}
TexteLesen:=DatDa;
close(hdat);
fireup:=ioresult;
{$I+}
writeln;
end;
procedure Lese17;
begin
{$I-}
Assign(Datei,ConfigDat);
reset(Datei);
read(Datei, Konfig);
if Konfig.MaxLoginUser=0 then Konfig.MaxLoginUser:=3;
CBFilterStatus:=Konfig.CBFilter;
close(Datei);
{$I+}
if ioresult<>0 then confok:=false;
end;
begin
CheckBreak := false; { kein Abbruch durch ctrl-C }
GetCBreak(BreakStatus); { Break-Status holen und retten }
SetCBreak(false); { Break off }
farbe(white,black);
clrscr;
HilfeRSaved:=false;
i:=0;
HelpDatDa:=TexteLesen;
if HelpDatDa then
begin
CURSORTEST;
can:=cursoranf;
cen:=cursorende;
cse:=cursorseite;
item:=1;
Tau:=1;
InitVar;
confok:=false;
{filesize checken - file of byte!}
{$I-}
Assign(Dateiw,ConfigDat);
reset(Dateiw);
datsize:=filesize(Dateiw);
close(dateiw);
I:=Ioresult;
{$I+}
{11167 ALTE 1.70!!}
if (datsize=11388) then {*** Config 1.73/1.80 11283 ***}
begin
confok:=true;
Lese17;
{ konfigspeichern;}
if Konfig.Version<>174 then ConfOK:=false;
end;
if Konfig.Kenner<>Kennst then confok:=false;
if not confok then writeln(helpSetup[33]);
if (not confok) then
begin
i:=ioresult;
{$I-}
writeln;
writeln(helpSetup[30]);
farbe(white,black);
alarm;
INitVar;
cursoraus;
warte(200);
KonfigSpeichern;
cursorein;
{$I+}
end else konfigSpeichern;
if Konfig.LifeTime>240 then Konfig.LifeTime:=240;
if Konfig.BackupTime=1 then Konfig.BackupTime:=2;
new(hauptmenu);
new(EditorHilfe);
new(rahmen);
new(HilfeRahmen);
new(BildSpeicher);
Farbe(white, black);
clrscr;
gotoxy(1,1);
write('<27>');
for i:=1 to 78 do write('<27>');
write('<27>');
gotoxy(1,24);
write('<27>');
for i:=1 to 78 do write('<27>');
write('<27>');
for i:=2 to 23 do
begin
gotoxy(1,i);
write('<27>');
gotoxy(80,i);
write('<27>');
end;
gotoxy(2,1); write('XPacket V1.81b7(as)');
{$ifndef Sound}
write(' - NoSound');
{$Endif}
savebild(Rahmen);
textzent('X P a c k e t - S e t u p',2,80,y);
Textzent('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',2,80,y+1);
{$IFNDEF Sound}
HMIt[8]:=HMIt[8]+'-N/A';
{$ENDIF}
for i:=1 to maxhmenu do
Textzent(HMIt[i],2,80,y+2+i);
CursorAus;
SaveBild(HauptMenu);
CursorEin;
konfig.kenner:=kennst;
Repeat
HMenu(Item,ch);
if ch=esc then ch:=#1;
Tau:=1;
if ch=cr then
begin
case Item of
1:TncSet;
2:Verzeichnisse;
3:Verschiedenes;
4:MailFrameSet;
5:Speicher;
6:Drucker;
7:Blinde;
{$ifdef Sound}
8:Sound;
{$Endif}
{$IFnDef Sound}
8:Alarm;
{$Endif}
9:Persoenliches;
10: begin
Abschluss;
ch:=esc;
end;
end;
end;
if ch<>esc then LadeBild(HauptMenu);
Until Ch=esc;
writeln(helpSetup[31]);
cursoranf:=can;
cursorende:=cen;
cursorseite:=cse;
cursorein;
dispose (hauptmenu);
dispose(Hilferahmen);
dispose(rahmen);
dispose (EditorHilfe);
FreeMem(TextPuffer, sizeof(TextPuffer^));
end {helpdatda}
else writeln(helpSetup[32]);
SetCBreak(BreakStatus); { Break Zur<75>ck }
end.
{
HelpSetup-Array-Verteilung:
===========================
4 Auswahl Cursor r/l
5 Auswahl Cursor r/l und CTRL-Curs
6 Mehr mait Return
7
8 Hilfe mit F1
9 TNC-Setup <20>berschrift
10 TNC-Ini <20>berschrift
11 TNC DeIni <20>berschrift
12 Verzeichnisse <20>berschr
13 Verschiedenes <20>berschr
14 Mailframe <20>berschr
15 Speicher <20>berschr
16 Drucker <20>berschrift
17 Blinden <20>berschrift
18 Verz. nicht erstellt
19 Verz erstellt
20 Verz exist. bereits
21 Xpack legt verz an
22 XP pr<70>ft (f<>r View/Edit)
23 existiert nicht (f<>r View/edit)
24 vorhanden (f<>r View/edit)
25 Fehler beim Speichern
26 Soll gespeichert werden?
27 J/Enter f<>r Ja ...
28 Konfig wird gespeichert
29 Konfig wird nicht gespeichert
30 Fehler beim Laden
31 XPSet ist beendet
32 XPSETHLP.XP nicht gefunden
33 Falsche Version von CONFIG.XP
34 Config Version 1.1/1.2x
35 Alte Konfiguration wird importiert.
36 Zeiten aktivieren/deaktivieren space