5 X$=REPEAT$(50,""):N$="*":Q$="Datensatz ":R$="Datenbank ":Z$=COMMAND$:Z=-1:Q=1:ON ERROR GOTO 290:IF Z$<>"" THEN A=6:CLS:GOTO 276 10 CLS:PRINT TAB(35)"> DATAWORK <":LOCATE 3,26:PRINT"(C)opyright C.E.Software 1993":LOCATE 5,24:PRINT"programmiert von Carsten Engelmann":IF P$<>"" THEN COLOR 6:LOCATE 8,31:PRINT R$"geschtzt!" 15 Y$="Anzahl der Datenstze:"+STR$(Z+1)+" (max."+STR$(R)+")":IF D THEN COLOR 4:LOCATE 9,22:PRINT"Genderte "R$"nicht gespeichert!" 20 COLOR 7:LOCATE 10,(82-LEN(Y$))/2:PRINT Y$:LOCATE 12,31:PRINT"Programmende ":LOCATE 14,27:IF Z=R OR H=0 THEN COLOR 8 25 PRINT Q$"eingeben...... <1>":COLOR 7:IF Z<0 THEN COLOR 8 30 PRINT TAB(27)Q$"anzeigen...... <2>"TAB(27)Q$"drucken....... <3>":PRINT TAB(27)Q$"lschen....... <4>"TAB(27)Q$"ndern........ <5>":COLOR 7:PRINT TAB(27)R$"laden......... <6>"TAB(27)R$"lschen....... <7>":IF H=0 THEN COLOR 8 40 PRINT TAB(27)R$"speichern..... <8>":COLOR 7:PRINT TAB(27)R$"erstellen..... <9>"TAB(27)"Datenbanken anzeigen.... <0>":U$="0":T$="9":E=0:C=0 45 GOSUB 320:A=B:IF A=1 THEN IF R=Z OR H=0 GOTO 45 55 IF Z<0 AND A>1 AND A<6 GOTO 45 ELSE IF H=0 AND A=8 GOTO 45 60 CLS:E=1:ON A GOTO 115,75,250,215,235,275,225,155,170 65 PRINT TAB(31)"Datenbanken anzeigen":Z$=N$:GOSUB 185:N$=Z$+".dwb":Z$=DIR$(N$) 70 GOSUB 245:FOR I=0 TO 14:LOCATE 8+I,34:PRINT Z$MID$(X$,LEN(Z$)+39):Z$=DIR$:NEXT:U$="1":T$=U$:IF Z$>"" THEN LOCATE 25,31:PRINT"Weitere Dateien <1>";:GOSUB 320:GOSUB 240:GOTO 70 ELSE LOCATE 25,32:PRINT"Neue Eingabe <1>";:GOSUB 320:GOTO 60 75 PRINT TAB(32)Q$"anzeigen" 80 U$="1":T$=MID$(STR$(H+1),2):GOSUB 245:LOCATE 5,22:PRINT"Zur Suche Datensatzzeilennummer whlen":FOR I=0 TO H:LOCATE I*2+8,2:PRINT B$(I)MID$(X$,26+LEN(B$(I)))" <"MID$(STR$(I+1),2)">":NEXT 85 IF A=5 THEN LOCATE 8,46:PRINT"Datensatzzeilen/Passwort <0>":U$="0" 90 IF A=3 THEN LOCATE 8,53:COLOR,(1-K)*4:PRINT"DIN A4";:COLOR,0:PRINT" oder ";:COLOR,K*4:PRINT"Etiketten";:COLOR,0:PRINT" <0>":LOCATE 10,53:PRINT"Abstandszeilen <->,<+>:"Q:U$="0" 95 GOSUB 320:IF B=0 THEN IF A=3 THEN K=1-K:GOTO 90 ELSE GOSUB 240:GOTO 175 100 LOCATE 5,47:PRINT"text eingeb":FOR I=0 TO H:LOCATE I*2+8,27:PRINT": "X$:NEXT:LOCATE 25,31:PRINT"Alle Datenstze ";:L=B-1:M=50:N=29:G=L*2+8:Z$="":GOSUB 195:GOSUB 240:S$=Z$:O=LEN(S$):I=0:WHILE I<=Z:IF S$=LEFT$(A$(I,L),O) THEN F=I:GOTO 120 105 I=I+1:WEND:GOSUB 245:LOCATE 13,21:PRINT"Die gesamte "R$"wurde durchsucht!":LOCATE 25,33:PRINT"Neue Suche <1>";:U$="1":T$=U$:GOSUB 320:GOTO 60 110 GOSUB 245:LOCATE 25,25:PRINT"Neue Suche <1> Weitersuchen <2>";:U$="1":T$="2":GOSUB 320:ON B GOTO 60:GOSUB 240:GOTO 105 115 ON-(Z=R)GOTO 10:CLS:PRINT TAB(32)Q$"eingeben":GOSUB 245:C=Z+1:F=C 120 FOR J=0 TO H:LOCATE J*2+8,2:PRINT B$(J)MID$(X$,26+LEN(B$(J)))": "A$(F,J)MID$(X$,1+LEN(A$(F,J))):NEXT:ON A-1 GOTO 110,255,220:GOSUB 245:IF G=2 GOTO 150 125 LOCATE 5,34:PRINT"Datensatzname":N=29:M=50:G=8:Z$=A$(F,0):GOSUB 195:GOSUB 240 130 FOR J=0 TO Z:IF J<>F AND Z$=A$(J,0) THEN GOSUB 245:LOCATE 25,20:PRINT"Dieser Datensatzname ist schon vergeben!";:GOTO 120 135 NEXT:FOR J=0 TO Z:ON-(Z$F THEN J=J-1:IF J>F THEN I=I-1 145 FOR G=0 TO H:Z$=A$(F,G):ARRAY DELETE A$(F,G) FOR C-F+1:ARRAY INSERT A$(J,G) FOR C-J+1,Z$:NEXT:D=1:Z=C:F=J:G=2:GOTO 120 150 FOR J=1 TO H:G=J*2+8:Z$=A$(F,J):GOSUB 195:A$(F,J)=Z$:NEXT:ON A GOTO 115:GOTO 110 155 PRINT TAB(31)R$"speichern":Z$=W$:GOSUB 185:W$=Z$+".dwb" 160 OPEN"o",1,W$:U$=P$:M=-LEN(U$):GOSUB 350:PRINT#1,U$:WRITE#1,Z;H:FOR I=0 TO H:PRINT#1,B$(I):NEXT:FOR I=0 TO Z:FOR J=0 TO H:U$=A$(I,J):GOSUB 350:PRINT#1,U$:NEXT J,I:CLOSE:V$=W$:D=0:IF P$<>"" AND O$=P$ THEN ATTRIB W$,1 165 GOTO 10 170 PRINT TAB(31)R$"erstellen":GOSUB 245:LOCATE 13,25:PRINT"Anzahl der Datensatzzeilen <2-8>":U$="2":T$="8":GOSUB 320:GOSUB 240:B=B-1:C=-1:GOSUB 335:P$="":O$="":V$="":D=1 175 GOSUB 245:LOCATE 5,26:PRINT"Benennung der Datensatzzeilen":FOR I=0 TO H:LOCATE I*2+9,22:PRINT STR$(I+1)". Zeile: "B$(I)MID$(X$,26+LEN(B$(I))):NEXT:N=33:M=25:FOR I=0 TO H:G=I*2+9:Z$=B$(I):GOSUB 195:B$(I)=Z$:D=1:NEXT 180 LOCATE 5,26:PRINT"Passwort: "MID$(X$,32):G=5:N=36:M=19:Z$="":GOSUB 195:O$=Z$:P$=Z$:GOTO 10 185 GOSUB 245:Z$=EXTRACT$(Z$,"."):Y$="Verzeichnis: "+CURDIR$:LOCATE 13,INT((82-LEN(Y$))/2):PRINT Y$:LOCATE 15,23:PRINT"Dateiname: "Z$+MID$(X$,27+LEN(Z$)):M=24:N=34:G=15:GOSUB 195:GOSUB 240:IF MID$(Z$,2,1)=":" THEN CHDRIVE LEFT$(Z$,1):Z$=MID$(Z$,3) 190 FOR I=M TO 1 STEP-1:IF MID$(Z$,I,1)="\" THEN CHDIR LEFT$(Z$,I)+".":Z$=MID$(Z$,I+1):RETURN ELSE NEXT:RETURN 195 LOCATE G,N,1,6,7:B=1:G=1 200 Y$=INKEY$:IF Y$=CHR$(8) AND B>1 THEN Z$=LEFT$(Z$,B-2)+MID$(Z$,B):LOCATE,N:PRINT Z$"";:B=B-1:LOCATE,B-1+N ELSE T$=MID$(Y$,2):IF T$="S" AND BB-1 THEN LOCATE,N+B:B=B+1 ELSE IF T$="K" AND B>1 THEN LOCATE,N+B-2:B=B-1 ELSE IF T$="R" THEN G=1-G:LOCATE,,,G*6,7 ELSE IF T$="O" THEN B=LEN(Z$)+1:LOCATE,N+B-1 ELSE IF T$="G" THEN LOCATE,N:B=1 210 IF Y$=CHR$(13) THEN LOCATE,,0:RETURN ELSE IF Y$=CHR$(27) THEN LOCATE,,0:IF E>1 THEN RETURN 305 ELSE CLOSE:RETURN 10 212 ON-(Y$<" " OR Y$>"" OR B>M)GOTO 200:Z$=LEFT$(Z$,B-1)+Y$+MID$(Z$,B+G,M-B):LOCATE,N:PRINT Z$;:LOCATE,N+B:B=B+1:GOTO 200 215 PRINT TAB(32)Q$"lschen":GOTO 80 220 FOR J=0 TO H:ARRAY DELETE A$(F,J) FOR Z-F+1:NEXT:Z=Z-1:I=F-1:D=1:GOTO 110 225 PRINT TAB(32)R$"lschen":Z$="":GOSUB 185:W$=Z$+".dwb" 230 KILL W$:GOTO 10 235 PRINT TAB(33)Q$"ndern":C=Z:GOTO 80 240 FOR G=3 TO 25:LOCATE G,2:PRINT SPC(77);:NEXT:RETURN 245 LOCATE 3,31:PRINT"Zum Hauptmen ":RETURN 250 PRINT TAB(32)Q$"drucken":GOTO 80 255 C=C+Q+H+1:ON-(K=0 AND C-Q>67)GOTO 270:FOR J=0 TO H:IF K=0 THEN LPRINT B$(J)MID$(X$,26+LEN(B$(J)))": "; 260 LPRINT A$(F,J):NEXT:IF C<68 OR K THEN FOR J=1 TO Q:LPRINT:NEXT 265 ON-(S$>"")GOTO 110:GOSUB 240:GOTO 105 270 GOSUB 245:LOCATE 5,21:PRINT"Nach Druckvorgang neues Papier einlegen":LOCATE 25,32:PRINT"Weiterdrucken <1>";:U$="1":T$=U$:C=0:GOSUB 320:GOTO 255 275 PRINT TAB(33)R$"laden":Z$=W$:GOSUB 185 276 W$=Z$+".dwb":OPEN"i",1,W$:LINE INPUT#1,U$:M=LEN(U$):GOSUB 350:IF U$<>"" THEN GOSUB 245:LOCATE 13,26:PRINT"Passwort: "MID$(X$,32):G=13:N=36:M=19:Z$="":GOSUB 195:IF Z$<>U$ THEN ERROR 75 280 INPUT#1,C,B:GOSUB 335:P$=U$:O$=U$:V$=W$:D=0:FOR I=0 TO H:LINE INPUT#1,B$(I):NEXT:FOR I=0 TO Z:FOR J=0 TO H:LINE INPUT#1,U$:GOSUB 350:A$(I,J)=U$:NEXT J,I:CLOSE 285 GOTO 10 290 GOSUB 240:CLOSE:E=ERR:ON-(E<>75)GOTO 297:M$="Datei geschtzt":ON-(A=6)GOTO 300:OPEN"i",1,W$:LINE INPUT#1,U$:CLOSE:M=LEN(U$):GOSUB 350:IF O$=U$ AND V$=W$ GOTO 295 292 GOSUB 245:LOCATE 13,26:PRINT"Passwort: "MID$(X$,32):G=13:N=36:M=19:Z$="":GOSUB 195:IF Z$<>U$ GOTO 300 295 ATTRIB W$,0:IF A=7 THEN RESUME 230 ELSE RESUME 160 297 IF E=7 THEN M$="Zu wenig Speicher" ELSE IF E=57 OR E=27 THEN M$="Drucker nicht bereit" ELSE IF E=71 THEN M$="Laufwerk nicht bereit" ELSE IF E=76 OR E=53 OR E=64 THEN M$=R$+"nicht gefunden" ELSE IF E=61 THEN M$="Datentrger ist voll" 300 M$="Fehlerursache: "+M$:SOUND 1200,2:GOSUB 245:LOCATE 13,INT((82-LEN(M$))/2):PRINT M$:LOCATE 25,24:PRINT"Neue Eingabe <1> Wiederholen <2>";:U$="1":T$="2":GOSUB 320:IF B=2 THEN GOSUB 240:E=1:RESUME ELSE RESUME 60 305 RESUME 10 320 Y$=INKEY$:IF MID$(Y$,2)="-" AND E=0 THEN CLS:END ELSE IF Y$=CHR$(27) AND E THEN IF E>1 THEN RETURN 305 ELSE RETURN 10 325 IF A=3 AND U$="0" THEN LOCATE 10,76:IF Y$="+" AND Q<9 THEN Q=Q+1:PRINT Q ELSE IF Y$="-" AND Q>1 THEN Q=Q-1:PRINT Q 330 ON-(Y$T$)GOTO 320:B=VAL(Y$):RETURN 335 I=(B+1)*16:R=INT((FRE(-1)-I)/I):IF R<20 OR R