Posts: 319
Threads: 68
Joined: Mar 2005
ok how bout you do this instead:
move ALL your qb files into the SAME file then just type qb45 in
set paths then try it
------------------------------------------------------
My guessing is that the qb.qlb is the library that allows qb to read libraries then qb.bi is the library that allows the mouse function
his world has been connected...
Tied to the darkness.
Soon to be completely eclipsed.
There is so very much to learn...
You understand so little.
A meaningless effort.
One who knows nothing can understand nothing.
-Ansem Bringer of darkness and creator of the heartless
Posts: 3,279
Threads: 170
Joined: Nov 2003
No. QB.QLB is the quicklibrary which contains functions for executing code at absolute memory locations (CALL ABSOLUTE) and generating interrupts (CALL INTERRUPT). QB.BI is the header file for QB.QLB and QB.LIB. You can use the mouse when you use QB.BI/QB.QLB/QB.LIB because one of the methods for using the mouse is to use CALL INTERRUPT on interrupt &H33.
I'd knock on wood, but my desk is particle board.
Posts: 2,404
Threads: 153
Joined: Jan 2005
:roll: Hmm,.. I think FreeBasic with "GETMOUSE x,y,wheel, buttons" is better... ^_^ And its like QB, yet faster..
Kevin ( x.t.r.GRAPHICS)
Posts: 677
Threads: 57
Joined: Jan 2005
I give up, i won't need to use libs that much anyway (now i have discovered the wonders of FB), could someone please upload a .exe
url=http://www.sloganizer.net/en/] [/url]
Posts: 319
Threads: 68
Joined: Mar 2005
k new FB ver
scroll to change colors or i suppose you can change it with the numbers but you can only get up to nine like that
Code: DECLARE SUB zoomchange ()
DECLARE SUB load (filename$)
DECLARE SUB savepic ()
DECLARE SUB save ()
up$ = CHR$(255) + CHR$(72): down$ = CHR$(255) + CHR$(80): lft$ = CHR$(255) + CHR$(75)
rght$ = CHR$(255) + CHR$(77)
DIM SHARED prev(1000)
DIM SHARED x
DIM SHARED y
DIM SHARED lx
DIM SHARED ly
DIM SHARED sx
DIM SHARED sy
DIM SHARED file
DIM SHARED zoom
DIM SHARED filename$
DIM SHARED errorcode
DIM SHARED col(1000, 1000)
DIM SHARED mspeed
x = 1: y = 1
sx = 1: sy = 1
1
SCREEN 12,0,0,1
setmouse 1,1,0
CLS
COLOR 10: PRINT "Picture Maker"
COLOR 11: PRINT "1) Get started"
COLOR 12: PRINT "2) Controls"
COLOR 13: PRINT "3) Load"
COLOR 14: PRINT "4) Quit"
COLOR 7
a$ = "0"
DO UNTIL VAL(a$) <= 4 AND VAL(a$) >= 1: a$ = INKEY$: LOOP
SELECT CASE VAL(a$)
CASE 1
GOTO prompt
CASE 2
GOTO controls
CASE 3
GOTO loadpic
CASE 4
END
END SELECT
controls:
PRINT "Controls:"
PRINT "Arrow keys to move cursor"
PRINT "Press the numbers to change colors"
PRINT "Press S to go to the save prompt"
PRINT "When in save press S at any time to exit to edit mode"
PRINT "When in save select the part in the picture that you want to save"
PRINT "then press tab to save type a file name to save it"
SLEEP
GOTO 1
prompt:
INPUT "Select the zoom of the picture (0-10) ", zoom
CLS
GOTO start
loadpic:
INPUT "What is the name of the file? ", filename$
INPUT "What zoom would you like? ", zoom
IF zoom = 0 THEN zoom = 1
filename$ = filename$ + ".pic"
load filename$
zoom = zoom - 1
IF errorcode = 64 OR errorcode = 53 THEN GOTO 1
start:
GET (x, y)-(x + zoom, y + zoom), prev
locate 30,1:print "File Name: ";filename$;" Zoom: ";zoom;
color1 = 0
getmouse mx,my,,mousebuttons
oldx = mx
oldy = my
'set mouse coordinates at 1,1
DO
getmouse mx,my,scroll,mousebuttons
'if the mouse is all the way to the right bring it back to the left
IF mx >= 639 THEN
setmouse 5,my
oldx = 5
END IF
'if the mouse is at the bottom bring it to the top
IF my >= 440 THEN
setmouse mx,5
oldy = 5
END IF
'if mouse is at left then move it back to the right
IF mx <= 1 THEN
setmouse 635,my
oldx = 635
END IF
IF my <= 1 THEN
setmouse mx,435
oldy = 435
END IF
a$ = INKEY$
IF a$ = CHR$(27) THEN END
IF color1 = 0 THEN color1 = 11
LINE (x, y)-(x + zoom, y + zoom), color1, BF
color scroll
locate 30,30:print "color: "; scroll;" ";
color 7
SELECT CASE UCASE$(a$)
CASE "+"
IF zoom < 10 THEN
CLS
zoom = zoom + 2
zoomchange
zoom = zoom - 1
GOTO start
END IF
CASE "-"
IF zoom > 1 THEN
CLS
zoom = zoom - 1
zoomchange
zoom = zoom - 1
GOTO start
END IF
CASE "S"
save
'checks for up down left or right
CASE up$
IF y > 1 THEN
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (x, y), prev
y = y - (zoom + 1)
sy = sy - 1
GET (x, y)-(x + zoom, y + zoom), prev
END IF
CASE down$
IF y <= 440 THEN
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (x, y), prev
sy = sy + 1
y = y + (zoom + 1)
GET (x, y)-(x + zoom, y + zoom), prev
END IF
CASE rght$
IF x <= 600 THEN
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (x, y), prev
sx = sx + 1
x = x + (zoom + 1)
GET (x, y)-(x + zoom, y + zoom), prev
END IF
CASE lft$
IF x > 1 THEN
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (x, y), prev
x = x - (zoom + 1)
sx = sx - 1
GET (x, y)-(x + zoom, y + zoom), prev
END IF
'clears blocks
CASE "C"
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
col(sx, sy) = 0
GET (x, y)-(x + zoom, y + zoom), prev
END SELECT
IF mousebuttons = 1 THEN
a$ = str(scroll)
END IF
'changes colors of blocks
IF VAL(a$) <= 15 AND VAL(a$) >= 1 THEN
b = VAL(a$)
color1 = b
col(sx, sy) = b
LINE (x, y)-(x + zoom, y + zoom), b, BF
GET (x, y)-(x + zoom, y + zoom), prev
end if
IF mx > oldx + zoom THEN
IF x <= 600 THEN
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (x, y), prev
sx = sx + 1
x = x + (zoom + 1)
GET (x, y)-(x + zoom, y + zoom), prev
oldx = mx END IF
END IF
IF mx < oldx - zoom THEN
IF x > 1 THEN
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (x, y), prev
x = x - (zoom + 1)
sx = sx - 1
GET (x, y)-(x + zoom, y + zoom), prev
oldx = mx
END IF
END IF
IF my > oldy + zoom THEN
IF y < 440 THEN
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (x, y), prev
sy = sy + 1
y = y + (zoom + 1)
GET (x, y)-(x + zoom, y + zoom), prev
oldy = my
END IF
END IF
IF my < oldy - zoom THEN
IF y > 1 THEN
color1 = 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (x, y), prev
y = y - (zoom + 1)
sy = sy - 1
GET (x, y)-(x + zoom, y + zoom), prev
oldy = my
END IF
END IF
LOOP
END
SUB load (filename$)
CLS
OPEN filename$ FOR INPUT AS #1
IF errorcode = 64 OR errorcode = 53 THEN
PRINT "Bad file name"
SLEEP
EXIT SUB
END IF
INPUT #1, lx, ly
FOR sy = 1 TO ly
FOR sx = 1 TO lx
INPUT #1, col(sx, sy)
NEXT
NEXT
CLOSE #1
ay = 0
FOR y = 1 TO ly * zoom STEP zoom
ay = ay + 1
bx = 0
FOR x = 1 TO lx * zoom STEP zoom
bx = bx + 1
LINE (x, y)-(x + zoom, y + zoom), col(bx, ay), BF
NEXT
NEXT
x = 1
y = 1
sx = 1
sy = 1
END SUB
SUB save
up$ = CHR$(255) + CHR$(72): down$ = CHR$(255) + CHR$(80): lft$ = CHR$(255) + CHR$(75)
rght$ = CHR$(255) + CHR$(77)
DIM prevy(16383)
DIM prevx(16383)
GET (0, y)-(x, y), prevy
GET (x, 0)-(x, y), prevx
DO
a$ = INKEY$
color2 = 11
LINE (x, y)-(x + zoom, y + zoom), color2, BF
'draws a straight line from the wall to the block so the user
'knows what he is saving
LINE (0, y)-(x, y), 9
LINE (x, 0)-(x, y), 9
SELECT CASE UCASE$(a$)
'gets rid of lines and exits sub
CASE "S"
LINE (0, y)-(x, y), 0
PUT (0, y), prevy
LINE (x, 0)-(x, y), 0
PUT (x, 0), prevx
EXIT SUB
'checks witch direction then clears the line
'puts back what was there and moves the cursor
CASE up$
IF y >= 1 THEN
LINE (0, y)-(x, y), 0
LINE (x, 0)-(x, y), 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (0, y), prevy
PUT (x, 0), prevx
color1 = 0
PUT (x, y), prev
sy = sy - 1
y = y - (zoom + 1)
GET (0, y)-(x, y), prevy
GET (x, 0)-(x, y), prevx
GET (x, y)-(x + zoom, y + zoom), prev
END IF
CASE down$
IF y <= 280 THEN
LINE (0, y)-(x, y), 0
LINE (x, 0)-(x, y), 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (0, y), prevy
PUT (x, 0), prevx
color1 = 0
PUT (x, y), prev
sy = sy + 1
y = y + (zoom + 1)
GET (0, y)-(x, y), prevy
GET (x, 0)-(x, y), prevx
GET (x, y)-(x + zoom, y + zoom), prev
END IF
CASE rght$
IF x <= 600 THEN
LINE (0, y)-(x, y), 0
LINE (x, 0)-(x, y), 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (0, y), prevy
PUT (x, 0), prevx
color1 = 0
PUT (x, y), prev
sx = sx + 1
x = x + (zoom + 1)
GET (0, y)-(x, y), prevy
GET (x, 0)-(x, y), prevx
GET (x, y)-(x + zoom, y + zoom), prev
END IF
CASE lft$
IF x >= 1 THEN
LINE (0, y)-(x, y), 0
LINE (x, 0)-(x, y), 0
LINE (x, y)-(x + zoom, y + zoom), 0, BF
PUT (0, y), prevy
PUT (x, 0), prevx
color1 = 0
PUT (x, y), prev
sx = sx - 1
x = x - (zoom + 1)
GET (0, y)-(x, y), prevy
GET (x, 0)-(x, y), prevx
GET (x, y)-(x + zoom, y + zoom), prev
END IF
CASE CHR$(9)
savepic
END SELECT
LOOP
END SUB
SUB savepic
CLS
a = 1
SCREEN 1
INPUT "Save name:", filename$
filename$ = filename$ + ".pic"
PRINT filename$; " saved"
SCREEN 13
cx = sx
cy = sy
OPEN filename$ FOR OUTPUT AS #1
WRITE #1, cx, cy
FOR cy = 1 TO sy
FOR cx = 1 TO sx
WRITE #1, col(cx, cy)
NEXT
NEXT
CLOSE #1
CLS
IF a = 1 THEN END
EXIT SUB
END SUB
SUB zoomchange
ay = 0
FOR y = 1 TO 400 STEP zoom
ay = ay + 1
bx = 0
FOR x = 1 TO 640 STEP zoom
bx = bx + 1
LINE (x, y)-(x + zoom, y + zoom), col(bx, ay), BF
NEXT
NEXT
x = 1
y = 1
sx = 1
sy = 1
END SUB
his world has been connected...
Tied to the darkness.
Soon to be completely eclipsed.
There is so very much to learn...
You understand so little.
A meaningless effort.
One who knows nothing can understand nothing.
-Ansem Bringer of darkness and creator of the heartless
Posts: 677
Threads: 57
Joined: Jan 2005
This threads been dead a week, but i have to say this, since i've noticed pyrokids moved to FreeBASIC why not use a bmp - data convertor (there very easy to make). Make a bmp and use the convertor
Heres a (lame) example of one made by me:
Code: ' change the screen mode to a different one if you want a different screen mode
SCREEN 18, 32
INPUT "Enter the name of the .bmp ", imagename$
imagename$ = imagename$ + ".bmp"
bload imagename$
WHILE INKEY$ = "": WEND
CLS 'clear the screen
bload imagename$ 'so you can see the bmp again, load it again
LOCATE 20, 20:INPUT "Enter the x dimension: ", x 'get the x dimension
LOCATE 20, 20:PRINT " " 'clear ther section where you entered the x dimension
LOCATE 20, 20:INPUT "Enter the y dimension: ", y 'get the y dimension
LOCATE 20, 20:PRINT " " ' clear the section where you entered the y dimension
x = x - 1 'as the bmp is loaded in the corner (starting co-ordinates being 0,0)
y = y - 1 'this lowers the size by 1 so you do not have to remove 1 from the width and height
CLS 'clear the screen
bload imagename$ 'loads it for the actual converstion
DIM z(x,y) 'dim the screen
FOR y1 = 0 TO y ' scroll through
FOR x1 = 0 TO x ' the co-ordinates
z(x1,y1) = POINT (x1,y1) 'get the colour at the co-ordinates
NEXT
NEXT
CLS 'clear the screen
FOR y1 = 0 TO y
FOR x1 = 0 TO x
PSET (x1, y1), z(x1, y1) 'draws the image so you can see if anything went wrong (this bit really needs slowing down)
NEXT
NEXT
pname$ = "Test.azi" 'change for different file names
change = 0
OPEN pname$ FOR OUTPUT AS #1 'open the file
PRINT #1, "SCREEN 18, 32" 'put the screen mode in the file (so you can instantly load it)
PRINT #1, "FOR y = 1 TO", y + 1
PRINT #1, "FOR x = 1 TO", x + 1
PRINT #1, "READ z"
PRINT #1, "PSET (x,y),z"
PRINT #1, "NEXT: NEXT"
'puts the the whole reading the data thing into the file
PRINT #1,
PRINT #1, "DATA"; 'begins outputting the data segments
FOR y1 = 0 TO y
FOR x1 = 0 TO x
change = change + 1
PRINT #1, z (x1, y1);
IF change <> y THEN PRINT #1, ","; 'this will still put a , down even if there is no data after it
IF change = y THEN PRINT #1, "": change = 1: PRINT #1, "DATA"; ' same but with DATA instead of ,
NEXT
NEXT
CLOSE #1 'close the file
WHILE INKEY$ = "": WEND 'so you can see the image to check if anything went wrong
I spent about 10 minutes quoting this code (and it stuill most likely doesn't explain things well)
url=http://www.sloganizer.net/en/] [/url]
Posts: 319
Threads: 68
Joined: Mar 2005
hmm didnt know you could load bmps with bload. but i dont think ill need that because if you made it in paint it would be REALLY big and i dont think i need that
his world has been connected...
Tied to the darkness.
Soon to be completely eclipsed.
There is so very much to learn...
You understand so little.
A meaningless effort.
One who knows nothing can understand nothing.
-Ansem Bringer of darkness and creator of the heartless
Posts: 677
Threads: 57
Joined: Jan 2005
um, pixel by pixel art isn't that big, is it? and why use paint, i use pixia.
url=http://www.sloganizer.net/en/] [/url]
Posts: 285
Threads: 70
Joined: Feb 2005
I must be doing something daft, but I could not get your CAD to draw a trace. Have look at an old CAD of mine using only the keys for greater precision. Comments welcome.----------Gordon
Code: REM C.A.D. Gordon Sweet MS-DOS ver.
ON ERROR GOTO 2540
DEF SEG = &HA000
SL = &HA000
EX$ = ".VGA"
YMX = 479
SC = 11
YY = 200: LL = 25
IF SC = 11 THEN YY = 480: LL = 60
YML = YMX - 11
150 GOSUB 700: GOSUB 1010
x% = 50: y% = 50: Q$ = "MOVE ": SCREEN SC: IF SC = 11 THEN WIDTH 80, 60
LINE -(x, y), 0: G$ = "?": K$ = "": GOSUB 630: CHECK = FALSE: WHILE EVER = 0
ty% = y%: tx% = x%
IF K$ = "K#" AND x% > 0 THEN x% = x% - 1
IF K$ = "G#" AND x% > 11 THEN x% = x% - 10: IF Q$ = "DRAW " THEN LINE (tx%, y%)-(x%, y%)
IF K$ = "M#" AND x% < 619 THEN x% = x% + 1
IF K$ = "O#" AND x% < 599 THEN x% = x% + 10: IF Q$ = "DRAW " THEN LINE (tx%, y%)-(x%, y%)
IF K$ = "H#" AND y% > 8 THEN y% = y% - 1
IF K$ = "I#" AND y% > 18 THEN y% = y% - 10: IF Q$ = "DRAW " THEN LINE (x%, ty%)-(x%, y%)
IF K$ = "P#" AND y% < YMX THEN y% = y% + 1
IF K$ = "Q#" AND y% < YML THEN y% = y% + 10: IF Q$ = "DRAW " THEN LINE (x%, ty%)-(x%, y%)
CP = POINT(x%, y%): IF CP < 0 THEN CP = 0
PSET (x%, y%), 1: C = INT(x% / 640 * 80) + 1: L = INT(y% / 200 * 25) + 1
IF C < 1 THEN C = 1
IF C > 80 THEN C = 80
IF L < 1 THEN L = 1
IF L > LL THEN L = LL
GOSUB 1010: IF LEN(K$) = 2 THEN K$ = RIGHT$(K$, 1) + "#"
IF Q$ = "MOVE " THEN PSET (x%, y%), CP
IF Q$ = "ERASE" THEN PSET (x%, y%), 0
IF Q$ = "GRPIC" THEN LOCATE L, C: PRINT B$;
IF Q$ = "DRAW" THEN LOCATE 1, 1
IF CHECK THEN RETURN
IF K$ = "c" OR K$ = "C" OR K$ = "q" OR K$ = "Q" THEN GOSUB 710
IF K$ = "e" OR K$ = "E" THEN Q$ = "ERASE"
IF K$ = "m" OR K$ = "M" THEN Q$ = "MOVE ": PSET (x%, y%), 0
IF K$ = "d" OR K$ = "D" THEN Q$ = "DRAW "
IF K$ = "b" OR K$ = "B" THEN GOSUB 2300
IF K$ = "f" OR K$ = "F" THEN GOSUB 2190
IF K$ = "g" OR K$ = "G" THEN GOSUB 790
IF K$ = "l" OR K$ = "L" THEN GOSUB 2400
IF K$ = "t" OR K$ = "T" THEN GOSUB 1050
IF K$ = "l" OR K$ = "R" THEN GOSUB 1340
IF K$ = "o" OR K$ = "O" THEN GOSUB 1160
IF K$ = "s" OR K$ = "S" THEN GOSUB 1250
IF K$ = "p" OR K$ = "P" THEN GOSUB 1110
IF K$ = "?" OR K$ = "?" THEN GOSUB 680
IF LEN(K$) = 1 THEN GOSUB 630: SOUND 1300, 2
WEND: RUN: END
:
REM Options
630 LOCATE 1, 1: PRINT STRING$(80, " ");
LOCATE 1, 1: PRINT "Current Option "; Q$; "- PRESS :- B C D E F G L M O P Q R S T V or ? for Help";
RETURN
:
680 REM Help
BSAVE "TEMP.SCR", 0, SL: GOSUB 700: GOSUB 1010
SCREEN SC: BLOAD "TEMP.SCR", 0: RETURN
RETURN
:
700 REM Instructions
WIDTH 80, 25: SCREEN 0: COLOR 1, 15
LOCATE 2, 30: PRINT " PRECISION KEYS CAD.": COLOR 11, O
COLOR 14, 0: LOCATE 4, 23
PRINT "Ver. 2.1 March 2002 by Gordon Sweet": COLOR 11
LOCATE 6, 1
PRINT "Use the Cursor Keys or PageUp/Down and Home/End to move or press the following:": PRINT
PRINT TAB(10); "D = Draw a line. M = Move position. E = Erase.": PRINT
PRINT "G = Inserts one or more Graphic Characters. T = Inserts Text."
PRINT TAB(10); "S = Save screen to Disk. L = Load Previous Screen.": PRINT
PRINT "P = Printout - NOTE your need to load first the correct DOS GRAPHICS driver";
PRINT "for your Printer. Otherwise use a Screen Thief to capture the screen."
PRINT TAB(5); "F = Fill from current point to surrounding boundaries. O = Draw a Circle.": PRINT
PRINT TAB(12); "? = Displays help. C = Clear the Screen/Abort/Restart."
SLEEP: RETURN
:
710 REM Clear/Quit
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1
PRINT "Press:- 1 = QUIT. 2 = CLEAR SCREEN. 3 = RESTART. 4 = CONTINUE."
GOSUB 1010
IF K$ = "1" THEN GOTO ABORT
IF K$ = "2" THEN CLS
IF K$ = "3" THEN RUN
RETURN
ABORT: SCREEN 0: WIDTH 80, 25: CLS : SYSTEM
790 REM Graphic Symbols
800 LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1
INPUT "Enter Graphic Character No. (1-6 or 14-27 or 32-254), or 0 to display all"; G
IF G = 0 THEN GOSUB 900: GOTO 800
IF (G > 6 AND G < 14) OR (G > 27 AND G < 32) OR G > 254 THEN BEEP: GOTO 800
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1
INPUT "Enter y if you wish to Draw with this symbol"; G$
Q$ = "MOVE ": IF G$ = "y" OR G$ = "Y" THEN Q$ = "GRPIC": B$ = CHR$(G)
C = INT(x% / 640 * 80) + 1: L = INT(y% / YY * LL) + 1: LOCATE L, C: PRINT CHR$(G);
RETURN
:
900 REM Display All Symbols
LOCATE 1, 1: PRINT STRING$(80, " ")
BSAVE "TEMP.SCR", 0, SL
LOCATE 3, 1: N = 1: K = 1: WHILE K < 255
IF K = 7 THEN K = 14
IF K = 28 THEN K = 32
PRINT USING "####"; K; : PRINT "="; CHR$(K);
K = K + 1: N = N + 1: IF N MOD 13 = 0 THEN PRINT : IF SC = 11 THEN PRINT
WEND: PRINT : PRINT : PRINT TAB(20); " Press any key to continue."
GOSUB 1010: SCREEN SC: BLOAD "TEMP.SCR", 0: RETURN
:
1010 REM Key Halt
K$ = "": WHILE K$ = "": K$ = INKEY$
WEND: RETURN
:
1050 REM Text
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1
LINE INPUT "Enter the text to be inserted: "; x$
C = INT(x% / 640 * 80) + 1: L = INT(y% / 200 * 25) + 1: LOCATE L, C
PRINT x$; : Q$ = "MOVE ": RETURN
:
1110 REM Printouts
LOCATE 1, 1: PRINT STRING$(80, " "); : LOCATE 1, 1
PRINT "Do you have the correct GRAPHICS driver loaded (Y/N)?"
GOSUB 1010: SCT = 1: IF K$ = "Y" OR K$ = "y" THEN SCT = 0
LOCATE 1, 1: PRINT STRING$(80, " "); : LOCATE 1, 1
IF SCT = 0 THEN PRINT "Press Spacebar, then SHIFT+Prt.Screen, then press C to continue";
IF SCT = 1 THEN PRINT "Press Spacebar, activate a Screen Thief, then press C to continue";
GOSUB 1010: LOCATE 1, 1: PRINT STRING$(80, " ");
K$ = "": WHILE K$ <> "C": GOSUB 1010: WEND
RETURN
:
1160 REM Circle
LOCATE 1, 1: PRINT STRING$(80, " "); : SOUND 1300, 2
LOCATE 1, 1: INPUT "Enter the radius of the Circle from the present position"; R
CIRCLE (x%, y%), R: Q$ = "MOVE ": GOSUB 630: RETURN
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1
INPUT "Press RETURN, then SHIFT+PrtSc if printout is required, then RETURN again.", x
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1: INPUT "", x
RETURN
:
1250 REM Save Screen
1260 LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1
PRINT "Enter Filename to Save omit "; EX$; : INPUT " or Enter / to Abort."; F$
IF F$ = "/" THEN RETURN
L = LEN(F$): IF L > 8 OR INSTR(F$, ".") > 0 THEN BEEP: GOTO 1260
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1
F$ = F$ + EX$: BSAVE F$, 0, SL
RETURN
:
1340 REM Load New Screen
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 1
PRINT "Press y if you are sure you wish to destroy the screen by loading in another .";
GOSUB 1010: IF K$ <> "y" AND K$ <> "Y" THEN GOSUB 630: RETURN
1380 PRINT "******* CURRENT SCREEN FILES ON THIS DISC LISTED BELOW:-"
1390 PRINT : PRINT : CAT$ = "*" + EX$: FILES CAT$
1400 PRINT : PRINT "Enter Filename to load, ignore the "; EX$: INPUT " "; F$
IF LEN(F$) < 1 OR LEN(F$) > 8 OR INSTR(F$, ".") > 0 THEN BEEP: GOTO 1400
F$ = F$ + EX$: BLOAD F$, 0
RETURN
:
2190 REM Fill
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 12
PRINT "Are you sure you wish to fill around this area Y/N?": GOSUB 1010
IF K$ = "Y" OR K$ = "y" THEN PSET (x%, y%), 0: PAINT (x%, y%): Q$ = "MOVE "
RETURN
:
2300 REM Box
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 12
PRINT "MOVE to Top Left position of Box, then PRESS /"
CHECK = 1: Q$ = "MOVE ": OK = 0: WHILE OK = 0
GOSUB 1010: IF K$ = "/" THEN OK = 1
WEND: XS = x%: YS = y%
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 12
PRINT "MOVE to Bottom Right position of Box, then PRESS /"
OK = 0: WHILE OK = 0
GOSUB 1010: IF K$ = "/" THEN OK = 1
WEND: XF = x%: YF = y%
LINE (XS, YS)-(XF, YF), 1, B
CHECK = 0: RETURN
:
2400 REM Lines
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 12
PRINT "MOVE to Start of Line the PRESS /"
CHECK = 1: Q$ = "MOVE ": OK = 0: WHILE OK = 0
GOSUB 1010: IF K$ = "/" THEN OK = 1
WEND: LX% = x%: LY% = y%
LOCATE 1, 1: PRINT STRING$(80, " "): LOCATE 1, 12
PRINT "MOVE to End of Line the PRESS /"
OK = 0: WHILE OK = 0
GOSUB 1010: IF K$ = "/" THEN OK = 1
WEND: PSET (LX%, LY%), 1: LINE -(x%, y%), 1
CHECK = 0: RETURN
:
2540 REM Errors
IF ERR + 53 THEN GOTO 3000
PRINT : PRINT "Error="; ERR; " Line="; ERL: BEEP: END
3000 BEEP: PRINT : PRINT TAB(15); "****** NO SUCH FILE/S ******"
IF ERL = 1390 THEN RESUME NEXT
GOSUB 1010: RUN
|