home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh1x
/
sh16a.d64
/
demo-karteiverw
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
8KB
|
362 lines
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 4630
4570 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