REM ************* DATENSATZ auf Diskette SCHREIBEN ******************* satzauf.disk: for x=1 to felder for y=1 to LEN(feldinhalt$(x)) a%=ASC(MID$(feldinhalt$(x),y,1)) put 1,a% next if x31 feldinhalt$(x)=feldinhalt$(x)+chr$(a%):a%=get(sourcefilenum) wend if a%=12 then x=felder : goto satzvon.disk.ende: neues.feld: next goto satzvon.disk.exit: datei.ende.melden: dateiende=1 : goto satzvon.disk.exit: satzvon.disk.ende: satzvon.disk.exit: RETURN rem ------------------------------------------------------------------ REM * * * * DATENSATZ auf MONITOR SCHREIBEN * * * satzauf.moni: satz=satz+1 print cls$;line$ print in$;" A U S G A B E : ";satz;". D A T E N S A T Z ";tab(83);ni$ print line$ : print for x=1 to felder print feldname$(x);tab(28);": ";feldinhalt$(x) if dateiende=1 then goto satzauf.moni.1: next satzauf.moni.1: RETURN rem * * * * DATENSATZ vom MONITOR LESEN * * * * * * satzvon.moni: for x=1 to felder feldinhalt$(x)="" next print cls$;line$ satz=satz+1 print in$;" E I N G A B E : ";satz;". D A T E N S A T Z";tab(83);ni$ print line$ : print for x=1 to felder print feldname$(x);tab(28); input "= "; LINE feldinhalt$(x) next RETURN rem ******************** SATZ auf Drucker ****** satzauf.drucker: lprinter print : print ucase$(filespec$);" - ";satz;".Datensatz : " print string$(40,chr$(61)) for x=1 to felder print feldname$(x);tab(20);" = ";feldinhalt$(x) next print console RETURN rem ************************************************** rem ************************* F I L E S T A R T - Modul ************** filestart: print : dateiende=0 input "Bitte FILESPECIFIKATION des DATENFILES eingeben : ";filespec$ rem rem -------------------------- Anzahl der Felder bestimmen felder=0 : satz=0 if size(filespec$)=0 then dateiende=1 : gosub datei.leer: : goto menu: open filespec$ AS 1 while i%<>12 i%=get(1) if i%=13 then felder=felder+1 if i%=26 then close 1 wend felder=felder+1 close 1 rem rem -------------------------- Laenge der Felder bestimmen dim feldname$(felder) dim feldlaenge(felder) dim feldinhalt$(felder) open filespec$ AS 1 while i%<32 : i%=get(1) : wend for x=1 to felder while i%>31 i%=get(1) feldlaenge(x)=feldlaenge(x)+1 wend while i%<32 : i%=get(1) : wend next close 1 rem ---------------------------- FELDNAMEN feldnamen.label: open filespec$ AS 1 gosub satzvon.disk: close 1 for x=1 to felder feldname$(x)=feldinhalt$(x) next if dateiende=1 AND filnamclip=0 then gosub datei.leer: ELSE filenamclip=0: RETURN RETURN REM --------------------------------------SUBPROGRAMM datei.leer: print bel$;line$ print in$;" ACHTUNG ! Die angegebene Datei ";ucase$(filespec$);" ist leer ! "; \ : Print tab(83);ni$ : print in$;" ( Oder gar nicht vorhanden ! )";tab(83);ni$ print line$ for x=1 to 1000 : next RETURN rem ------------------------------------------------------------------ (83);ni$ print line$ for x=1 to 1000 : next RETURN rem ------------------------------------------------------------------