1 REM Ins{nd av Kristoffer Eriksson <5357> 1986-01-28 19.54.06 10 ! save V[LJCEN, 1986-01-28 19.18 20 ! ----------------------------------------- 30 ! V[LJCEN - Menyval av LUX-NET-central 40 ! F|r dator ur ABC800-serien med LUX-NET 50 ! Ver 1.00 85-07-31 Av <5357> Kristoffer Eriksson 60 ! Ver 1.01 86-01-28 <5357> 70 ! Menyns alternativ l{ggs in i datasatser 80 ! ----------------------------------------- 90 INTEGER : EXTEND : ! NO RESUME 100 ! 110 ! H{r ska f|lja en lista av data-satser med menytext och centralnamn: 120 DATA "Standard centralnamn",LUXNETCEN0 200 DATA "","" 210 ! 220 Custom$="-Anl{ggningsnamn-" 230 K=25 240 W=PEEK(SYS(10)+84) 250 ! 260 OUT 1,3,0,64 270 FOR I=28624 TO 28624+35 280 Par$=Par$+CHR$(PEEK(I)) 290 NEXT I 300 OUT 0,0 310 I=ASCII(MID$(Par$,4,1)) 320 IF I>10 THEN I=10 330 Oldcen$=MID$(Par$,5,I) 340 ! 350 ; CHR$(12); 360 ; "Val av net-central  " Custom$ TAB(W-17) "" 370 ; STRING$(W,ASCII("-")) 380 RESTORE 390 READ Text$,Cen$ 400 I=1 410 Oldcen=0 420 WHILE LEN(Text$) 430 ; CUR(I+3,K) NUM$(I) ". " Text$; 440 IF Cen$=Oldcen$ THEN ; " (Nuvarande)" : Oldcen=I ELSE ; 450 READ Text$,Cen$ 460 I=I+1 470 WEND 480 IF Oldcen=0 THEN ; CUR(I+3,K) NUM$(I) ". " Oldcen$ " (Nuvarande)" : Oldcen=I : I=I+1 490 ; CUR(I+3,K) "0. Ingen {ndring" 500 Antcen=I 510 ; CUR(19,0) "Kontrollera att den central du t{nker v{lja {r p}slagen!" 520 ; "[r den inte det s} har du inget program att komma tillbaks med." 530 ; CUR(0,W-16) LEFT$(TIME$,16) 540 ; CUR(21,0) STRING$(W,ASCII("-")) 550 ! 560 ; CUR(3+Cen,K-5) " "; 570 ; CUR(22,0) SPACE$(W) CUR(22,0) "V{lj (0-" NUM$(I-1) "): _" CHR$(8); 580 ON ERROR GOTO 590 : INPUT ""Cen; : GOTO 600 590 IF PEEK(65507)=192 THEN 990 ELSE ; CHR$(7); : GOTO 560 600 IF Cen=0 THEN 990 610 IF Cen<1 OR Cen>Antcen THEN ; CHR$(7); : GOTO 560 620 ! 630 ; CUR(3+Cen,K-5) "-->"; 640 ; CUR(22,0) SPACE$(W) CUR(22,0); 650 IF Cen=Oldcen THEN ; "Ingen {ndring. "; 660 ; "OK (J/N) ? _" CHR$(8); 670 ON FNSvar("JN"+CHR$(192)) GOTO 680,560,990 680 IF Cen=Oldcen THEN 970 690 ! 700 ; CUR(22,0) SPACE$(W) CUR(22,0) "Vill du bli utloggad fr}n din nuvarande central (J/N) ? J" CHR$(8); 710 ON FNSvar("JN"+CHR$(192,13)) GOTO 720,780,990,720 720 FOR I=SWAP%(PEEK(64787)) TO SWAP%(PEEK(64787))+24 730 POKE I,0 740 NEXT I 750 POKE 64961,14,1,0,0,0,0 760 Z=CALL(24672) 770 ! 780 RESTORE 790 FOR I=1 TO Cen 800 READ Text$,Cen$ 810 NEXT I 820 ; CUR(22,0) SPACE$(80) CUR(22,0) Text$ " (" Cen$ ")"; 830 ! 840 IF LEN(Cen$)>10 THEN Cen$=LEFT$(Cen$,10) 850 MID$(Par$,4,1)=CHR$(LEN(Cen$)) 860 MID$(Par$,5,10)=LEFT$(Cen$+SPACE$(10),10) 870 OUT 1,3,0,64 880 POKE 28305,ASCII("I"),ASCII("D"),ASCII(" ") 890 FOR I=1 TO LEN(Par$) 900 POKE 28307+I,ASCII(MID$(Par$,I,1)) 910 NEXT I 920 POKE 28304,254 930 WHILE PEEK(28304) : WEND 940 POKE 28344,0 950 OUT 0,0 960 ! 970 Z=CALL(0) ! Reset 980 ! 990 ; CUR(22,0) SPACE$(80) CUR(22,0) "Laddar meny0. V{nta lite..." 1000 ON ERROR GOTO 1010 : CHAIN "XSMENU0.BAC" 1010 CHAIN "NUL:" 1020 ! 1030 DEF FNSvar(Alt$) LOCAL I$=160,P 1040 WHILE 1 1050 ON ERROR GOTO 1120 : INPUT LINE I$ 1060 P=LEN(I$)-2 : ; STRING$(P,8) SPACE$(P) STRING$(P,8); 1070 I$=CHR$(ASCII(I$) AND 223) 1080 P=INSTR(1,Alt$,I$) 1090 IF P THEN ; MID$(Alt$,P,1); : RETURN P 1100 ; CHR$(7); 1110 WEND 1120 IF ERRCODE=53 THEN P=SYS(6) : GET I$ : GOTO 1080 ELSE 1100 1130 FNEND