1 ! ====================================================================== 2 ! POSTG\R.800 1984-07-27 3 ! Anders Lundberg (2764) 031-11 75 72 4 ! ====================================================================== 5 ! Detta program tillverkar en funktion som lagras p} en fil. Funktionen 6 ! initierar uppdelning av en stor post i f{ltvariabler. Id`n till pro- 7 ! grammet {r fr}n BIT MED BIT MED ABC800 (sid 48). 8 ! 9 ! Exempel : En post F$ skall delas upp i tre f{lt enl f|ljande: 10 ! 11 ! F1$ pos 1-10 12 ! ... F11$ pos 5-10 13 ! F2$ pos 11-20 14 ! 15 ! M h a POSTG\R tillverkas l{tt en subrutin som man senare l{nkar in till 16 ! huvudprogrammet. 17 ! 18 ! I programmet st{lls en del fr}gor 19 ! 20 ! 1 Funktionens namn. Svara med h|gst 8 bokst{ver (ex DEFPOST). En fil med 21 ! namnet DEFPOST.DFN skapas. Denna fil inneh}ller funktionen FNDEFPOST. 22 ! 2 Postens l{ngd. I ex svarar du 20. 23 ! 3 Antal delposter. Skriv h{r 3 24 ! 4 Skriv sedan variabelnamn (ej $), l{ngd och startposition f|r f{lten. 25 ! 26 ! N{r du provar resultatet kan du g|ra s} h{r 27 ! 28 ! LOAD POSTDEF.DFN 29 ! RUN 30 ! \=FNPOSTDEF 31 ! F$='1234567890ABCDEFGHIJ' 32 ! ; F1$ 33 ! ; F11$ 34 ! ; F2$ 35 ! F11$='AA' 36 ! ; F$ 37 ! 38 ! 39 ! 40 ! 41 ! 42 ! 50 EXTEND : INTEGER : OPTION BASE 0 1000 ; CHR$(12) 1010 INPUT 'Funktionens namn :'Na$ 1020 PREPARE Na$+'.DFN' AS FILE 1 1030 ; #1,'1000 DEF FN'+Na$+' LOCAL Adr' 1040 INPUT ' Hur l}ng post : 'Pl 1050 INPUT 'Namn till posten : 'Na$ 1060 ; #1,'1002 DIM '+Na$+'$=' Pl 1070 ; #1,'1004 '+Na$+'$=SPACE$(' Pl ')' 1080 ; #1,'1005 Adr=VARPTR('+Na$+'$)' 1090 INPUT 'Hur m}nga delposter :'Dp 1100 FOR I=1 TO Dp 1110 INPUT 'Namn till f{ltvariabel '+NUM$(I)+' : 'Na$ 1120 INPUT 'Hur l}ng :'L 1130 INPUT 'B|rja i pos :'Pos 1140 Fr=1000+I*10 1150 ; #1,NUM$(Fr)+' DIM '+Na$+'$=0' 1160 ; #1,NUM$(Fr+1)+' POKE VAROOT('+Na$+'$),'+NUM$(L); 1163 ; #1,',0,Adr-1+'+NUM$(Pos)+',SWAP%(Adr-1+'+NUM$(Pos)+'),'+NUM$(L)+',0' 1170 NEXT I 1180 ; #1,NUM$(Fr+2)+' RETURN 0 ' 1190 ; #1,NUM$(Fr+3)+' FNEND'