'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                             DEMO DE BOTONES CON TEXTO
'
DECLARE SUB TEXTO (LV!, LH!, TEXT$, C!, CF!)
DECLARE SUB tboton (V!, H!, sol!, sombra!, CARA!, BORDE!, letra!, TEXT$, AMPL)
SCREEN 12


tboton 10, 10, 15, 8, 7, 0, 8, "Hecho en Ronda", 8
tboton 20, 20, 11, 1, 9, 0, 15, "JM.", 8
tboton 10, 60, 15, 6, 14, 0, 8, "HOLA", 20
tboton 13, 62, 15, 4, 12, 0, 15, "QUE HAY", 4
tboton 22, 50, 15, 2, 10, 0, 8, "Programas BASIC", 9
tboton 15, 32, 15, 5, 13, 0, 10, "SON LAS " + TIME$, 8
tboton 5, 38, 15, 3, 11, 0, 1, "# Prueba @ % & Prueba #", 5
COLOR 15

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                     
'                               Hecho en RONDA
'
'      DIBUJA UN BOTàN PARECIDO A LOS DE WINDOWS CON UN TEXTO CENTRADO
'
'
'      H..........POSICIàN HORIZONTAL DEL TEXTO
'      V..........POSICIàN VERTICAL DEL TEXTO
'      SOL........COLOR DE LA PARTE ILUMINADA IZQUIERDA Y SUPERIOR
'      SOMBRA.....COLOR DE LA PARTE OSCURA DERECHA E INFERIOR
'      CARA.......COLOR DE LA PARTE FRONTAL DEL BOTàN
'      BORDE......COLOR DE LA LINEA QUE RODEA AL BOTàN
'      LETRA......COLOR DE LAS LETRAS
'      TEXT$......TEXTO
'      AMPL.......AMPLITUD DEL BOTàN ALREDEDOR DEL TEXTO
'
SUB tboton (V, H, sol, sombra, CARA, BORDE, letra, TEXT$, AMPL)
IF AMPL < 2 THEN : AMPL = 2
PSET (((H - 1) * 8) - AMPL - 3, ((V - 1) * 16) - AMPL - 3)
L = (LEN(TEXT$) * 8) + (2 * AMPL) + 4
A = 16 + (2 * AMPL) + 3
LINE STEP(L, A)-STEP(-L, -A), BORDE, B
LINE STEP(1, 1)-STEP(0, A - 2), sol
LINE STEP(0, 0)-STEP(L - 2, 0), sombra
LINE STEP(0, 0)-STEP(0, -A + 2), sombra
LINE STEP(-1, 0)-STEP(-L + 3, 0), sol
LINE STEP(1, 1)-STEP(0, A - 4), sol
LINE STEP(0, 0)-STEP(L - 4, 0), sombra
LINE STEP(0, 0)-STEP(0, -A + 4), sombra
LINE STEP(-1, 0)-STEP(-L + 5, 0), sol
LINE STEP(1, 1)-STEP(L - 6, A - 6), CARA, BF
TEXTO V, H, TEXT$, letra, CARA
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
SUB TEXTO (LV, LH, TEXT$, C, CF)

LOCATE LV, LH: COLOR C: PRINT TEXT$

IF CF = 0 THEN : PLAY "a": EXIT SUB

LINE (((LH - 1) * 8) - 1, (LV - 1) * 16)-STEP(7 + (8 * (LEN(TEXT$) - 1)) + 1, 15), C, B
PAINT (((LH - 1) * 8) + 1, ((LV - 1) * 16) + 1), CF, C
LINE (((LH - 1) * 8) - 1, (LV - 1) * 16)-STEP(7 + (8 * (LEN(TEXT$) - 1)) + 1, 15), CF, B

LH = LH - 1
FOR LETRAS = 1 TO LEN(TEXT$)
   LH = LH + 1
   FOR H = ((LH - 1) * 8) TO ((LH - 1) * 8) + 7
      FOR V = ((LV - 1) * 16) + 3 TO ((LV - 1) * 16) + 10
         IF POINT(H, V) = 0 THEN : PSET (H, V), CF
      NEXT
   NEXT
NEXT
END SUB

