Diario de un programador día 77
Volviendo a
small basic. Se pueden obtener
colores aleatorios si se utiliza la instrucción GraphicWindow.GetRandomColor.
Esta instrucción le asigna un color aleatorio al lápiz. Así que cada vez que se
ejecute un programa, éste saldrá de un color distinto.
For i = 1 To 100 Step 5
GraphicsWindow.PenColor =
GraphicsWindow.GetRandomColor()
GraphicsWindow.DrawLine(50, 50 +
i, 300, 50 + i)
EndFor
Otro ejemplo:
GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.Width = 200
GraphicsWindow.Height = 200
For i = 1 To
100 Step 5
GraphicsWindow.PenColor =
GraphicsWindow.GetRandomColor()
GraphicsWindow.DrawEllipse(100 -
i, 100 - i, i * 2, i * 2)
EndFor
También se puede mezclar con la instrucción Math.GetRandomNumber
que sirve para obtener números aleatorios, los cuales se pueden utilizar para
obtener coordenadas al azar. Como siempre, un ejemplo:
GraphicsWindow.BackgroundColor = "Black"
For i = 1 To
1000
GraphicsWindow.BrushColor =
GraphicsWindow.GetRandomColor()
x = Math.GetRandomNumber(640)
y = Math.GetRandomNumber(480)
GraphicsWindow.FillEllipse(x, y,
10, 10)
EndFor
Existe otro modo de dibujar gráficos y es utilizando lo
que se conoce como "tortuga", el cual muestra una pequeña tortuga a
la cual es posible desplazar por la ventana gráfica y en su desplazamiento va
dibujando líneas.
A mí en lo personal no me llama mucho la atención esta
tortuga, así que no le daré mayor atención que la mencionada hasta ahora, pero
si a alguien le interesa, puede encontrar información en el capítulo 8 del
manual de small basic.
OPCIONES NO MUY DOCUMENTADAS EN SMALL BASIC
Es muy bueno que este lenguaje tenga un menú de ayuda, el
cual no solamente indica la sintaxis sino que también muestra claros ejemplo de
cómo utilizar una instrucción u otra, pero de seguro más de alguien pudo notar
que no todas vienen con claras instrucciones de cómo utilizarse. Así que
dedicaré este espacio a mencionar aquellas instrucciones que no están muy bien
documentadas. Ya que estoy en el apartado del GraphicWindow, empezaré por aquí.
GraphicsWindow.BackgroundColor
Según la descripción, esta propiedad permite cambiar el
fondo de la venta gráfica. Para utilizarla, se debe colocar un signo = seguido
de un color "en inglés" el cual va encerrado entre comillas. De esta
forma
GraphicsWindow.BackgroundColor
= "green"
GraphicsWindow.BrushColor
Según la descripción, esta propiedad permite cambiar el
color del pincel (para rellenar figuras de color, parecido al bote de pintura
en paint). Para utilizarla, se debe colocar un signo = seguido de un color
"en inglés" el cual va encerrado entre comillas. De esta forma
GraphicsWindow.BrushColor =
"blue"
GraphicsWindow.FillRectangle(50,50,
100,100)
GraphicsWindow.CanResize
Según la descripción, indica si la ventana de gráficos
puede ser modificado o no. En otras palabras, sirve para activar o desactivar
el botón de "maximizar y minimizar" de la ventana gráfica. Para
utilizarla, se debe colocar un signo = seguido de una palabra encerrada entre
comillas. Yo prefiero colocar "no" para así saber que la ventana no
puede ser modificada, pero en realidad se puede poner casi cualquier cosa y
digo casi cualquier cosa, porque al poner "true" los botones vuelven
a estar activos.
GraphicsWindow.CanResize =
"no"
GraphicsWindow.Clear()
Según la descripción, vacía la ventana, o sea que borra
todo lo que hay en pantalla. No necesita parámetros, se utiliza así sin más.
GraphicsWindow.DrawBoundText(x,y,width,text)
Según la descripción, dibuja una línea de texto ubicada
según las coordenadas (x,y), width se refiere al ancho del texto. Esto es
similar al ancho de un cuadro de texto en Word, donde si el ancho es menor al
tamaño del texto, el texto puede salir en dos líneas y si es muy pequeño este
valor, entonces el texto no se visualizará. Text, es el texto que saldrá
escrito en pantalla y va entre comillas.
GraphicsWindow.DrawBoundText(10,10, 100,
"Saludos")
GraphicsWindow.DrawBoundText(10,10, 50,
"Este es un texto algo largo")
El color del
texto puede ser modificado con brushcolor
GraphicsWindow.BrushColor = "green"
GraphicsWindow.DrawBoundText(10,10,
100, "Saludos")
GraphicsWindow.DrawImage(imageName,x,y)
Sirve para
cargar una imagen desde nuestro equipo o desde una web. Si se hace desde
nuestro equipo, se debe especificar la ruta donde se encuentra la imagen. “imageName”
se refiere al nombre de la imagen, el cual debe especificar su ubicación. (x,y)
son las coordenadas donde se mostrará la imagen en la ventana gráfica. Ejemplo
imagen =
"d:\documento\nieve.jpg"
GraphicsWindow.DrawImage(imagen, 0,0)
GraphicsWindow.DrawResizedImage(imageName,x,y,width,height)
Igual que el anterior, pero en este caso se
puede redimensionar el tamaño de la imagen. Ejemplo
imagen =
"d:\documento\nieve.jpg"
GraphicsWindow.DrawResizedImage(imagen,0,0, 75,50)
GraphicsWindow.DrawText(x,y,text)
Al igual que el anterior, dibuja un texto según las
coordenadas (x,y) pero no tiene el factor del ancho del texto, por lo que no se
podrá modificar en dos o más líneas. El color del texto también puede ser
modificado por brushcolor.
GraphicsWindow.BrushColor = "purple"
GraphicsWindow.DrawText(10,10,
"Esto es otro texto")
GraphicsWindow.FontBold
Sirve para activar o desactivar el efecto
"negritas" que viene por defecto. Para utilizarlo, se debe colocar un
signo = seguido de una palabra entre comillas, yo prefiero colocar
"no" para saber que las estoy desactivando. Si se coloca
"true" se vuele a activar.
GraphicsWindow.DrawText(10,10,
"Negritas") 'Por defecto
GraphicsWindow.FontBold = "no" ' se desactiva
GraphicsWindow.DrawText(10,25, "Normal")
GraphicsWindow.FontBold = "true"' se activa
GraphicsWindow.DrawText(10,40,
"Negritas")
GraphicsWindow.FontItalic
Sirve para activar o desactivar el
efecto "cursiva". Por defecto viene desactivado. Para utilizarlo o
activarlo, se debe colocar un signo = seguido de la palabra true entre comillas.
Para desactivarla, vale colocar cualquier palabra. Yo prefiero colocar
"no" para saber que la estoy desactivando.
GraphicsWindow.DrawText(10,10, "Saludos")' por
defecto
GraphicsWindow.FontItalic = "true" ' se activa
GraphicsWindow.DrawText(10,25, "Saludos")
GraphicsWindow.FontItalic = "no" ' se desactiva
GraphicsWindow.DrawText(10,40,
"Saludos")
GraphicsWindow.FontName
Permite cambiar el tipo de fuente (letra) a utilizar. Para utilizarlo, se debe colocar un signo =
seguido del nombre del tipo de fuente, encerrado entre comillas
GraphicsWindow.FontName = "arial"
GraphicsWindow.DrawText(10,25,"hola")
GraphicsWindow.FontName = "calibri"
GraphicsWindow.DrawText(10,40,"hola")
GraphicsWindow.FontName = "courier new"
GraphicsWindow.DrawText(10,55,"hola")
GraphicsWindow.FontSize
Permite
cambiar el tamaño de la fuente.
GraphicsWindow.FontSize = "10"
GraphicsWindow.DrawText(10,10, "Hola")
GraphicsWindow.FontSize = "14"
GraphicsWindow.DrawText(10,25, "Hola")
GraphicsWindow.FontSize = "18"
GraphicsWindow.DrawText(10,40,
"Hola")
GraphicsWindow.LastKey
Según la descripción, “obtiene la última tecla que se presionó o liberó.”
Esta propiedad, se utiliza principalmente en conjunto con los eventos, lo cual
se explicará con mayores detalles en su oportunidad. Pero principalmente sirve
para saber qué tecla se ha presionado.
De todas formas daré un ejemplo de esto, auque aparezcan cosas que quizas
a estas alturas no se entiendan, pero no hay que preocuparse que todo esto lo
explicaré llegado a su momento. Este
programa dice que tecla se ha presionado y va cambiando a medida que se
presione una tecla distinta.
Sub inicio
GraphicsWindow.DrawText(10,10, "Presiona una tecla")
EndSub
GraphicsWindow.KeyDown = presionar
Sub presionar
GraphicsWindow.Clear()
tecla =
GraphicsWindow.LastKey
GraphicsWindow.DrawText(10,25, "Has presionado " + tecla)
inicio()
EndSub
inicio()
GraphicsWindow.LastText
Muy parecida a la anterior, solo que sirve para obtener el texto
ingresado. Al igual que el anterior, se verá con más detalle cuando se estudien
los eventos.
Aún hay más instrucciones que mencionar, pero eso será en otro capítulo.
Gustavo J. Cerda Nilo
Me salvaste la vida Graciasss.
ResponderEliminar