1 REM Ins{nd av Bo Kullmar <1789> 1985-05-29 23.26.04 2 ! ********************************************************************** 3 ! Program SETPERM.BAS Utg}va 1.1 1985-05-29 4 ! av Bo Kullmar 5 ! Ins{nd av Bo Kullmar 6 ! F|r ABC800M ABC800C ABC802 ABC806 8 ! Testad p} ABC806, ABC802 9 ! En funktion som visar hur man s{tter en fil permanent. 10 ! ********************************************************************** 50 INTEGER : EXTEND : OPTION BASE 0 500 COMMON Lu$=23 1000 ; 'Test av att s{tta en fil permanent' : ; 1010 ! ***** Skapa en testfil ****** 1020 Testfile$='RAM:TEST.FIL' ! 'MEM:' p} ABC802 och 'DR1:TEST.FIL p} ABC800 1030 PREPARE Testfile$ AS FILE 1 : CLOSE 1 1040 ! ***** G|r testfilen premanent ****** 1050 Z=FNSetperm(Testfile$,1) 1060 ! ***** St{ng alla filer, utom den permanenta ****** 1070 CLOSE 1080 ON ERROR GOTO 1150 1090 ! ***** Kolla om den permanenta filern {r |ppen ****** 1100 ; #1,'Jag testar' 1110 ; 'Det fungerar' 1120 ! ***** St{ng den permanenta filen ****** 1130 CLOSE 1 1140 END 1150 IF ERRCODE=32 ; 'Det funkar ej' ELSE ; 'Fel nr' ERRCODE 1160 END 1170 ! ***** F|r att det skall fungera vid CHAIN s} ****** 1180 ! ***** m}ste LU-blocket l{ggas om till en ****** 1190 ! ***** commonvariabel. ****** 1200 ! ***** ****** 2000 ! ***** Funktion f|r att g|ra en fil permanent ****** 2010 ! ***** Se Bit f|r Bit sid 98-99 ****** 2020 DEF FNSetperm(File$,File) LOCAL Pointer,Ix 2030 OPEN File$ AS FILE File 2040 Pointer=PEEK2(SYS(10)+64) 2050 WHILE PEEK(Pointer+2)<>File 2060 Pointer=PEEK2(Pointer) 2070 WEND 2080 Lu$='' 2090 WHILE Ix<=22 2100 Lu$=Lu$+CHR$(PEEK(Pointer+Ix)) : Ix=Ix+1 2110 WEND 2120 POKE PEEK2(SYS(10)+64),VARPTR(Lu$),SWAP%(VARPTR(Lu$)) 2130 POKE VARPTR(Lu$)+3,PEEK(VARPTR(Lu$)+3) OR 2 2140 RETURN 0 2150 FNEND