i sort of got somewhere, but

by unseenmachine (no login)

 
i can make it scroll back on forth but not to show the other end of the string...use Create font option in m code and then change letters back and forth, you should see what i am trying to accomplish.

Also, does anyone know how to check for a folders existance?

CODE>>>>>>>

SCREEN 12

DIM boxcnt AS INTEGER, pcnt AS INTEGER, cnt AS INTEGER, ltr AS STRING
DIM ltrval AS INTEGER, ltrcnt AS INTEGER, px AS INTEGER, py AS INTEGER
DIM dtawrd AS STRING
box$ = "l10u20r20d20l10"

DIM m(8) AS LONG, mb AS INTEGER, mx AS INTEGER, my AS INTEGER
m(0) = &H8BE58955
m(1) = &H78B0C5E
m(2) = &HD88933CD
m(3) = &H890A5E8B
m(4) = &H85E8B07
m(5) = &H5E8B0F89
m(6) = &H5D178906
m(7) = &H8CA
DEF SEG = VARSEG(m(0))
rbtn$ = "l15u30r30d30l15bl2bu10u10f5g5"
lbtn$ = "l15u30r30d30l15br2bu10u10g5f5"
btn$ = "l60u40r120d40l60bu5l55g5e5u30h5f5r110e5g5d30f5h5l55"
CLS
PSET (325, 33): DRAW "l80u18r160d18l80": PAINT (295, 30), 0, 15
LOCATE 2, 34: PRINT "Font Master v.01"
PSET (160, 140): DRAW btn$: LOCATE 8, 15: PRINT "Create Font"
PSET (320, 140): DRAW btn$: LOCATE 8, 35: PRINT "Create DATA"
PSET (480, 140): DRAW btn$: LOCATE 8, 55: PRINT "Test Font's"
PAINT (1, 1), 4, 15

ltrcnt = 1
CALL absolute(1, mb, mx, my, VARPTR(m(0)))
DO
CALL absolute(3, mb, mx, my, VARPTR(m(0)))
LOCATE 2, 3: PRINT mx, my
IF INKEY$ = CHR$(27) THEN SYSTEM
LOOP UNTIL mb = 1

allltrnum$ = "!œ$%^&*() ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"

IF my > 100 AND my < 140 THEN
IF mx > 100 AND mx < 220 THEN 'Create font button
DO
CALL absolute(3, mb, mx, my, VARPTR(m(0)))
LOOP UNTIL mb = 0
CALL absolute(2, mb, mx, my, VARPTR(m(0)))
CLS
boxcnt = 0: cnt = 0: py = 200: px = 80
COLOR 11
DO
PSET (py, px): DRAW box$
py = py + 20
boxcnt = boxcnt + 1
IF boxcnt = 8 THEN cnt = cnt + 1: boxcnt = 0: px = px + 20: py = 200
LOOP UNTIL cnt = 16
PSET (205, 420): DRAW lbtn$
PSET (335, 420): DRAW rbtn$
PSET (500, 110): DRAW btn$: LOCATE 6, 59: PRINT "Temp Save"
PSET (500, 155): DRAW btn$: LOCATE 9, 59: PRINT "Clear"
PSET (500, 200): DRAW btn$: LOCATE 12, 59: PRINT "Temp Load"
PSET (500, 270): DRAW btn$: LOCATE 16, 59: PRINT "Load Font"
PSET (500, 315): DRAW btn$: LOCATE 19, 59: PRINT "Save Font"

REM COLOR TILES
clrtle$ = "l10u20r20d20l10"
cx = 80: cy = 100: ccnt = 0: cnt = 0
DO
COLOR 11: PSET (cx, cy): DRAW clrtle$: PAINT (cx, cy - 2), cnt, 11
cy = cy + 25: cnt = cnt + 1
IF cnt = 8 THEN cx = cx + 25: cy = 100
LOOP UNTIL cnt = 16
clr = 15
CALL absolute(1, mb, mx, my, VARPTR(m(0)))

PSET (241, 390): DRAW "l10f5e5"
DO
IF ltrcnt > 0 AND ltrnum <= 62 THEN
LOCATE 26, 30: PRINT SPACE$(10)
LOCATE 26, 30: PRINT MID$(allltrnum$, ltrcnt, 10)
ELSEIF ltrcnt > 62 THEN
LOCATE 26, 30: PRINT SPACE$(10)
LOCATE 26, 30: PRINT MID$(allltrnum$, ltrcnt, 72 - ltrcnt)
END IF
DO
CALL absolute(3, mb, mx, my, VARPTR(m(0)))
LOOP UNTIL mb = 0
PSET (92, 320): DRAW "l20u40r40d40l20": PAINT (92, 318), clr, 11
DO
CALL absolute(3, mb, mx, my, VARPTR(m(0)))
LOCATE 3, 4: PRINT mx, my, ltrcnt
IF INKEY$ = CHR$(27) THEN SYSTEM
LOOP UNTIL mb = 1

REM Grid area painting
IF mx > 189 AND mx < 349 AND my > 60 AND my < 380 THEN
CALL absolute(2, mb, mx, my, VARPTR(m(0)))
CALL absolute(3, mb, mx, my, VARPTR(m(0)))
IF POINT(mx, my) <> 11 THEN PAINT (mx, my), clr, 11
CALL absolute(1, mb, mx, my, VARPTR(m(0)))
END IF

REM Color tiles
IF mx > 69 AND mx < 115 THEN
IF my > 80 AND my < 275 THEN
CALL absolute(2, mb, mx, my, VARPTR(m(0)))
CALL absolute(3, mb, mx, my, VARPTR(m(0)))
IF POINT(mx, my) <> 11 THEN clr = POINT(mx, my): PAINT (92, 318), clr, 11
CALL absolute(1, mb, mx, my, VARPTR(m(0)))
END IF
END IF

REM Next - Previous buttons
REM 72 characters in main master font set allltrnum$ including space
IF my > 390 AND my < 410 THEN
IF mx > 189 AND mx < 219 THEN
IF ltrcnt > 1 THEN ltrcnt = ltrcnt - 1 ELSE ltrcnt = 72
ELSEIF mx > 319 AND mx < 349 THEN
IF ltrcnt < 72 THEN ltrcnt = ltrcnt + 1 ELSE ltrcnt = 1
END IF
END IF

REM Clear Button
IF mx > 459 AND mx < 559 THEN
IF my > 115 AND my < 155 THEN
py = 200: px = 78: cnt = 0: pcnt = 0
DO
PAINT (py, px), 0, 11
py = py + 20
pcnt = pcnt + 1
IF pcnt = 8 THEN cnt = cnt + 1: pcnt = 0: px = px + 20: py = 200
LOOP UNTIL cnt = 16
END IF
END IF
LOOP
END IF 'create font button
END IF

Posted on Jan 23, 2010, 12:55 PM

Respond to this message   

Return to Index

Response TitleAuthor and Date
Sorry, I can't help you.Solitaire on Jan 23
 Heres's a screen 0 versionunseenmachine on Jan 23
  PRINT CHR$(34) prints a quote mark to the screen. Type ASC and press F1 for help.Pete on Jan 23
  Here is your working code - It will now scroll continuously back and forth:Solitaire on Jan 23
   thankyouunseenmachine on Jan 23
Re: How to check for the existence of a folder.Pete on Jan 23
 Determine if a directory/folder existsMoneo on Jan 23
  * Don't work for me! Says \ is not a recognized command.Clippy on Jan 23
  Simplified code for Directory existsClippy on Jan 23
   **** nevermindClippy on Jan 23
   Better then error handlers?Ben on Jan 24
   Re: Corrected code for Directory existsMoneo on Jan 24
    * I stand corrected. I had a space in between for some reason. Thanks!Clippy on Jan 24
     * No problem, Ted. Thanks to you.Moneo on Jan 24
      Found another problem Moneo. Pressing Enter at INPUT returns path as valid!Clippy on Jan 26
       You're right, Ted. Need to check INPUT variable.Moneo on Jan 28
        Oh, I made the routine into a FUNCTION that works on any OS.Clippy on Jan 28
         Nice job, Ted!Moneo on Jan 29
          One thing ....CMD /C does mess with fullscreen modes. Programs freezeClippy on Jan 29
           Solution to screen skewing with SHELL in SCREEN 0...Pete on Jan 30
            * That would be nice if Screen 12 could use it.Clippy on Jan 30

 Copyright © 1999-2014 Network54. All rights reserved.   Terms of Use   Privacy Statement