You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
933 lines
34 KiB
933 lines
34 KiB
{ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
|
³ ³
|
|
³ X - P a c k e t ³
|
|
³ ³
|
|
³ ³
|
|
³ X P U S E R . P A S ³
|
|
³ ³
|
|
³ Userdatenbank-Verwaltung ³
|
|
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ}
|
|
{Folge:
|
|
Call
|
|
Name
|
|
System
|
|
QTH
|
|
Locator
|
|
Adresse
|
|
Telefon
|
|
Umlaut
|
|
PacLen
|
|
Maxframe
|
|
Scan (anwesenheit)
|
|
SSIDs
|
|
VIP
|
|
FBBStreng
|
|
Vorbereitung
|
|
MailLesen
|
|
MailKillen
|
|
Nachbereitung
|
|
ByeBye
|
|
Prompt
|
|
|
|
}
|
|
|
|
|
|
Procedure UserEditieren(*User_:User_Typ2; Kanal :Byte; Neu:boolean; ZMax:Byte*);
|
|
Const ArtMax = 12;
|
|
|
|
Var AnAusDiff, e,i : Byte;
|
|
KC : Sondertaste;
|
|
VC : Char;
|
|
atr : array[1..3] of byte;
|
|
Anfang,
|
|
geaendert,
|
|
grossSave, {grosschreibungs-flag speichern}
|
|
RemAll_,
|
|
Flag,
|
|
Flag1,
|
|
Seitenwechsel : Boolean;
|
|
ulw,
|
|
Flagbyte,
|
|
obf,
|
|
X,Y,
|
|
Seite,
|
|
Art : Byte;
|
|
HStr,
|
|
Eing,
|
|
Teil1,
|
|
Teil2,
|
|
Teil3,
|
|
Teil4,
|
|
Teil5,
|
|
teil6,
|
|
teil7 : str80;
|
|
ZeileOU,
|
|
ZeileRL,
|
|
ULautZ,
|
|
eingh : string;
|
|
Zahl : longint; {//db1ras}
|
|
|
|
HStrAn, HStrAus : string[20];
|
|
SaveDat : User_typ2; {schluávergleich: wirklich ge„ndert??}
|
|
Udat : file of User_Typ2;
|
|
|
|
|
|
Begin
|
|
Seite:=1;
|
|
Anfang:=true;
|
|
if (User_.MaxFrames<1) or (user_.maxframes>7) then User_.maxFrames:=Konfig.MaxFrameStd;
|
|
if (user_.paclen<5) or (user_.paclen>255) then user_.paclen:=Konfig.PacLenStd;
|
|
User_.VErsion1:=1; User_.Version2:=80;
|
|
Flag := false;
|
|
Flag1 := false;
|
|
grosssave:=gross;
|
|
gross:=false;
|
|
HstrAn :=InfoZeile(76);
|
|
HstrAus:=InfoZeile(77);
|
|
Teil1:=infozeile(366); {Allgemein}
|
|
Teil2:=InfoZeile(378);
|
|
Teil3:=Infozeile(367); {Poll}
|
|
Teil4:=Infozeile(368); {Poll}
|
|
Teil5:=Infozeile(369); {Poll}
|
|
Teil6:=InfoZeile(371); {Kompression beim Login}
|
|
teil7:=InfoZeile(373); {Passwort beim Login}
|
|
ULautZ :=infozeile(372);
|
|
ZeileOU:=InfoZeile(389);
|
|
ZeileRL:=InfoZeile(404);
|
|
|
|
if Length(HstrAn)>Length(HstrAus) then AnAusDiff:=Length(HstrAn);
|
|
if Length(HstrAus)>Length(HstrAn) then AnAusDiff:=Length(HstrAus);
|
|
if Length(HstrAus)=Length(HstrAn) then AnAusDiff:=Length(HstrAus);
|
|
Art := 1;
|
|
Seitenwechsel:=true;
|
|
|
|
SaveDat:=User_;
|
|
|
|
Repeat
|
|
|
|
if Seitenwechsel then
|
|
begin
|
|
Seitenwechsel:=false;
|
|
if anfang then
|
|
begin
|
|
for i := 1 to Zmax do WriteRam(1,i,Attrib[2],1,cefillstr(80,B1,B1));
|
|
WriteRam(1,1,Attrib[5],1,cefillstr(80,B1,B1+InfoZeile(365)));
|
|
|
|
WriteRam(1,maxz,Attrib[5],1,cefillstr(80,B1,B1+ ZeileOU));
|
|
end else for i := 3 to Zmax-1 do WriteRam(1,i,Attrib[2],1,cefillstr(80,B1,B1));
|
|
WriteRam(67,2,Attrib[5],1,cefillstr(14,B1,B1+ParmStr(2,bs,Teil5)+b1+int_Str(Seite)+'/3'));
|
|
Case Seite of
|
|
1: begin
|
|
Art:=1;
|
|
WriteRam(1,2,Attrib[5],1,cefillstr(66,B1,B1+ParmStr(3,bs,Teil5)));
|
|
|
|
WriteRam(1,4,Attrib[2],1,cefillstr(9,B1,B1+ParmStr(1,b1,Teil1))+': '+User_.Call);
|
|
WriteRam(1,5,Attrib[2],1,cefillstr(9,B1,B1+ParmStr(2,b1,Teil1))+': '+User_.alias);
|
|
WriteRam(34,4,Attrib[2],1,cefillstr(9,B1,ParmStr(3,b1,teil1))+': '+User_.Name);
|
|
WriteRam(1,6,Attrib[2],1,cefillstr(9,B1,B1+ParmStr(4,b1,teil1))+': '+User_.System);
|
|
WriteRam(34,5,Attrib[2],1,cefillstr(9,B1,parmstr(5,b1,teil1))+': '+User_.QTH);
|
|
WriteRam(34,6,Attrib[2],1,cefillstr(9,B1,parmstr(7,b1,teil1))+': '+UpcaseStr(User_.Locator));
|
|
WriteRam(1,8,Attrib[2],1,cefillstr(9,B1,B1+parmstr(6,b1,teil1))+': '+User_.Adress);
|
|
WriteRam(1,9,Attrib[2],1,cefillstr(9,B1,B1+parmstr(8,b1,teil1))+': '+User_.Telefon);
|
|
WriteRam(1,11,Attrib[2],1,cefillstr(9,B1,B1+ParmStr(9,b1,teil1))+': '+int_str(User_.PacLen));
|
|
WriteRam(34,11,Attrib[2],1,cefillstr(9,B1,ParmStr(10,b1,teil1))+': '+int_str(User_.MaxFrames));
|
|
|
|
WriteRam(1,13,Attrib[2],1,cefillstr(9,b1,b1+ParmStr(1, b1, ULautZ))+':');
|
|
WriteRam(12,13,Attrib[2],1,'[ ] '+cefillstr(16,b1,ParmStr(2, b1, ULautZ)));
|
|
WriteRam(34,13,Attrib[2],1,'[ ] '+cefillstr(16,b1,ParmStr(3, b1, ULautZ)));
|
|
WriteRam(56,13,Attrib[2],1,'[ ] '+cefillstr(16,b1,ParmStr(4, b1, ULautZ)));
|
|
case User_.umlaut of
|
|
1: writeRam(13,13,attrib[2],1,'X');
|
|
2: writeRam(35,13,attrib[2],1,'X');
|
|
3: writeRam(57,13,attrib[2],1,'X');
|
|
end;
|
|
|
|
{+int_str(User_.umlaut));}
|
|
|
|
|
|
|
|
|
|
if User_.Anwesenheit then WriteRam(1,15,Attrib[2],1,' [X]'+cefillstr(10,B1,B1+ParmStr(12,b1,teil1)))
|
|
else WriteRam(1,15,Attrib[2],1,' [ ]'+cefillstr(10,B1,B1+ParmStr(12,b1,teil1)));
|
|
|
|
|
|
if User_.VIP then WriteRam(15,15,Attrib[2],1,'[X] '+cefillstr(9,B1,parmstr(11,b1,teil1)))
|
|
else WriteRam(15,15,Attrib[2],1,'[ ] '+cefillstr(9,B1,parmstr(11,b1,teil1)));
|
|
|
|
{SHOW} if User_.show then WriteRam(30,15,Attrib[2],1,'[X] '+cefillstr(9,B1,B1+ParmStr(13,b1,teil1)))
|
|
else WriteRam(30,15,Attrib[2],1,'[ ] '+cefillstr(9,B1,ParmStr(13,b1,teil1)));
|
|
|
|
{RemSch} if User_.RemSchreib then WriteRam(45,15,Attrib[2],1,'[X] '+cefillstr(34,B1,B1+ParmStr(1,bs,teil3)))
|
|
else WriteRam(45,15,Attrib[2],1,'[ ] '+cefillstr(34,b1,ParmStr(1,bs,teil3)));
|
|
|
|
WriteRam(1,17,Attrib[2],1,cefillstr(9,B1,B1+parmstr(1,b1,teil2) )+': ');
|
|
i:=1;
|
|
x:=12;y:=17;
|
|
while i<17 do
|
|
begin
|
|
if user_.ssids[i-1] then WriteRam(x,y,Attrib[2],1,'[X] '+cefillstr(5,B1,parmstr(i+1,b1,teil2)))
|
|
else WriteRam(x,y,Attrib[2],1,'[ ] '+cefillstr(5,B1,parmstr(i+1,b1,teil2)));
|
|
{for e:=0 to 15 do
|
|
if}
|
|
inc(i);
|
|
inc(x,8);
|
|
if i=9 then
|
|
begin
|
|
inc(y);
|
|
x:=12;
|
|
end;
|
|
end;
|
|
{User_.SSids}
|
|
|
|
WriteRam(2,20,Attrib[2],1,ParmStr(1,bs,teil6));
|
|
WriteRam(62,21,Attrib[2],1,cefillstr(10,B1,B1+ParmStr(5,bs,teil6))+': '+int_str(user_.StopCode));
|
|
Case User_.Kompression of
|
|
0:
|
|
begin
|
|
WriteRam(1,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(2,bs,teil6)));
|
|
WriteRam(20,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(4,bs,teil6)));
|
|
{WriteRam(40,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(4,bs,teil6)));}
|
|
|
|
end;
|
|
1:
|
|
begin
|
|
WriteRam(1,21,Attrib[2],1,' [X]'+cefillstr(19,B1,B1+ParmStr(2,bs,teil6)));
|
|
WriteRam(20,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(4,bs,teil6)));
|
|
{ WriteRam(40,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(4,bs,teil6)));}
|
|
end;
|
|
3:
|
|
begin
|
|
WriteRam(1,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(2,bs,teil6)));
|
|
WriteRam(20,21,Attrib[2],1,' [X]'+cefillstr(19,B1,B1+ParmStr(4,bs,teil6)));
|
|
{ WriteRam(40,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(4,bs,teil6)));}
|
|
end;
|
|
{3:
|
|
begin
|
|
WriteRam(1,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(2,bs,teil6)));
|
|
WriteRam(20,21,Attrib[2],1,' [ ]'+cefillstr(19,B1,B1+ParmStr(3,bs,teil6)));
|
|
WriteRam(40,21,Attrib[2],1,' [X]'+cefillstr(19,B1,B1+ParmStr(4,bs,teil6)));
|
|
end;}
|
|
end;
|
|
|
|
if User_.AutoBOXPassw then WriteRam(1,23,Attrib[2],1,' [X]'+cefillstr(60,B1,B1+ParmStr(1,BS,teil7)))
|
|
else WriteRam(1,23,Attrib[2],1,' [ ]'+cefillstr(60,B1,B1+ParmStr(1,bs,teil7)));
|
|
|
|
end;
|
|
2:begin
|
|
WriteRam(1,2,Attrib[5],1,cefillstr(67,B1,B1+ParmStr(4,bs,Teil5)));
|
|
Art:=20;
|
|
x:=2;y:=4;
|
|
i:=1;
|
|
While g^.Remotes[i].Befehl<>'' do
|
|
begin
|
|
writeRam(x,y,Attrib[2],1,cefillstr(14,B1,'[ ] '+g^.Remotes[i].Befehl));
|
|
if User_.RemAusnahmen[i] then writeRam(x+1,y,attrib[2],1,'X');
|
|
inc(X,15);
|
|
if i in [5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90] then
|
|
begin
|
|
x:=2;
|
|
inc(y);
|
|
end;
|
|
inc(i);
|
|
end;
|
|
end;
|
|
3:begin
|
|
Art:=21;
|
|
WriteRam(1,2,Attrib[5],1,cefillstr(67,B1,B1+ParmStr(5,bs,Teil5)));
|
|
|
|
if User_.FBBStreng_ then WriteRam(1,4,Attrib[2],1,' [X] '+cefillstr(30,B1,parmStr(2,bs,teil3)))
|
|
else WriteRam(1,4,Attrib[2],1,' [ ] '+cefillstr(30,B1,ParmStr(2,bs,Teil3)));
|
|
|
|
WriteRam(45,4,Attrib[2],1,cefillstr(15,B1,ParmStr(5,bs,teil4))+': '+User_.Synonym);
|
|
|
|
{2. spalte x=24}
|
|
WriteRam(1,6,Attrib[2],1,cefillstr(15,B1,B1+ParmStr(3,bs,teil3))+': '+User_.Vorbereitung);
|
|
|
|
WriteRam(1,8,Attrib[2],1,cefillstr(15,B1,B1+parmStr(1,bs,teil4)) +': '+User_.MailLesen);
|
|
WriteRam(45,8,Attrib[2],1,cefillstr(15,B1,ParmStr(2,bs,teil4)) +': '+User_.MailKillen);
|
|
|
|
WriteRam(1,10,Attrib[2],1,cefillstr(15,B1,B1+ParmStr(4,bs,teil3)) +': '+User_.Nachbereitung);
|
|
WriteRam(1,12,Attrib[2],1,cefillstr(15,B1,B1+ParmStr(3,bs,teil4)) +': '+User_.ByeBye);
|
|
WriteRam(1,14,Attrib[2],1,cefillstr(15,B1,B1+ParmStr(4,bs,teil4)) +': '+User_.Prompt);
|
|
WriteRam(1,15,Attrib[2],1,cefillstr(15,B1,B1+ParmStr(6,bs,teil4)) +': '+User_.PWPrompt);
|
|
WriteRam(1,16,Attrib[2],1,cefillstr(15,B1,B1+ParmStr(1,bs,teil5)) +': '+User_.SStopPrompt);
|
|
|
|
end;
|
|
end; {case}
|
|
end; {if seitenwechsel}
|
|
|
|
|
|
{
|
|
|
|
Case KC of
|
|
_Esc : Flag := true;
|
|
|
|
_Ret : ;
|
|
|
|
_F1 : Art := 1;
|
|
_F2 : Art := 2;
|
|
_F3 : Art := 3;
|
|
_F4 : Art := 4;
|
|
_F5 : Art := 5;
|
|
_F6 : Art := 6;
|
|
_F7 : Art := 7;
|
|
_F8 : Art := 8;
|
|
_F9 : Art := 9;
|
|
_F10 : Art := 10;
|
|
_CTRLF1: ART:=11;
|
|
|
|
|
|
|
|
End;
|
|
|
|
if (KC in [_F1.._F10,_Ret,_CTRLF1]) or ((KC = _Andere) and (VC = B1)) then}
|
|
|
|
if not Anfang then
|
|
begin
|
|
if kc=_Tab then kc:=_RET;
|
|
if kc=_ShTab then kc:=_Up;
|
|
if Seite=1 then
|
|
begin
|
|
if (kc=_dn) or (kc=_Ret) then inc (art);
|
|
if art>19 then art:=1;
|
|
|
|
if (kc=_up) then dec (art);
|
|
if art<1 then art:=19;
|
|
end; {if Seite1}
|
|
if Seite=3 then
|
|
begin
|
|
if (kc=_dn) or (kc=_Ret) then inc (art);
|
|
if art>30 then art:=21;
|
|
|
|
if (kc=_up) then dec (art);
|
|
if art<21 then art:=30;
|
|
end; {if Seite3}
|
|
end;
|
|
anfang:=false;
|
|
|
|
case Art of
|
|
1 : begin {call}
|
|
eingh:=User_.Call;
|
|
GetString(eingh,Attrib[2],9,12,4,KC,1,Ins);
|
|
User_.Call:=UpcaseStr(eingh);
|
|
WriteRam(12,4,Attrib[2],1,cefillstr(9,b1,User_.Call));
|
|
|
|
end;
|
|
|
|
2 : begin {alias-call}
|
|
eingh:=User_.alias;
|
|
GetString(eingh,Attrib[2],9,12,5,KC,1,Ins);
|
|
User_.alias:=UpcaseStr(eingh);
|
|
WriteRam(12,5,Attrib[2],1,cefillstr(9,b1,User_.alias));
|
|
|
|
end;
|
|
|
|
|
|
3 : {System}
|
|
begin
|
|
eingh:=User_.System;
|
|
GetString(eingh,Attrib[2],10,12,6,KC,1,Ins);
|
|
User_.System:=upcaseStr(eingh); {//db1ras}
|
|
WriteRam(12,6,Attrib[2],1,cefillstr(10,b1,User_.System));
|
|
end;
|
|
|
|
4 : begin {name}
|
|
eingh:=User_.Name;
|
|
GetString(eingh,Attrib[2],30,45,4,KC,1,Ins);
|
|
User_.Name:=eingh;
|
|
WriteRam(45,4,Attrib[2],1,cefillstr(30,B1,User_.Name));
|
|
end;
|
|
|
|
5 : begin {qth}
|
|
eingh:=User_.QTH;
|
|
GetString(eingh,Attrib[2],30,45,5,KC,1,Ins);
|
|
User_.QTH:=eingh;
|
|
WriteRam(45,5,Attrib[2],1,cefillstr(30,b1,User_.QTH));
|
|
end;
|
|
|
|
6 : begin {locator}
|
|
eingh:=User_.Locator;
|
|
GetString(eingh,Attrib[2],7,45,6,KC,1,Ins);
|
|
User_.Locator:=upcaseStr(eingh);
|
|
WriteRam(45,6,Attrib[2],1,cefillstr(10,b1,User_.Locator));
|
|
end;
|
|
|
|
7 : begin {adresse}
|
|
eingh:=User_.Adress;
|
|
GetString(eingh,Attrib[2],60,12,8,KC,1,Ins);
|
|
User_.Adress:=eingh;
|
|
WriteRam(12,8,Attrib[2],1,cefillstr(60,b1,User_.Adress));
|
|
end;
|
|
|
|
8 : begin {telefon}
|
|
eingh:=User_.Telefon;
|
|
GetString(eingh,Attrib[2],20,12,9,KC,1,Ins);
|
|
User_.Telefon:=eingh;
|
|
WriteRam(12,9,Attrib[2],1,cefillstr(20,b1,User_.Telefon));
|
|
end;
|
|
|
|
9 : begin {Paclen}
|
|
eing:=int_str(User_.PacLen);
|
|
GetString(eing,Attrib[2],3,12,11,KC,1,ins);
|
|
Flagbyte := str_int(eing);
|
|
if flagbyte in [5..255] then eing:=eing else flagbyte:=Konfig.PacLenStd;
|
|
|
|
User_.PacLen:=flagbyte;
|
|
WriteRam(12,11,Attrib[2],1,cefillstr(3,b1,int_str(User_.PacLen)));
|
|
end;
|
|
|
|
10: begin {Maxframes}
|
|
eing:=int_str(User_.MaxFrames);
|
|
GetString(eing,Attrib[2],1,45,11,KC,1,ins);
|
|
Flagbyte := str_int(eing);
|
|
if flagbyte in [1..7] then eing:=eing else flagbyte:=Konfig.MaxFrameStd;
|
|
|
|
User_.Maxframes:=flagbyte;
|
|
WriteRam(45,11,Attrib[2],1,int_str(User_.MaxFrames));
|
|
end;
|
|
|
|
|
|
11 : begin {Umpaut}
|
|
WriteRam(1,maxz,Attrib[5],1,cefillstr(80,B1,B1+ZeileRL ));
|
|
ulw:=1;
|
|
atr[1]:=5;
|
|
atr[2]:=2;
|
|
atr[3]:=2;
|
|
repeat
|
|
case User_.umlaut of
|
|
0: begin
|
|
writeRam(13,13,attrib[atr[1]],1,' ');
|
|
writeRam(35,13,attrib[atr[2]],1,' ');
|
|
writeRam(57,13,attrib[atr[3]],1,' ');
|
|
end;
|
|
1: begin
|
|
writeRam(13,13,attrib[atr[1]],1,'X');
|
|
writeRam(35,13,attrib[atr[2]],1,' ');
|
|
writeRam(57,13,attrib[atr[3]],1,' ');
|
|
end;
|
|
2: begin
|
|
writeRam(13,13,attrib[atr[1]],1,' ');
|
|
writeRam(35,13,attrib[atr[2]],1,'X');
|
|
writeRam(57,13,attrib[atr[3]],1,' ');
|
|
end;
|
|
3: begin
|
|
writeRam(13,13,attrib[atr[1]],1,' ');
|
|
writeRam(35,13,attrib[atr[2]],1,' ');
|
|
writeRam(57,13,attrib[atr[3]],1,'X');
|
|
end;
|
|
end;
|
|
_ReadKey(KC,VC);
|
|
|
|
if kc=_right then inc (ulw);
|
|
if kc=_left then dec (ulw);
|
|
if ulw=0 then ulw:=3;
|
|
if ulw=4 then ulw:=1;
|
|
if vc=#32 then
|
|
begin
|
|
if (user_.umlaut=0) or (user_.umlaut<>ulw) then user_.umlaut:=ulw
|
|
else user_.umlaut:=0;
|
|
end;
|
|
case ulw of
|
|
1: begin
|
|
atr[1]:=5;
|
|
atr[2]:=2;
|
|
atr[3]:=2;
|
|
end;
|
|
2: begin
|
|
atr[1]:=2;
|
|
atr[2]:=5;
|
|
atr[3]:=2;
|
|
end;
|
|
3: begin
|
|
atr[1]:=2;
|
|
atr[2]:=2;
|
|
atr[3]:=5;
|
|
end;
|
|
end;
|
|
if user_.umlaut=4 then user_.umlaut:=0;
|
|
until kc in udbexit;
|
|
writeRam(13,13,attrib[2],1,' ');
|
|
writeRam(35,13,attrib[2],1,' ');
|
|
writeRam(57,13,attrib[2],1,' ');
|
|
case User_.umlaut of
|
|
1: writeRam(13,13,attrib[2],1,'X');
|
|
2: writeRam(35,13,attrib[2],1,'X');
|
|
3: writeRam(57,13,attrib[2],1,'X');
|
|
end;
|
|
{eing:=int_str(User_.Umlaut);
|
|
GetString(eing,Attrib[2],1,12,9,KC,1,Ins);
|
|
Flagbyte := Byte(str_int('$'+ eing[1]));
|
|
if not (FlagByte in UmlMenge) then Eing:='0';
|
|
if str_int(eing) in [0..5] then
|
|
User_.Umlaut:=str_int(eing);
|
|
WriteRam(1,9,Attrib[2],1,cefillstr(80,B1,B1+InfoZeile(372) +' '+int_str(User_.umlaut)));}
|
|
WriteRam(1,maxz,Attrib[5],1,cefillstr(80,B1,B1+ZeileOU ));
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
12: begin {Anwesenheit /Scan}
|
|
if User_.Anwesenheit then writeRam(3,15,Attrib[5],1,'X')
|
|
else WriteRam(3,15,Attrib[5],1,' ');
|
|
repeat
|
|
_ReadKey(KC,VC);
|
|
if vc=#32 then User_.Anwesenheit:=not User_.Anwesenheit;
|
|
if User_.Anwesenheit then writeRam(3,15,Attrib[5],1,'X')
|
|
else WriteRam(3,15,Attrib[5],1,' ');
|
|
until kc in UdbExit;
|
|
if User_.Anwesenheit then writeRam(3,15,Attrib[2],1,'X')
|
|
else WriteRam(3,15,Attrib[2],1,' ');
|
|
end;
|
|
|
|
13: begin {VIP}
|
|
if User_.VIP then writeRam(16,15,Attrib[5],1,'X')
|
|
else WriteRam(16,15,Attrib[5],1,' ');
|
|
repeat
|
|
_ReadKey(KC,VC);
|
|
if vc=#32 then User_.VIP:=not User_.VIP;
|
|
if User_.VIP then writeRam(16,15,Attrib[5],1,'X')
|
|
else WriteRam(16,15,Attrib[5],1,' ');
|
|
until kc in UdbExit;
|
|
if User_.VIP then writeRam(16,15,Attrib[2],1,'X')
|
|
else WriteRam(16,15,Attrib[2],1,' ');
|
|
end;
|
|
|
|
|
|
14: begin {show}
|
|
if User_.show then writeRam(31,15,Attrib[5],1,'X')
|
|
else WriteRam(31,15,Attrib[5],1,' ');
|
|
repeat
|
|
_ReadKey(KC,VC);
|
|
if vc=#32 then User_.show:=not User_.show;
|
|
if User_.show then writeRam(31,15,Attrib[5],1,'X')
|
|
else WriteRam(31,15,Attrib[5],1,' ');
|
|
until kc in UdbExit;
|
|
if User_.show then writeRam(31,15,Attrib[2],1,'X')
|
|
else WriteRam(31,15,Attrib[2],1,' ');
|
|
end;
|
|
|
|
15: begin {RemSchreib}
|
|
if User_.RemSchreib then writeRam(46,15,Attrib[5],1,'X')
|
|
else WriteRam(46,15,Attrib[5],1,' ');
|
|
repeat
|
|
_ReadKey(KC,VC);
|
|
if vc=#32 then User_.RemSchreib:=not User_.RemSchreib;
|
|
if User_.RemSchreib then writeRam(46,15,Attrib[5],1,'X')
|
|
else WriteRam(46,15,Attrib[5],1,' ');
|
|
until kc in UdbExit;
|
|
if User_.RemSchreib then writeRam(46,15,Attrib[2],1,'X')
|
|
else WriteRam(46,15,Attrib[2],1,' ');
|
|
end;
|
|
|
|
|
|
|
|
16: {SSIDs}
|
|
begin
|
|
ulw:=0;
|
|
WriteRam(1,maxz,Attrib[5],1,cefillstr(80,B1,B1+ZeileRL ));
|
|
repeat
|
|
x:=13; y:=17;
|
|
for obf:=0 to 15 do
|
|
begin
|
|
if obf=ulw then atr[1]:=5 else atr[1]:=2;
|
|
if user_.ssids[obf] then writeRam(x,y,Attrib[atr[1]],1,'X')
|
|
else writeRam(x,y,Attrib[atr[1]],1,' ');
|
|
inc (x,8);
|
|
if obf=7 then
|
|
begin
|
|
x:=13;
|
|
inc(y);
|
|
end;
|
|
end;
|
|
_ReadKey(KC,VC);
|
|
|
|
if vc=#32 then user_.SSids[ulw]:=not user_.ssids[ulw];
|
|
if kc=_right then inc(ulw);
|
|
if kc=_left then dec(ulw);
|
|
if ulw=255 then ulw:=15;
|
|
if ulw=16 then ulw:=0;
|
|
until kc in UdbExit;
|
|
atr[1]:=2;
|
|
x:=13; y:=17;
|
|
for obf:=0 to 15 do
|
|
begin
|
|
if user_.ssids[obf] then writeRam(x,y,Attrib[atr[1]],1,'X')
|
|
else writeRam(x,y,Attrib[atr[1]],1,' ');
|
|
inc (x,8);
|
|
if obf=7 then
|
|
begin
|
|
x:=13;
|
|
inc(y);
|
|
end;
|
|
end;
|
|
WriteRam(1,maxz,Attrib[5],1,cefillstr(80,B1,B1+ZeileOU ));
|
|
end;
|
|
|
|
17: begin
|
|
{Kompression}
|
|
ulw:=1;
|
|
if user_.Kompression=1 then WriteRam(3,21,Attrib[5],1,'X')
|
|
else WriteRam(3,21,Attrib[5],1,' ');
|
|
repeat
|
|
_ReadKey(KC,VC);
|
|
|
|
|
|
if vc=#32 then
|
|
begin
|
|
if (ulw=1) then
|
|
if (User_.Kompression=1) then User_.Kompression:=0
|
|
else User_.Kompression:=1;
|
|
{if (ulw=2) then
|
|
if (User_.Kompression=2) then User_.Kompression:=0
|
|
else User_.Kompression:=2;}
|
|
if (ulw=3) then
|
|
if (User_.Kompression=3) then User_.Kompression:=0
|
|
else User_.Kompression:=3;
|
|
end;
|
|
|
|
|
|
if kc=_right then inc(ulw,2);
|
|
if kc=_left then dec(ulw,2);
|
|
if (ulw<1) or (ulw>200) then ulw:=3;
|
|
if (ulw<190) and (ulw>3) then ulw:=1;
|
|
case ulw of
|
|
1:
|
|
begin
|
|
if user_.Kompression=1 then WriteRam(3,21,Attrib[5],1,'X')
|
|
else WriteRam(3,21,Attrib[5],1,' ');
|
|
if user_.Kompression=3 then WriteRam(22,21,Attrib[2],1,'X')
|
|
else WriteRam(22,21,Attrib[2],1,' ');
|
|
{if user_.Kompression=3 then WriteRam(42,21,Attrib[2],1,'X')
|
|
else WriteRam(42,21,Attrib[2],1,' ');}
|
|
end;
|
|
{2:
|
|
begin
|
|
if user_.Kompression=1 then WriteRam(3,21,Attrib[2],1,'X')
|
|
else WriteRam(3,21,Attrib[2],1,' ');
|
|
if user_.Kompression=2 then WriteRam(22,21,Attrib[5],1,'X')
|
|
else WriteRam(22,21,Attrib[5],1,' ');
|
|
if user_.Kompression=3 then WriteRam(42,21,Attrib[2],1,'X')
|
|
else WriteRam(42,21,Attrib[2],1,' ');
|
|
|
|
|
|
end;}
|
|
3:
|
|
begin
|
|
if user_.Kompression=1 then WriteRam(3,21,Attrib[2],1,'X')
|
|
else WriteRam(3,21,Attrib[2],1,' ');
|
|
if user_.Kompression=3 then WriteRam(22,21,Attrib[5],1,'X')
|
|
else WriteRam(22,21,Attrib[5],1,' ');
|
|
{if user_.Kompression=3 then WriteRam(42,21,Attrib[5],1,'X')
|
|
else WriteRam(42,21,Attrib[5],1,' ');}
|
|
end;
|
|
end;
|
|
|
|
until kc in UdbExit;
|
|
|
|
|
|
if user_.Kompression=1 then WriteRam(3,21,Attrib[2],1,'X')
|
|
else WriteRam(3,21,Attrib[2],1,' ');
|
|
if user_.Kompression=3 then WriteRam(22,21,Attrib[2],1,'X')
|
|
else WriteRam(22,21,Attrib[2],1,' ');
|
|
{if user_.Kompression=3 then WriteRam(42,21,Attrib[2],1,'X')
|
|
else WriteRam(42,21,Attrib[2],1,' ');}
|
|
|
|
end;
|
|
|
|
18: begin
|
|
eingh:=int_str(User_.stopcode);
|
|
GetString(eingh,Attrib[2],5,74,21,KC,1,Ins);
|
|
User_.stopcode:=str_int(UpcaseStr(eingh));
|
|
WriteRam(62,21,Attrib[2],1,cefillstr(17,B1,B1+ParmStr(5,bs,teil6)+': '+int_str(user_.StopCode)));
|
|
end;
|
|
|
|
19: begin
|
|
{autopw}
|
|
|
|
if User_.AutoBoxPassw then writeRam(3,23,Attrib[5],1,'X')
|
|
else WriteRam(3,23,Attrib[5],1,' ');
|
|
repeat
|
|
_ReadKey(KC,VC);
|
|
if vc=#32 then User_.AutoBoxPassw:=not User_.autoboxpassw;
|
|
if User_.autoboxpassw then writeRam(3,23,Attrib[5],1,'X')
|
|
else WriteRam(3,23,Attrib[5],1,' ');
|
|
until kc in UdbExit;
|
|
if User_.autoboxpassw then writeRam(3,23,Attrib[2],1,'X')
|
|
else WriteRam(3,23,Attrib[2],1,' ');
|
|
|
|
end;
|
|
|
|
{Seite 2:}
|
|
20: begin
|
|
ulw:=0;
|
|
e:=1;i:=2;
|
|
repeat
|
|
y:=2;
|
|
x:=2;y:=4;
|
|
i:=1;
|
|
While g^.Remotes[i].Befehl<>'' do
|
|
begin
|
|
if i=e then ATR[1]:=5 else ATR[1]:=2;
|
|
if User_.RemAusnahmen[i] then writeRam(x+1,y,Attrib[atr[1]],1,'X')
|
|
else writeRam(x+1,y,Attrib[atr[1]],1,' ');
|
|
inc(X,15);
|
|
if i in [5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90] then
|
|
begin
|
|
inc(y);
|
|
x:=2;
|
|
end;
|
|
inc(i);
|
|
ulw:=i-1;
|
|
end;
|
|
i:=e;
|
|
_ReadKey(KC,VC);
|
|
if VC=#32 then user_.RemAusnahmen[e]:=not user_.remAusnahmen[e];
|
|
case Kc of
|
|
_dn:begin
|
|
if e+5>ulw then Alarm else inc(e,5);
|
|
end;
|
|
_up:begin
|
|
if (e-5<1) or (e+5>200) then Alarm else dec(e,5);
|
|
end;
|
|
_right:begin
|
|
if e+1>ulw then e:=1 else inc(e);
|
|
end;
|
|
_left:begin
|
|
if e-1<1 then e:=ulw else dec(e);
|
|
end;
|
|
|
|
end;
|
|
|
|
until kc in [_PgUp, _Pgdn, _ESC];
|
|
i:=1;
|
|
x:=2;y:=4;
|
|
While g^.Remotes[i].Befehl<>'' do
|
|
begin
|
|
if User_.RemAusnahmen[i] then writeRam(x+1,y,attrib[2],1,'X')
|
|
else writeRam(x+1,y,attrib[2],1,' ');
|
|
inc(X,15);
|
|
if i in [5,10,15,20,25,30,35,40,45,50,55,60,65,70,75] then
|
|
begin
|
|
x:=2;
|
|
inc(Y);
|
|
end;
|
|
inc(i);
|
|
end;
|
|
end;
|
|
|
|
{Seite 3:}
|
|
21: begin {FBBStreng}
|
|
if User_.FBBStreng_ then writeRam(3,4,Attrib[5],1,'X')
|
|
else WriteRam(3,4,Attrib[5],1,' ');
|
|
repeat
|
|
_ReadKey(KC,VC);
|
|
if vc=#32 then User_.FBBStreng_:=not User_.FBBStreng_;
|
|
if User_.FBBStreng_ then writeRam(3,4,Attrib[5],1,'X')
|
|
else WriteRam(3,4,Attrib[5],1,' ');
|
|
until kc in UdbExit;
|
|
if User_.FBBStreng_ then writeRam(3,4,Attrib[2],1,'X')
|
|
else WriteRam(3,4,Attrib[2],1,' ');
|
|
end;
|
|
|
|
22: {Synonym}
|
|
begin
|
|
eingh:=User_.Synonym;
|
|
GetString(eingh,Attrib[2],10,62,4,KC,1,Ins);
|
|
User_.Synonym:=eingh;
|
|
WriteRam(62,4,Attrib[2],1,cefillstr(10,b1,User_.Synonym));
|
|
end;
|
|
|
|
23: {Vorbereitung}
|
|
begin
|
|
eingh:=User_.Vorbereitung;
|
|
GetString(eingh,Attrib[2],60,18,6,KC,1,Ins);
|
|
User_.Vorbereitung:=eingh;
|
|
WriteRam(18,6,Attrib[2],1,cefillstr(60,B1,User_.vorbereitung));
|
|
end;
|
|
|
|
24: {MailLesen}
|
|
begin
|
|
eingh:=User_.MailLesen;
|
|
GetString(eingh,Attrib[2],10,18,8,KC,1,Ins);
|
|
User_.MailLesen:=eingh;
|
|
WriteRam(18,8,Attrib[2],1,cefillstr(10,B1,User_.MailLesen));
|
|
end;
|
|
|
|
25: {MailL”schen}
|
|
begin
|
|
eingh:=User_.MailKillen;
|
|
GetString(eingh,Attrib[2],10,62,8,KC,1,Ins);
|
|
User_.MailKillen:=eingh;
|
|
WriteRam(62,8,Attrib[2],1,cefillstr(10,B1,User_.MailKillen));
|
|
end;
|
|
|
|
26: {Nachbereitung}
|
|
begin
|
|
eingh:=User_.Nachbereitung;
|
|
GetString(eingh,Attrib[2],60,18,10,KC,1,Ins);
|
|
User_.Nachbereitung:=eingh;
|
|
WriteRam(18,10,Attrib[2],1,cefillstr(60,B1,User_.Nachbereitung));
|
|
end;
|
|
|
|
27: {ByeBye}
|
|
begin
|
|
eingh:=User_.ByeBye;
|
|
GetString(eingh,Attrib[2],10,18,12,KC,1,Ins);
|
|
User_.ByeBye:=eingh;
|
|
WriteRam(18,12,Attrib[2],1,cefillstr(10,B1,User_.ByeBye));
|
|
end;
|
|
|
|
28: {Prompt}
|
|
begin
|
|
eingh:=User_.Prompt;
|
|
GetString(eingh,Attrib[2],60,18,14,KC,1,Ins);
|
|
User_.Prompt:=eingh;
|
|
WriteRam(18,14,Attrib[2],1,cefillstr(60,B1,User_.Prompt));
|
|
end;
|
|
|
|
29: {PWPrompt}
|
|
begin
|
|
eingh:=User_.PWPrompt;
|
|
GetString(eingh,Attrib[2],60,18,15,KC,1,Ins);
|
|
User_.PWprompt:=eingh;
|
|
WriteRam(18,15,Attrib[2],1,cefillstr(60,B1,User_.PWPrompt));
|
|
end;
|
|
|
|
30: {SStopPrompt}
|
|
begin
|
|
eingh:=User_.SStopPrompt;
|
|
GetString(eingh,Attrib[2],60,18,16,KC,1,Ins);
|
|
User_.SStopPrompt:=eingh;
|
|
WriteRam(18,16,Attrib[2],1,cefillstr(60,B1,User_.SStopPrompt));
|
|
end;
|
|
|
|
|
|
end;
|
|
if kc=_Esc then Flag := true;
|
|
if kc=_PgDn then
|
|
begin
|
|
inc(Seite);
|
|
Seitenwechsel:=true;
|
|
end;
|
|
if kc=_PgUp then
|
|
begin
|
|
dec(Seite);
|
|
Seitenwechsel:=true;
|
|
end;
|
|
if Seite>3 then Seite:=1;
|
|
if Seite<1 then Seite:=3;
|
|
Until Flag;
|
|
geaendert:=false;
|
|
if User_.Call<>SaveDat.Call then Geaendert:=true;
|
|
if User_.Alias<>SaveDat.alias then Geaendert:=true;
|
|
if User_.name<>SaveDat.Name then Geaendert:=true;
|
|
if User_.QTH <>SaveDat.QTH then Geaendert:=true;
|
|
if User_.Locator <>SaveDat.Locator then Geaendert:=true;
|
|
if User_.Adress <>SaveDat.Adress then Geaendert:=true;
|
|
if User_.Telefon <>SaveDat.Telefon then Geaendert:=true;
|
|
if User_.PacLen <>SaveDat.PacLen then Geaendert:=true;
|
|
if User_.Umlaut <>SaveDat.Umlaut then Geaendert:=true;
|
|
if User_.FBBStreng_ <>SaveDat.FBBStreng_ then Geaendert:=true;
|
|
if User_.VIP <>SaveDat.VIP then Geaendert:=true;
|
|
if User_.MaxFrames <>SaveDat.MaxFrames then Geaendert:=true;
|
|
if User_.Anwesenheit <> SaveDat.Anwesenheit then geaendert:=true;
|
|
if User_.Show<>SaveDat.Show then Geaendert:=true;
|
|
if User_.RemSchreib<>SaveDat.RemSchreib then Geaendert:=true;
|
|
if User_.System <>SaveDat.System then Geaendert:=true;
|
|
if User_.MailLesen<>SaveDat.MailLesen then Geaendert:=true;
|
|
if User_.Mailkillen<>SaveDat.Mailkillen then Geaendert:=true;
|
|
if User_.ByeBye<>SaveDat.ByeBye then Geaendert:=true;
|
|
if User_.Prompt<>SaveDat.Prompt then Geaendert:=true;
|
|
if User_.pwPrompt<>SaveDat.pwPrompt then Geaendert:=true;
|
|
if User_.SStopPrompt<>SaveDat.SStopPrompt then Geaendert:=true;
|
|
if User_.StopCode<>SaveDat.StopCode then Geaendert:=true;
|
|
|
|
for i:=0 to 15 do
|
|
if User_.SSids[i]<>SaveDat.ssids[i] then Geaendert:=true;
|
|
for i:=1 to maxrem do
|
|
begin
|
|
if (g^.Remotes[i].Befehl<>'') and (user_.RemAusnahmen[i]<>SaveDat.RemAusnahmen[i])
|
|
then Geaendert:=true;
|
|
end;
|
|
|
|
if User_.Vorbereitung<>SaveDat.Vorbereitung then Geaendert:=true;
|
|
if User_.Nachbereitung<>SaveDat.Nachbereitung then Geaendert:=true;
|
|
if User_.Synonym<>SaveDat.Synonym then Geaendert:=true;
|
|
if User_.Kompression<>SaveDat.Kompression then Geaendert:=true;
|
|
if User_.AutoBoxPassw<>SaveDat.AutoBoxPassw then geaendert:=true;
|
|
|
|
if geaendert then
|
|
begin
|
|
WriteRam(1,16,Attrib[5],1,cefillstr(80,B1,B1+InfoZeile(196)));
|
|
_ReadKey(KC,VC);
|
|
VC := UpCase(VC);
|
|
end else begin
|
|
KC := _Dn;
|
|
VC :='N';
|
|
end; {saveDat}
|
|
if (KC =_Ret) or (VC in YesMenge) then
|
|
begin
|
|
{sortUser;}
|
|
WriteRam(1,16,Attrib[5],1,cefillstr(80,B1,B1+InfoZeile(232)));
|
|
PutUser(User_,art,0,neupos, true);
|
|
|
|
{Aenderungen auf die connecteten Kanaele weiterleiten //db1ras}
|
|
For i:=1 to maxlink Do
|
|
If k[i]^.Connected Then
|
|
If k[i]^.Call=User_.Call Then Begin
|
|
If k[i]^.System<>User_.System Then Begin
|
|
k[i]^.User_Name := GetName(i,User_.Call,k[i]^.Umlaut,true);
|
|
SetzeSysArt(i);
|
|
End Else
|
|
k[i]^.User_Name := GetName(i,User_.Call,k[i]^.Umlaut,true);
|
|
End Else Begin
|
|
hstr:=k[i]^.Call;
|
|
Strip(hstr);
|
|
If (hstr = User_.Call) And
|
|
(UserSuchRoutine(k[i]^.Call,Zahl,false,true) = false) Then
|
|
Begin
|
|
If k[i]^.System<>User_.System Then Begin
|
|
k[i]^.User_Name := GetName(i,User_.Call,k[i]^.Umlaut,true);
|
|
SetzeSysArt(i);
|
|
End Else
|
|
k[i]^.User_Name := GetName(i,User_.Call,k[i]^.Umlaut,true);
|
|
End;
|
|
End;
|
|
|
|
{ Den Code hier verstehe ich nicht. Sollte aber von meinem Code }
|
|
{ (oberhalb) mit abgedeckt werden (hoffe ich zumindest) //db1ras }
|
|
{ if user_.stopCode<>SaveDat.StopCode then
|
|
begin
|
|
geaendert:=false;
|
|
for i:=1 to maxlink do
|
|
begin
|
|
if k[i]^.Call=User_.Call then
|
|
begin
|
|
Geaendert:=true;
|
|
k[i]^.StopCode:=User_.StopCode;
|
|
end;
|
|
if not Geaendert then
|
|
begin
|
|
hstr:=K[i]^.Call;
|
|
strip(hstr);
|
|
strip(User_.Call);
|
|
for i:=1 to maxlink do
|
|
begin
|
|
if hstr=User_.Call then
|
|
begin
|
|
Geaendert:=true;
|
|
k[i]^.StopCode:=User_.StopCode;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
}
|
|
end else if (Neu) and (UserAnz>0) then dec(UserAnz);
|
|
gross:=grosssave;
|
|
|
|
End;
|
|
|