Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pic maker
#31
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
Reply
#32
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.
Reply
#33
:roll: Hmm,.. I think FreeBasic with "GETMOUSE x,y,wheel, buttons" is better... ^_^ And its like QB, yet faster..
Kevin (x.t.r.GRAPHICS)

[Image: 11895-r.png]
Reply
#34
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/][Image: style4,TheDarkJay.png][/url]
Reply
#35
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
Reply
#36
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/][Image: style4,TheDarkJay.png][/url]
Reply
#37
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
Reply
#38
um, pixel by pixel art isn't that big, is it? and why use paint, i use pixia.
url=http://www.sloganizer.net/en/][Image: style4,TheDarkJay.png][/url]
Reply
#39
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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)