10 REM ** VERZENDLIJSTEN - RUBRIEKSINDELING **
20 DATA NUMMER,-6,AANHEF,5,"NAAM 1",25
30 DATA "NAAM 2",25,ADRES,25,POSTCODE,7
40 DATA WOONPLAATS,20,LAND,20,TELEFOON,12,CODE,5
50 DIM A$(10),A(10)
60 GOTO 1070
70 :
80 REM ** INITIALISEREN **
90 RESTORE
100 N$=" "
110 R=0:N=0:W=0:X=0
120 Y=0:E=0:G=-1
130 RETURN
140 :
150 REM ** KOP VAN HET SCHERM AFDRUKKEN ***
160 PRINT CHR$(27)"E"
165 PRINT TAB(18)"*** -KAARTENBAK-SYSTEEM- ***"
166 PRINT
170 PRINT"*** VERZENDLIJST ***                      --- RUBRIEKSINDELING--"
175 PRINT
177 PRINT
180 PRINT F$                              :REM FUNCTIE-AFDRUK
190 RETURN
200 :
210 REM **OPSLAAN  DIKS **
220 F$="-OPSLAAN OP SOURCE DISK-":GOSUB 160
225 PRINT:PRINT
230 B$="OPSLAAN OP SOURCE DISK ?  ":GOSUB 360
240 IF S=2 THEN 330
250 OPEN "O",1, N$           
260 PRINT #1,BESWOORD$
270 PRINT #1,R;",";N;",";W;",";Y;",";E;",";X;",";X
280 FOR I=1 TO R
290 PRINT#1,A$(I);",";A(I)   :REM RUBRIEKSGEGEVENS
300 NEXT I
310 G=0
320 CLOSE
330 RETURN
340 :
350 REM ** JA/NEE **
360 PRINT B$ + " <JA/NEE> ";
370 INPUT L$:L$=LEFT$(L$,1):S=0
380 IF L$="J" THEN S=1
390 IF L$="N" THEN S=2
400 IF S=0 THEN 360
410 RETURN
420 :
430 REM ** CONTROLE OP OPSLAAN GEGEVENS **
440 F$="-CONTROLE-" : GOSUB 160
445 PRINT:PRINT
450 PRINT"RUBRIEKSGEGEVENS ZIJN NOG NIET OPGESLAGEN !"
460 B$="NOG OPSLAAN ": GOSUB 360
470 IF S=1 THEN GOSUB 220
480 RETURN
490 :
500 REM ** DISPLAY **
510 GOSUB 160 : REM KOP
515 PRINT
520 PRINT "BESTANDSNAAM                :";N$
530 PRINT "GESELECTEERDE RUBRIEKEN     :"
535 PRINT
540 PRINT "RUBR.NR     RUBRIEK-NAAM     AANTAL KARAKTERS"
545 PRINT
550 FOR H=1 TO R
560 PRINT TAB(2)H;TAB(13)A$(H);TAB(31)ABS(A(H))
570 NEXT H
575 PRINT
580 IF W=2 THEN PRINT "AUTOMATISCH NUMMEREN VANAF   :";Y+1
590 IF E <> 0 THEN PRINT "SORTEERVOLGORDE              : "; A$(E)
600 PRINT"-------------------------------------------------------------"
610 RETURN
620 :
630 REM ** NIEUW BESTAND AANMAKEN **
640 IF G=1 THEN GOSUB 440   :REM *** CONTROLE ***
650 F$="- RUBRIEK INDELEN -" : GOSUB 160 :REM KOP SCHERM
655 PRINT
660 PRINT"GEEF DE NAAM VAN HET BESTAND             ";
670 INPUT N$ :N$ = LEFT$(N$,30)
680 PRINT :RESTORE
690 R=0 : W=0 :E=0 :G=1
700 FOR I=1 TO 10
710 READ A$(R+1),A(R+1)
720 B$="RUBRIEK: - "+ A$(R+1)+ " - IN GEBRUIK " :GOSUB 360
730 IF S=2 THEN 820
740 IF I <> 1 THEN 810
750 B$="WILT U AUTOMATISCH NUMMEREN    "  :GOSUB 360
760 IF S=2 THEN 810
770 W=2                              :REM AUTOMATISCH NUMMEREN
780 PRINT"VANAF WELK NUMMER                        ";
790 INPUT Y : IF Y <0 THEN 780
800 Y=Y-1 :Y=INT (Y)
810 R=R+1 : GOSUB 510                :REM RUBRIEKSAANTAL +1
820 NEXT I 
830 PRINT"WELKE RUBRIEK DIENT GESORTEERD TE STAAN     <NR>";
840 INPUT E
850 IF E <0 OR E >R THEN 830
860 REM ** CORRECTIE INDELING RUBRIEKEN **
870 F$="- CORRECTIE INDELING RUBRIEKEN -":GOSUB 510
880 B$="WILT U WIJZIGEN " :GOSUB 360
890 IF S=1 THEN 650
900 RETURN
910 :
920 REM ** MENU **
930 F$="-MENU-"
935 PRINT:PRINT
940 GOSUB 160            :REM KOP
950 PRINT
960 IF G=1 THEN PRINT "BESTAND NIET WEGGESCHREVEN !"
970 PRINT"0 = STOPPEN   -VERLATEN SYSTEEM -"
980 PRINT"1 = NIEUW BESTAND AANMAKEN "
990 PRINT"2 = RUBRIEKSINDELING NAAR SOURCE DISK "
1000 PRINT
1010 PRINT"WAT IS UW KEUZE ";
1020 INPUT M
1030 IF M=2 AND G=-1 THEN 940
1040 RETURN
1050 :
1060 REM ***** STUURMODULE *****
1070 GOSUB 90
1080 GOSUB 930                      :REM ** MENU
1090 IF M = 1 THEN GOSUB 640 :REM ** NIEUW BESTAND AANMAKEN 
1100 IF M=2 THEN GOSUB 220   :REM ** OPSLAAN OP DISK
1110 IF M=0 AND G=1 THEN GOSUB 440
1115 IF M=0 THEN CHAIN "ADMIN"
1120 IF M<>0 THEN 1080
1130 END
:REM ** OPSLAAN OP DISK
1110 IF M=0 AND G=1 THEN GOSUB 440
1115 IF M=0 THEN CHAIN "ADMIN"
1120 IF M<>0 THEN 10