10 REM DATENVERWALTUNG==============C64 20 REM BY ALFONS MITTELMEYER 30 REM 40 REM C64 50 REM BASIC V2.0 60 REM ================================ 70 IF PEEK(49154)=174THEN100 80 SYS57812"SYSMC",8,0:POKE780,0 90 POKE781,254:POKE782,191:SYS65493 100 POKE53281,0:POKE53280,0:PRINTCHR$(14);:GOSUB880:PRINTCL$;:GOSUB170 110 PRINTG$;:SYSSF:PRINTCHR$(14); 120 PRINTCL$;:GOSUB770:GOSUB820 130 GOSUB1360:GOSUB1420:GOSUB1820:GOTO120 140 REM ----------------------------- 150 REM LADEN 160 REM ----------------------------- 170 PRINT"[196]ATEINAME? ";:SYSIN:VW$ 180 OPEN8,8,8,VW$+",P,R":INPUT#8,MF$,MF$,DF$:CLOSE8 190 OPEN8,8,8,MF$+",P,R":INPUT#8,A$,FZ,TZ:FZ=FZ-1:TZ=TZ-1 200 DIMTX%(TZ),TY%(TZ),TZ$(TZ),FX%(FZ),FY%(FZ),FZ%(FZ) 210 GOSUB300:FORI=0TOTZ:SYSIN:TX%(I):SYSIN:TY%(I):SYSIN:TZ$(I):NEXT 220 FORI=0TOFZ:INPUTFX%(I),FY%(I),FZ%(I):NEXT:GOSUB310 230 OPEN8,8,8,DF$+",P,R":INPUT#8,A$,A,MZ,SZ 240 MZ=MZ-1:NZ=SZ:SZ=SZ-1 250 IFFZ+1<>ATHENCLOSE8:END 260 DIMF$(MZ,FZ):DIMZ%(MZ):IF SZ<0 THEN 290 270 GOSUB300:FORJ=0TOSZ:FORI=0TOFZ 280 SYSIN:F$(J,I):NEXT:Z%(J)=J:NEXT 290 GOSUB310:Z=0:RETURN 300 POKE19,8:POKE781,8:SYS65478:RETURN 310 CLOSE8:SYS65484:POKE19,0:RETURN 320 (null) 330 REM ------------------------ 340 REM SPEICHERN 350 REM ------------------------ 360 OPEN8,8,8,FI$+",P,W":PRINT#8,CHR$(1)CHR$(1)CHR$(0)CHR$(0) 370 PRINT#8,FZ+1:PRINT#8,MZ+1:PRINT#8,SZ+1:IFSZ=-1THEN400 380 FORJ=0TOSZ 390 FORI=0TOFZ:PRINT#8,F$(Z%(J),I):NEXT:NEXT 400 CLOSE8:RETURN 410 REM ------------------------ 420 REM VORWAERTS 430 REM ------------------------ 440 Z=Z+1:IFZ>SZTHENZ=Z-1 450 GOTO820 460 REM ------------------------ 470 REM RUECKWAERTS 480 REM ------------------------ 490 Z=Z-1:IFZ<0THENZ=0 500 GOTO820 510 REM ------------------------ 520 REM LOESCHEN 530 REM ------------------------ 540 IFZ>SZTHENRETURN 550 SZ=SZ-1:IFZ>SZTHENZ%(Z)=NZ:RETURN 560 FORI=ZTOSZ:Z%(I)=Z%(I+1):NEXT 570 RETURN 580 REM ------------------------ 590 REM EINSORTIEREN 600 REM ------------------------ 610 IFSZ=0THENRETURN 620 Z=0:A=Z%(SZ):VW$=F$(A,0):FORI=SZ-1TO0STEP-1 630 IFF$(Z%(I),0)<=VW$THENZ=I+1:I=0:GOTO650 640 Z%(I+1)=Z%(I) 650 NEXT:Z%(Z)=A:RETURN 660 REM ------------------------ 670 REM SUCHEN 680 REM ------------------------ 690 UG=0:OG=SZ 695 FORI=0TO1STEP0 700 IF OG="; 840 NEXT:RETURN 850 REM ------------------------- 860 REM VARIABLENDEFINITION 870 REM ------------------------- 880 LE$=" ":LE$=LE$+LE$ 890 LE$=LE$+LE$:CL$=CHR$(147) 900 IN=49465:AT=49152:WO=49172:EF=49337 910 SF=49482:SO=49497 920 W$=CHR$(5):G$=CHR$(153):RETURN 1100 REM ----------------------- 1110 REM MASKENEINGABE 1120 REM ----------------------- 1130 FOR I=0TOFZ 1140 GOSUB 1230 1150 ON N GOTO 1190,1170 1160 NEXT:RETURN 1170 IFI>0THENI=I-1 1180 GOTO1140 1190 I=FZ:GOTO1160 1200 REM ----------------------- 1210 REM FELDEINGABE 1220 REM ----------------------- 1230 SYSAT,FX%(I)+1,FY%(I) 1240 PRINTW$; 1250 SYSEF,FZ%(I),N,F$(Z%(Z),I) 1310 PRINTG$; 1320 RETURN 1330 REM ------------------------- 1340 REM MENUE 1350 REM ------------------------- 1360 SYSAT,0,23:PRINT"E = ERFASSEN, A = AENDERN, L = LOESCHEN"; 1370 SYSAT,0,24:PRINT"S = SUCHEN, D=DRUCK"; 1380 RETURN 1390 REM ------------------------ 1400 REM AUSWAHL 1410 REM ------------------------ 1420 GETTA$:IFTA$=""THEN1420 1430 SYSWO,TA$,"EALSD[145]",N 1440 IFTA$=CHR$(3)THENRETURN 1450 ON N GOSUB 1500,1680,1610,1560,1760,440,490 1460 GOTO 1420 1470 REM ------------------------ 1480 REM ERFASSEN 1490 REM ------------------------ 1500 IF NZ=MZ+1THENSYSAT,0,22:PRINT"[211]PEICHER IST VOLL !";:RETURN 1510 SZ=SZ+1:Z=SZ:Z%(Z)=NZ:NZ=NZ+1 1520 GOSUB820:GOSUB1130:GOTO610 1530 REM ------------------------ 1540 REM SUCHEN 1550 REM ------------------------ 1560 SYSAT,0,22:PRINT"[211]UCHBEGRIFF: ";:SYSIN:VW$ 1570 SYSAT,0,22:PRINTLEFT$(LE$,39);:GOSUB690:GOTO820 1580 REM ------------------------ 1590 REM LOESCHEN 1600 REM ------------------------ 1610 SYSAT,0,22:PRINT"[215]IRKLICH LOESCHEN J/N?"; 1615 GETTA$:IFTA$=""THEN1615 1620 SYSAT,0,22:PRINTLEFT$(LE$,25); 1630 IFTA$<>"J"THENRETURN 1640 GOSUB540:GOTO820 1650 REM ------------------------ 1660 REM AENDERN 1670 REM ------------------------ 1680 IF Z>SZTHEN1500 1690 VW$=F$(Z%(Z),0):GOSUB1130 1700 IFVW$=F$(Z%(Z),0)THENRETURN 1710 DZ=Z%(Z):GOSUB540:SZ=SZ+1 1720 Z=SZ:Z%(Z)=DZ:GOTO610 1730 REM ------------------------ 1740 REM DRUCKEN 1750 REM ------------------------ 1760 OPEN4,4,7:POKE781,4:SYS65481 1761 IF (PEEK(783)AND1)=1THEN1780 1762 FORI=0TOFZ 1770 PRINTF$(Z%(Z),I) 1779 NEXT:PRINT#4 1780 SYS65484:CLOSE4:RETURN 1790 REM ------------------------ 1800 REM SICHERN? ENDE? 1810 REM ------------------------ 1820 PRINTCL$"[196]ATEN SPEICHERN J/N?" 1830 GETTA$:IFTA$=""THEN1830 1840 IFTA$="N"THEN1880 1850 IF TA$<>"J"THEN1830 1860 SYSAT,0,2:PRINT"[198]ILENAME? @:"DF$; 1870 SYSAT,10,2:SYSIN:FI$:GOSUB360 1880 PRINTCL$"[208]ROGRAMM BEENDEN J/N?"; 1890 GETTA$:IFTA$=""THEN1890 1900 IFTA$="J"THENSYSSO:PRINTCHR$(142);:END 1910 IFTA$<>"N"THEN1890 1920 RETURN 1930 REM ============================== 1940 REM P R O G R A M M E N D E 1950 REM ==============================