100 REM ******************************* 110 REM * * 120 REM * AK-SOFT PROUDLY PRESENTS : * 130 REM * * 140 REM * > KARTEIKARTEN-VERWALTUNG < * 150 REM * * 160 REM * PROGRAMMED WITH * 170 REM * * 180 REM * T W M V1.0 * 190 REM * * 200 REM * BY A.KNUEPFER * 210 REM * AUF DEM KNUELL 18 * 220 REM * 2056 GLINDE * 230 REM * TEL. 040/710 80 06 * 240 REM * * 250 REM ******************************* 260 : 296 : 297 REM ------------------------------- 298 REM INITIALISIERUNG 299 : 300 IF PEEK(32168)<>162 OR PEEK(38168)<>150 THEN LOAD "TWM V1.0",8,1 310 SYS 32168 320 : 330 (null) 0 350 POKE 53280,0 :POKE 53281,0 :POKE 650,128 360 POKE 40909,34 :REM FINPUT# ERKENNT (AUCH) ANFUEHRUNGSZEICHEN ALS STRINGENDE 370 PRINT CHR$(14) 396 : 397 REM ------------------------------- 398 REM TITEL 399 : 400 IF PEEK(828)<>0 THEN 600 402 POKE 828,1 405 (null) 410 (null) 4,0,"[193][203]-[211][207][198][212]" 420 (null) 6,"PROUDLY PRESENTS" 430 (null) 8,"> [203][193][210][212][197][201][203][193][210][212][197][206] - [214][197][210][215][193][204][212][213][206][199] <" 440 (null) 11,"PROGRAMMED WITH" 450 (null) 13,"[212] [215] [205] - [212][200][197] [215][201][206][196][207][215] [205][193][206][193][199][197][210] [214]1.0" 460 (null) 16,"BY" 470 (null) 18,"[193].[203]NUEPFER, [199]LINDE 1986" 480 : 500 F(0)=0 :F(1)=11 :F(2)=12 :F(3)=15 :F(4)=1 :REM GRAUSTUFEN 510 FOR Z=0 TO 24 :FOR F=0 TO 4 :(null) F(F),Z,0,Z,39 :FOR H=1 TO 30 :NEXT H,F,Z 520 FOR H=1 TO 2000 :NEXT 530 FOR F=4 TO 0 STEP -1 :(null) F(F),4,4,18,34 540 FOR H=1 TO 30 :NEXT H,F 550 FOR H=1 TO 1000 :NEXT 596 : 597 REM ------------------------------- 598 REM HAUPTPROGRAMM ANSPRINGEN 599 : 600 GOTO 10000 992 : 993 : 994 REM =============================== 995 REM KLEINERE UNTERPROGRAMME 996 : 997 REM ------------------------------- 998 REM BOXMENU ANLEGEN 999 : 1000 (null) :Z=0 :S=0 1010 FOR B=0 TO BN 1020 (null) Z,S,B(B),B$(B); 1030 S1=S+LEN(B$(B))-1 1040 (null) B(B),Z,S,Z,S1 1050 (null)B,Z,S,Z,S1,B(B)+128 1060 S=S1+1+T 1070 NEXT B 1080 RETURN 1096 : 1097 REM ------------------------------ 1098 REM DATENDISKETTE 1099 : 1100 (null)4,12,2,18,37,1 :(null)4,5,128 :(null)4 1110 (null) 1,5,"[194]ITTE [155] [196][193][212][197][206] - [196][201][211][203][197][212][212][197] " 1120 (null) 3,5,"INS [204]AUFWERK EINLEGEN !" 1130 RETURN 1194 : 1195 REM ------------------------------ 1196 REM NICHT OK / OK ? 1197 REM JA -> OK=1 1198 REM NEIN -> OK=0 1199 : 1200 OK=1 1210 (null)100,20,19,24,39,1 :(null)100,14,128 :(null)100 1220 (null) 1,2,"[206][201][195][200][212] [207][203]" 1230 (null) 1,14,"[207][203]" 1240 (null) 1250 (null)0,1,1,1,10,1 1260 (null)1,1,12,1,17,1 1270 (null) "HELP BOXMENU" :(null) OK 1280 (null) :(null)100 1290 RETURN 1296 : 1297 REM ------------------------------ 1298 REM DISKSTATUS-TEST 1299 : 1300 INPUT#15,F1,FF$,FT,FS :IF F1<2 THEN RETURN 1310 PRINTCHR$(7); 1320 (null)100,8,2,16,37,1,0,"[196][201][211][203][197][212][212][197][206][198][197][200][204][197][210]" :(null)100,7,0 :(null)100 1330 F1$=USR("##")F1 :FT$=USR(FT) :FS$=USR(FS) 1340 (null) 1,1," "+F1$+","+FF$+","+FT$+","+FS$+" " 1350 (null) 3,7,"... MIT  [210][197][212][213][210][206] [146] QUITTIEREN !" 1360 GET W$ :IF W$<>CHR$(13) THEN 1360 1370 (null) :(null)100 1380 RETURN 1396 : 1397 REM ------------------------------ 1398 REM WINDOW FUER DATENSATZNR. 1399 : 1400 (null)7,10,7,16,33,1,0,HE$ :(null)7,4,128 :(null)7 1410 RETURN 1496 : 1497 REM ------------------------------ 1498 REM KARTEI-DATENSATZ IN MASKE 1499 : 1500 NR=PEEK(30964) :IF NR<>0 THEN (null)0 1510 (null) 4,28,15,"[206]R."USR("###")I1;"[152]"USR("/###")N1; 1520 (null)10 1525 IF I1=0 THEN (null) :GOTO 1540 1530 FOR I2=1 TO N2 :(null)#(I2-1),A$(I1,I2) :NEXT 1540 IF NR<>10 THEN (null)NR 1550 RETURN 1992 : 1993 : 1994 REM ============================== 1995 REM GROESSERE UNTERPROGRAMME 1996 : 1997 REM ------------------------------ 1998 REM ARBEITSBILDSCHIRM AUFBAUEN 1999 : 2000 (null) 2010 (null) 0,1,15,"[203][193][210][212][197][201][203][193][210][212][197][206]-[214][197][210][215][193][204][212][213][206][199]" 2015 (null) 24,15,"  F5 [146] [200]ILFSTEXTE  F6 [146] [200]ARDCOPY" 2020 : 2030 REM ----- HAUPT-BOXMENU 2040 REM BEREICH FESTLEGEN, IN DEM SICH DER CURSOR BEWEGEN DARF: 2050 (null)1,2,1,2,25,0 :(null)1,15,0 :(null)1 2060 B$(0)=" [197][206][196][197] " :B(0)=7 :REM TEXT/FARBE 2070 B$(1)=" [204][207][193][196] " :B(1)=10 2080 B$(2)=" [197][196][201][212] " :B(2)=5 2090 B$(3)=" [211][193][214][197] " :B(3)=14 2100 T=0 :BN=3 :GOSUB 1000 2110 : 2120 REM ----- EDIT-BOXMENU 2130 (null)2,22,1,22,39,0 :(null)2,15,0 :(null)2 2140 B$(0)="_" :B(0)=7 2150 B$(1)="[193][197][206][196][197][210][206]" :B(1)=10 2160 B$(2)="[204][207][197][211][195][200]" :B(2)=10 2170 B$(3)="<<" :B(3)=15 2180 B$(4)="<" :B(4)=15 2190 B$(5)=">" :B(5)=15 2200 B$(6)=">>" :B(6)=15 2210 B$(7)="[193][206][198][213][197][199]" :B(7)=10 2220 B$(8)="[211][207][210][212]" :B(8)=5 2230 T=1 :BN=8 :GOSUB 1000 2240 : 2250 REM ----- ZEIT-ANZEIGE 2260 (null)3,0,30,2,39,1 :(null)3,12,128 :(null)3 2270 (null) "000000",1,31 2280 : 2290 REM ----- KARTEIKARTEN-WINDOW 2300 (null)10,6,0,20,39,1 :(null)10,6,128 :(null)10 2310 : 2320 RETURN 2396 : 2397 REM ------------------------------ 2398 REM ALLGEMEINES 2399 : 2400 OPEN 15,8,15 2420 : 2430 REM ----- UHRZEIT EINGEBEN 2440 : 2450 (null)5,4,12,8,37,1 :(null)5,4,128 :(null)5 2455 (null) "HELP WINPUT" 2460 (null) 1,1,4,"[218][197][201][212] ([200][200][205][205][211][211]) : ",N,6,15,TM$ 2470 IF LEN(TM$)<>6 THEN PRINTCHR$(7) :GOTO 2460 2480 (null) TM$ 2490 (null) :(null)5 2500 RETURN 2992 : 2993 : 2994 REM ============================== 2995 REM HAUPTMENU-FUNKTIONEN 2996 : 2997 REM ------------------------------ 2998 REM LOAD 2999 : 3000 GOSUB 1100 :REM DATENDISK EINLEGEN 3010 GOSUB 1200 :REM ALLES KLAR ? 3020 IF OK=0 THEN (null) :(null)4 :RETURN 3030 JN$="J" 3040 PRINT "[147]" 3045 (null) "HELP WINPUT" 3050 (null) 1,2,5,"[197]XISTIERT DIE [196]ATEI SCHON ? ",,"JN",1,15,JN$ 3060 IF JN$="N" THEN 3500 3070 : 3080 REM ----- EXISTIERENDE DATEI LADEN 3085 CLR :HM=1 :OPEN15,8,15 :DIM D$(100) 3090 PRINT"[147]" :(null) 1,"[197]INLESEN DES" 3100 (null) 3,"[196]ISKETTEN-[201]NHALTSVERZEICHNISSES" 3110 : 3115 D=1 3120 OPEN 1,8,0,"$" :GOSUB 1300 :IF F1>1 THEN CLOSE1 :(null) :(null)4 :RETURN 3130 N=0 :GET#1,X$,X$ 3140 GET#1,X$,X$,X$,X$ :(null)1,X$ 3150 IF LEFT$(X$,6)="BLOCKS" THEN CLOSE1 :N=N-1 :GOTO 3190 3160 (null)1,X$ :D$(N)=X$ :(null)1,X$ 3165 IF D=1 AND D$(N)="TEST" THEN D=N 3170 N=N+1 :GOTO 3140 3180 : 3190 IF N>0 THEN 3210 3195 PRINT"[147]" 3200 (null) 2,15," *** [198]ALSCHE [196]ISKETTE *** " :(null) "_",128+5 :GOTO 3040 3210 (null)6,4,18,22,37,1,0,"[203]ARTEINAME" :(null)6,2,128 :(null)6 3220 (null) "HELP MENU" :(null) D$(1),D$(N),0,1,10,1,D 3225 IF D=0 THEN (null) :(null)6 :GOTO 3040 3230 : 3240 HE$="[204]ADEN" :GOSUB 1400 3250 (null) 1,"[197]INGABEMASKE" 3260 DN$=D$(D) 3270 (null) DN$+CHR$(160)+"M" :GOSUB 1300 :IF F1>1 THEN 3360 3280 (null) 3290 OPEN 1,8,2,DN$+CHR$(160)+"D,S,R" :GOSUB 1300 :IF F1>1 THEN 3360 3300 (null)1,X1$,X2$ :N1=VAL(X1$) :N2=VAL(X2$) 3310 DIM A$(200,N2) :IF N1=0 THEN I1=0 :GOTO 3355 3320 FOR I1=1 TO N1 :I$=USR("###")I1 :(null) 1,"[206]R."+I$ 3330 FOR I2=1 TO N2 3340 (null)1,X$ :A$(I1,I2)=X$ 3350 NEXT I2,I1 3352 I1=1 3355 FF=1 3360 CLOSE1 3370 (null) :(null)7 :(null) :(null)6 3380 (null)10 :(null)4 3390 IF N1>0 THEN GOSUB 1500 3400 GOTO 10330 3499 : 3500 REM ----- NEUE DATEI ANLEGEN 3505 CLR :HM=1 :OPEN15,8,15 3510 DN$="TEST" :(null) 3,2,5,"[206]AME DER [196]ATEI : ",A,14,15,DN$ 3520 (null) :(null)4 3550 PRINT"[147]" 3560 (null) "HELP MASKDEF 1" :(null) 3570 GOSUB 1200 :IF OK=0 THEN 3560 3580 (null) 3590 (null) 3600 N2=(null)(0) :POKE 829,N2 3610 (null) "@:"+DN$+CHR$(160)+"M" 3620 OPEN 1,8,2,"@:"+DN$+CHR$(160)+"D,S,W" :GOSUB 1300 3625 IF F1>1 THEN CLOSE 1 :GOTO 3670 3630 PRINT#1,0 :PRINT#1,N2 3640 CLOSE 1 3650 FF=1 :I1=1 3660 DIM A$(200,N2) 3680 GOTO 10330 3996 : 3997 REM ------------------------------ 3998 REM EDIT 3999 : 4000 BB=5 :IF N1=0 THEN BB=7 4020 (null)2 :(null) "HELP EDITMENU" :(null) BB :(null)10 4030 IF BB=0 THEN RETURN 4040 IF N1=0 AND BB<>7 THEN PRINTCHR$(7); :GOTO 4020 4050 ON BB GOSUB 4220,4100,4310,4300,4400,4410,4200,4500 4060 GOSUB 1500 :GOTO 4020 4098 : 4099 REM ----- LOESCHEN 4100 GOSUB 1200 :IF OK=0 THEN RETURN 4110 N1=N1-1 4120 FOR I=I1 TO N :FOR I2=1 TO N2 :A$(I,I2)=A$(I+1,I2) :NEXT I2,I 4130 IF I1>N1 THEN I1=N1 4140 RETURN 4198 : 4199 REM ----- ANFUEGEN 4200 N1=N1+1 :I1=N1 4210 (null) 4220 (null) "HELP MEDIT" :(null) 4230 FOR I2=1 TO N2 :(null)#(I2-1),A$(I1,I2) :NEXT 4240 RETURN 4298 : 4299 REM ----- "<", "<<" 4300 I1=I1-1 :GOTO 4320 4310 I1=I1-5 4320 IF I1<1 THEN I1=1 :PRINTCHR$(7); 4330 RETURN 4398 : 4399 REM ----- ">", ">>" 4400 I1=I1+1 :GOTO 4420 4410 I1=I1+5 4420 IF I1>N1 THEN I1=N1 :PRINTCHR$(7); 4430 RETURN 4498 : 4499 REM ----- ALPHABETISCH SORTIEREN 4500 HE$="[211]ORTIEREN" :GOSUB 1400 4510 M=N1 4520 M=INT(M/2) :M$=USR("###")M :(null) 1,"[206]R."+M$ :IF M=0 THEN 4650 4530 K=N1-M :J=1 4540 I=J 4550 FOR I2=1 TO N2 4560 IF A$(I,I2)A$(I+M,I2) THEN I2=N2 :NEXT :GOTO 4600 4580 NEXT I2 4590 GOTO 4630 4600 FOR I2=1 TO N2 :T$=A$(I,I2) :A$(I,I2)=A$(I+M,I2) :A$(I+M,I2)=T$ :NEXT I2 4610 I=I-1 4620 IF I>=1 THEN 4550 4630 J=J+1 :IF J>K THEN 4520 4640 GOTO 4540 4650 (null) :(null)7 4660 I1=1 4670 RETURN 4996 : 4997 REM ------------------------------ 4998 REM SAVE 4999 : 5000 GOSUB 1200 :IF OK=0 THEN RETURN 5010 HE$="[211]PEICHERN" :GOSUB 1400 5020 OPEN 1,8,2,"@:"+DN$+CHR$(160)+"D,S,W" 5030 GOSUB 1300 :IF F1>2 THEN 5070 5040 PRINT#1,N1 :PRINT#1,N2 5045 IF N1=0 THEN 5070 5050 FOR I=1 TO N1 :I$=USR("###")I :(null) 1,"[206]R."+I$ 5060 FOR I2=1 TO N2 :PRINT#1,A$(I,I2) :NEXT I2,I 5070 CLOSE1 5080 (null) :(null)7 5090 RETURN 9996 : 9997 REM ============================== 9998 REM H A U P T P R O G R A M M 9999 : 10000 GOSUB 2000 :REM ARBEITSBILDSCHIRM AUFBAUEN 10010 GOSUB 2400 :REM ALLGEMEINES 10020 : 10030 HM=1 :REM BEIM ERSTEN MAL 'LOAD' WAEHLEN 10096 : 10097 REM ----------------------------- 10098 REM HAUPTMENU 10099 : 10100 (null)1 10110 (null) "HELP HAUPTMENU" :(null) HM 10120 IF HM > 0 THEN 10200 10130 : 10140 REM ----- ENDE 10150 OK=0 :GOSUB 1210 :IF OK=0 THEN 10110 10160 PRINT"[147][212]SCHUESS !" 10170 END 10198 : 10199 REM ----- LOAD-ABFRAGE, BEIM ERSTEN MAL M U S S 'LOAD' GEWAEHLT WERDEN ! 10200 IF FF=0 AND HM<>1 THEN HM=1 :PRINTCHR$(7); :GOTO 10110 10299 : 10300 REM ----- FUNKTIONEN ANSPRINGEN 10310 (null)10 10320 ON HM GOSUB 3000,4000,5000 10330 (null)0 10340 IF FF=0 THEN 10100 10350 IF HM=1 THEN (null) 4 :(null) 4,1,12,"[203]ARTEI [155]'";DN$;"'" 10360 GOSUB 1500 10370 GOTO 10100