6. AmigaBASIC internals
Amiga Tricks and Tips
######################################5 # Kill-Remark Amiga #5 #
(W)
1987 by Stefan Maelger
#5
########################*#############5 5 "dos.bmap" and "exec.bmap" must be on5
Disk or in LIB: 5
5 DECLARE FUNCTION AllocMemS LIBRARY5 DECLARE FUNCTION Lock&
LIBRARY^
DECLARE FUNCTION Examines
LIBRARY5
DECLARE FUNCTION xQpenS
LIBRARY5
DECLARE FUNCTION xReadS LIBRARY "exec, library "I
LIBRARY5
LIBRARY "dos.library"fl WINDOW CLOSE WINDOW(0)5 WINDOW 1,"Kill-Remark",(0,0)-(250,50),165
Allocation.1:5 COLOR 3,1:CLS5
info&=AllocMem& (252&,65538*)5
IF info&=0 THEN5 ALLOCERR 5
GOTO Allocation.15 END IF 5 Source:
5
REQUEST "SOURCE"5
SELECT box%5 IF box% THEN CALL FreeMem(info&,252) :SYSTEM5
CHDIR "dfO:"5 GetFilename: 5
LINPUT filename$5 GETINFO filename$, info&, Lengths 5 IF Length&<l THEN5 IF Length&=-1 THEN5
DIRERR5 ELSEIF Length&-0 THEN5
FILEERR5 END IF5
GOTO GetFilename5 END IF5
Allocation.2:5 COLOR 3,1:CLS
5
buffer&=AllocMem& (Lengths,65537&) 5
IF buffer&«0 THEN5
ALL0CERR5 GOTO Allocation.25 END IF5
LOADFILE filename$,buffers,Length&5 IF filename$c="" THEN5 CALL FreeMem(buffers,Lengths) 5
LOADERR5 GOTO GetFilename5 END IF5 IF PEEK (buffers )OSHF5 THEN5
218