Screenshot 1 Screenshot 2 Screenshot 3
2bc0 4618 0000 B ... UNIDAT.B
Monitoraufrufe:
keine:
Verwendete IO-Ports bzw. Hardware:
keine []
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

    1 POKE 10846,95:!NEUER CURSOR       
    2 CLEAR 25000:A2$="      Z 1013 / 64"
    3 FZ=0:N=4:I=1:X=1:N$="TEST":QA=0:DA$=""
    4 A4$=" UniDat 100 "
    5 A5$="  V 2.5 :11/88 Ko  "
    6 PRINT:!Bernd Koch,Block 228/1,Halle-Neust.,Tel:645429
    7 WINDOW:CLS:GOSUB 39
    8 IZ=1:DIM C$(101,11),D$(11),R$(101,11):LS$=STRING$(11," ")
    9 AR=101
   10 GOSUB 11:GOTO 40
   11 PRINT AT(2,8);A1$:PRINT AT(4,0);"",STRING$(29,""),""
   12 PRINT AT(5,0);"": PRINT AT(5,30);""
   13 PRINT AT(6,0);"",STRING$(29,""),""
   14 PRINT AT(5,3);A2$:PRINT AT(5,23);A3$
   15 PRINT AT(8,0);STRING$(31,"") 
   16 FOR I=9 TO 13:PRINT AT(I,0);"":PRINT AT(I,30);"":NEXT I
   17 PRINT AT(14,0);STRING$(31,"")                  
   18 PRINT AT(10,9);A4$:PRINT AT(12,6);A5$ 
   19 PRINT AT(31,23);">ENTER<":GOSUB 39
   20 T$=INKEY$:IF T$<>CHR$(13)THEN 20:ELSE RETURN
   21 CLS:GOSUB 39:PRINT AT(28,7);"FALSCHE EINGABE !":PAUSE 10
   22 PRINT AT(28,7);"                  ":RETURN    
   23 PRINT AT(28,19);"KENNZIFFER :" 
   24 T$=INKEY$:IF T$=""THEN 24
   25 FZ$=T$:PRINT AT(28,31);T$
   26 IF ASC(T$)<48+KA OR ASC(T$)>48+KE THEN GOSUB 21:GOTO 40
   27 T=ASC(T$)-48:RETURN
   28 PRINT AT(24,(30-LEN(KY$)));KY$,"    (J/N)":PRINT AT(26,23);LS$
   29 T$=INKEY$:IF T$=""THEN 29
   30 IF T$="J"OR ASC(T$)=13 THEN T=1:GOSUB 33:RETURN            
   31 IF ASC(T$)=78 THEN T=2:GOSUB 33:RETURN
   32 GOSUB 21:PAUSE 10:GOTO 28
   33 PRINT AT(25,0);"                                ":RETURN
   34 IF FZ$="1"AND C$(101,1)=""THEN FOR I=1 TO FZ:C$(101,I)="........":NEXT I
   35 FOR I=1 TO FZ
   36 PRINT AT(N,2);C$(101,I):N=N+2  
   37 NEXT I:N=4:RETURN 
   38 WINDOW 4,25,10,31:FOR J=0 TO FZ-1:INPUT C$(I1,J):PRINT:NEXT J:RETURN   
   39 PRINT AT(X=PEEK(44)-1,X=PEEK(43)-1);" ":RETURN
   40 WINDOW:CLS:GOSUB 39:PRINT AT(2,0);A4$:PRINT AT(2,19);DA$:PRINT AT(3,2);LS$
   41 PRINT AT(4,0);STRING$(31,"")                                          
   42 PRINT AT(7,0);"1 = DATEN eingeben" 
   43 PRINT AT(9,0);"2 = DATEN sichern auf KASSETTE" 
   44 PRINT AT(11,0);"3 = DATEN lesen von KASSETTE" 
   45 PRINT AT(13,0);"4 = FELDnamen aendern"
   46 PRINT AT(15,0);"5 = DATEN suchen /veraendern" 
   47 PRINT AT(17,0);"6 = DATENsaetze ausgeben" 
   48 PRINT AT(19,0);"7 = DATENsatznr. suchen/aendern"          
   49 PRINT AT(21,0);"8 = HILFE <--- "
   50 PRINT AT(23,0);"9 = ENDE
   51 KA=1:KE=9:GOSUB 23:CLS:GOSUB 39
   52 ON T GOTO 53,76,86,99,105,130,189,178,149
   53 IF DA$<>""THEN QA=1
   54 IF QA=1 THEN 58
   55 CLS:DA$="":INPUT "DATEIname (max.8 Buchst.)        ";DA$
   56 QA=1:IF LEN(DA$)>8 THEN 55
   57 IF DA$=""THEN DA$=N$
   58 CLS:IF FZ<>0 AND FZ$<>"4"THEN 62
   59 PRINT AT(2,2);"Wieviel Datenfelder (2-10) ?":PRINT:PRINT:PRINT:PRINT
   60 INPUT "";FZ:IF FZ<2 OR FZ>10 THEN GOSUB 21:GOTO 59
   61 CLS:GOTO 99
   62 PRINT AT(1,0);"DATENEINGABE :"
   63 PRINT AT(2,0);STRING$(32,"")    
   64 PRINT AT(1,14);" ** Datensatz:",IZ:PRINT:PRINT   
   65 GOSUB 34
   66 WINDOW 4,25,10,31:CLS
   67 IF IZ=AR THEN GOSUB 187:GOTO 40
   68 FOR I=IZ TO AR:CLS:PRINT AT(1,28);IZ:C$(I,0)="":INPUT ":";C$(I,0):PRINT
   69 IF IZ=AR THEN GOSUB 187:I=AR:NEXT I:GOSUB 155:GOTO 40
   70 FOR J=1 TO FZ:C$(I,J)=" ":NEXT J
   71 IF C$(I,0)=""THEN IZ=I:I=AR:NEXT I:GOSUB 155:GOTO 40
   72 FOR J=1 TO FZ-1:INPUT ":";C$(I,J):PRINT
   73 NEXT J:IZ=IZ+1:NEXT I
   74 WINDOW:CLS:PRINT;AT(4,2);"DATENSPEICHER VOLL !"
   75 GOSUB 39:PAUSE 30:GOSUB 155:GOTO 40
   76 CLS:PRINT AT(5,2);"DATEN ABSPEICHERN":PRINT AT(6,2);STRING$(17,"") 
   77 GOSUB 39:PAUSE 10:KY$=""
   78 GOSUB 28:IF T=2 THEN 40
   79 CLS:DA$="":INPUT "DATEINAME (Et=>Test<) :";DA$:IF LEN(DA$)>8 THEN 79
   80 IF DA$=""THEN DA$=N$
   81 CLS:PRINT AT(2,2);"DATEINAME :  ",DA$   
   82 PRINT AT(4,2);"START TAPE !" 
   83 PRINT AT(6,0);"DANACH TASTE >ENTER< BETAETIGEN!":GOSUB 39: GOSUB 20
   84 WINDOW 10,23,2,31:C$(101,0)=STR$(FZ):C$(0,0)=STR$(IZ):CSAVE*""+DA$;C$    
   85 WINDOW:GOSUB 39:GOTO 40
   86 CLS:PRINT AT(7,0);"*** Warnung ! ***"
   87 PRINT AT(9,0);"vorhandene Daten werden ueber-" 
   88 PRINT AT(11,0);"schrieben (J/N) !":GOSUB 39:T$=INKEY$:IF T$=""THEN 88
   89 IF T$="N"THEN 76
   90 CLS:PRINT AT(2,2 );"DATEN EINLESEN":PRINT AT(3,2);STRING$(14,""):GOSUB 39
   91 PAUSE 10
   92 CLS:SA$="":INPUT "DATEINAME:";SA$:IF LEN(SA$)>8 THEN 92
   93 IF SA$=""THEN 92
   94 CLS:PRINT AT(2,2);"DATEINAME :  ",SA$
   95 PRINT AT(4,9);"START TAPE !"
   96 PRINT AT(6,0);"BEI VORTON >ENTER< BETAETIGEN!":GOSUB 39:GOSUB 20
   97 WINDOW:CLS:CLOAD*""+SA$;C$:IZ=VAL(C$(0,0)):FZ=VAL(C$(101,0))
   98 DA$=SA$:GOTO 40
   99 PRINT AT(2,0);"Feldnamen aendern,Datei":PRINT AT(2,24);DA$
  100 PRINT AT(3,0);STRING$(32,"")
  101 GOSUB 34:PRINT:PRINT:WINDOW 4,25,0,31:FOR I=1 TO FZ:INPUT " ";C$(101,I):PRINT
  102 IF LEN(C$(101,I))>8 THEN C$(101,I)=LEFT$(C$(101,I),8)
  103 NEXT I
  104 GOSUB 19:GOTO 40
  105 IF IZ=1 THEN 145
  106 PRINT AT(5,2);"STICHWORT ODER ZAHL EINGEBEN !" 
  107 PRINT STRING$(8,CHR$(10));"  ";
  108 WINDOW 10,25,2,31:CLS    
  109 XI$="":I1=1:INPUT "";XI$:IF XI$=""THEN 105
  110 WINDOW
  111 FOR I=I1 TO IZ-1:FOR J=0 TO FZ
  112 IF INSTR(XI$,C$(I,J))=0 THEN 113:ELSE I1=I:I=IZ:J=FZ:NEXT J:NEXT I:GOTO 117
  113 NEXT J:NEXT I
  114 WINDOW:CLS
  115 PRINT AT(8,2);"KEINE INFORMATION VORHANDEN !"
  116 GOSUB 39:PAUSE 10:GOTO 40
  117 CLS:PRINT AT(1,0);"Datensaetze der Datei:":PRINT AT(1,24);DA$
  118 PRINT AT(2,0);" ** Datensatz:",I1
  119 PRINT AT(3,0);STRING$(32,"")                                          
  120 GOSUB 39:GOSUB 34
  121 WINDOW 4,25,10,31:CLS
  122 FOR I=0 TO FZ-1:PRINT ": ";C$(I1,I):PRINT:NEXT I    
  123 KY$="WEITER SUCHEN":GOSUB 28:GOSUB 39:IF T=1 THEN I1=I1+1:ELSE GOTO 125
  124 IF I1=IZ THEN 114:ELSE CLS:GOTO 111
  125 KY$="Korrigieren (K) / Loeschen (L) ?"
  126 PRINT AT(25,0);KY$:PRINT AT(24,0);"                              " 
  127 IF INKEY$="L"THEN 170
  128 IF INKEY$="K"THEN GOSUB 33:GOSUB 38:GOSUB 155:GOTO 40
  129 GOTO 127
  130 GOSUB 199
  131 I1=1
  132 CLS:GOSUB 39:PRINT AT(1,0);"Liste":PRINT AT(4,0);STRING$(32,"")  
  133 PRINT AT(2,0);"Datei :":PRINT AT(2,9);DA$
  134 PRINT AT(1,10);" ** Datensaetze :",IZ-1
  135 IF IZ=1 THEN 145
  136 PRINT AT(3,0);"Nr.":PRINT AT(3,7);C$(101,1):PRINT AT(3,20);C$(101,X+1)   
  137 PRINT STRING$(3,CHR$(10))
  138 FOR I=I1 TO I1+8:PRINT AT(1,26);IZ-1:PRINT
  139 PRINT I;TAB(7)C$(I,0);TAB(20)C$(I,X)  
  140 IF I=IZ-1 THEN I=I1+8:NEXT I:WINDOW:GOSUB 19:I=1:GOTO 40
  141 NEXT I
  142 KY$="FORTSETZEN":GOSUB 28:
  143 GOSUB 39:IF T=2 THEN 40
  144 I1=I1+FZ:GOTO 132
  145 WINDOW:CLS:PRINT AT(3,2);"BITTE ERST DATEN EINGEBEN"
  146 PRINT AT(5,2);"ODER VON KASSETTE EINLESEN!":GOSUB 39
  147 KY$="DATEN VON KASSETTE EINLESEN":GOSUB 28:IF T=2 THEN 40
  148 CLS:GOTO 90
  149 PRINT;AT(2,2);"PROGRAMMENDE":PRINT AT(3,2);STRING$(12,"")
  150 PRINT AT(6,2);"BITTE VERGESSEN SIE NICHT,"
  151 PRINT AT(8,2);"DIE DATEN ABZUSPEICHERN !"
  152 KY$="WOLLEN SIE DATEN ABSPEICHERN ?":GOSUB 28:CLS
  153 IF T=1 THEN GOSUB 39:GOTO 76
  154 POKE 10846,0:END
  155 WINDOW:CLS:PRINT AT(5,5);"--- Ich sortiere ---":GOSUB 39
  156 L=IZ-1:S=L
  157 S=INT(S/2)
  158 IF S=0 THEN 168
  159 FOR M=S+1 TO L   
  160 Z=M:C$=C$(Z,0):FOR R=1 TO FZ-1:R$(Z,R)=C$(Z,R):NEXT R
  161 FOR Q=M TO S+1 STEP-S
  162 Y=Q-S:IF C$(Q-S,0)<=C$ THEN GOTO 165
  163 C$(Q,0)=C$(Q-S,0):FOR R=1 TO FZ-1:C$(Q,R)=C$(Y,R):NEXT R
  164 NEXT Q
  165 C$(Q,0)=C$:FOR R=1 TO FZ-1:C$(Q,R)=R$(Z,R):NEXT R
  166 NEXT M
  167 GOTO 157
  168 PRINT AT(20,3);FRE(C$),"BYTES FREE":PAUSE 30
  169 RETURN
  170 WINDOW                  
  171 CLS:PRINT AT(0,0);" wirklich loeschen ? (J / N)":GOSUB 39
  172 IF INKEY$="N"THEN GOTO 40
  173 IF INKEY$="J"THEN 175
  174 GOTO 172
  175 CLS:FOR I=0 TO FZ-1:C$(I1,I)=""
  176 FOR I=I1 TO IZ-1:C$(I,0)=C$(I+1,0):FOR J=1 TO FZ:C$(I,J)=C$(I+1,J):NEXT J:NEXT I
  177 GOSUB 155:IZ=IZ-1:GOTO 40
  178 CLS:PRINT AT(1,0);"Beim Veraendern Text            ueberschreiben,"
  179 PRINT AT(3,0);"auch SP,<--, und --> bewirken   das Loeschen der"       
  180 PRINT AT(5,0);"Eintragung.  --> Enter geht ohneAenderung weiter"
  181 PRINT AT(11,0);"Maximal 19 Zeichen eingeben !"
  182 PRINT AT(15,0);"Statt --J-- auch --Et-- moeglich"
  183 PRINT AT(17,0);"Warmstart : *** GOTO3040 ***"
  184 PRINT AT(20,0);"Kein Komma eingeben !"
  185 GOSUB 39:PAUSE 250:PAUSE 250
  186 A4$="VERZEICHNIS":A5$="GRUNDMITTEL DATEN":POKE 10846,95:GOTO 40
  187 WINDOW:CLS:GOSUB 39:PRINT AT(7,0);"DATENSPEICHER VOLL !"
  188 PAUSE 30:RETURN
  189 WINDOW:CLS:IF IZ=1 THEN 145
  190 PRINT AT(2,0);"Gewuenschte Nummer eingeben":PRINT:PRINT:PRINT:PRINT:PRINT
  191 I1 =0:INPUT "";I1:IF I1=0 THEN GOSUB 21:GOTO 189
  192 IF I1=IZ OR I1>IZ THEN GOSUB 21:GOTO 189
  193 CLS:PRINT AT(1,0);"Datenausgabe":PRINT AT(3,0);STRING$(32,"")
  194 PRINT AT(1,14);" **DATENSATZ :",I1
  195 PRINT AT(2,0);"Datei :":PRINT AT(2,9);DA$
  196 GOSUB 39:GOSUB 34
  197 WINDOW 4,25,10,31:CLS
  198 FOR I=0 TO FZ-1:PRINT ": ";C$(I1,I):PRINT:NEXT I:GOTO 125
  199 WINDOW:CLS
  200 PRINT AT(2,0);"Das 1.Feld wird immer ausgegeben "
  201 IF FZ<=9 THEN TZ=FZ:ELSE TZ=FZ-1
  202 PRINT AT(4,0);"Das 2.Feld kann frei gewaehlt    werden (2-",TZ,")2=Stan
  203 PRINT AT(6,0);"Zur Aenderungder Feldausgabe     Zahl eingeben ,oder Et<--
  204 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
  205 M$="":M$=INKEY$:PRINT AT(10,0);M$
  206 IF M$=CHR$(13)THEN X=1:RETURN                               
  207 IF VAL(M$)<2 OR VAL(M$)>FZ THEN 205 GOTO 205
  208 X=VAL(M$)-1:RETURN:END