En la siguiente dirección podeis ver como desarrollar componentes en Gambas2, con varios ejemplos y códigos fuentes.
Trucos sobre manejo de softwarelibre y gnu linux. También a los programas que hago en gambas3, python, java, etc.... Consejos y trucos sobre otros programas: excel, word, internet, instalación de programas, Arduino y demás....
Páginas
- Página principal
- Indice por Tags
- Indice por Fechas
- Podcasts sobre GNU/Linux en español
- FotoMontajes GNU/LINUX
- Gestión de Obras: Mediciones, Presupuestos, Facturas...
- Enlaces / Link
- Enlaces JsbSan
- Encuestas Y Estadisticas
- Tutoriales y Manuales de Gambas
- Revistas
- Video tutoriales
- Código fuentes de algunas aplicaciones:
- FORO JSBSAN
- Formulario de Informacion
- Libros Publicados
sábado, 30 de julio de 2011
domingo, 24 de julio de 2011
Juguemos al BingoGambas con Gambas2
Bingo-Gambas
Es un programa para simular el juego de Bingo, genera la salida de los números aleatorios (de 1 a 75), y los señala en la pantalla.
En el aspecto sobre la programación de este programa, os comento:
Es fácilmente ampliable para más (o menos) números, al utilizar array de label para dibujar y hacer cambios en el cartón de la pantalla.
Módulo "var" donde se encuentras las variables globales:
' Gambas module file
PUBLIC num_max AS Integer = 75
PUBLIC num_sinsalir AS Integer = 75
PUBLIC incx AS Integer
PUBLIC incy AS Integer
PUBLIC fichas AS NEW Object[] ' var.num_max]
PUBLIC ficha_temp AS Object
PUBLIC texto AS String
Módulo "carton":
' Gambas module file
PUBLIC SUB rellenacarton()
DIM a AS Integer
var.incx = -47 + 4
var.incy = 70
FOR a = 0 TO var.num_max - 1
var.ficha_temp = NEW Textlabel(FormCarton)
var.incx = var.incx + 47
IF var.incx > 670 THEN
var.incy = var.incy + 47
var.incx = 4
ENDIF
var.ficha_temp.x = var.incx
var.ficha_temp.y = var.incy
var.ficha_temp.Background = &H5FAFFF&
var.ficha_temp.Alignment = 3
var.ficha_temp.border = 3
var.ficha_temp.height = 42
var.ficha_temp.width = 42
var.ficha_temp.text = Str(a + 1)
var.fichas.Add(var.ficha_temp)
NEXT
END
Y acceder a ellos para cambiar el color del fondo es también muy sencillo. Módulo "sacar"
…..
'pongo la el numero de la ficha en fondo rojo....
var.fichas[numero - 1].Background = &HFF3D5D&
…..
El sistema de elegir el "número" aleatorio, es similar al que utilice en el programa "Refranero":
- Se crea una lista con todos los números.
- Luego elegimos aleatoriamente la posición,
- sacamos el numero elegido de la lista
- y recostruimos la lista con un elemento menos.
Todo este proceso se realiza con ayuda del archivo "bolas.txt", que es el que tiene la lista de los números que aun no han salido.
….
posicion = Rnd(0, var.num_sinsalir)
'una cosa es el numero y otra es la posicion de la lista...
'abre el archivo que contiene las bolas
cadena = lista.leer()
bolas_txt = Split(cadena, "|")
'crear un nuevo array con los datos
FOR a = 0 TO bolas_txt.count - 2
bolas[a] = CInteger(bolas_txt[a])
NEXT
' coge el que ocupa la posicion
numero = bolas[posicion]
'crea una nuevo array sin esa posicion
c = -1
FOR a = 0 TO bolas_txt.count - 2
IF a <> posicion THEN
c += 1
bolas_reformada[c] = bolas[a]
ENDIF
NEXT
'lo guarda
cadena = ""
FOR a = 0 TO bolas_reformada.Count - 1
cadena &= Str$(bolas_reformada[a]) & "|"
NEXT
File.Save(User.home & "/bolas.txt", cadena)
….
También he añadido la opción de decir en voz el número que sale escogido, usando el comando speak. Módulo "hablar"
' Gambas module file
PUBLIC SUB di(texto AS String)
EXEC ["aoss", "espeak", "-ves", "-s 120", texto]
END
Aquí tenéis una captura de la pantalla del IDE, donde podéis ver los módulos que forman el programa.
Enlace restaurado: 25/7/2014 NEW
Saludos.
Nota: Me podeis ayudar a continuar subiendo programas apuntandoos atraves de este enlace a Beruby Gracias |
martes, 19 de julio de 2011
Cronómetro para #controlar la duración de tus #videos de #yotutube
Controlar la duración
de tus videos de youtube: Herramienta Cronómetro
Esta es una pequeña herramienta que me he hecho para controlar la duración de mis videotutoriales. Es fácilmente adaptable a vuestras necesidades.
Al iniciarla presenta un formulario, que nos solicita los datos que nos mostrará en la posterior pantalla de presentación.
Luego se activa la pantalla de presentación, donde ya podremos iniciar la grabación del video y poner en marcha el cronometro (pulsar el botón "iniciar").
Con el botón "recortar" haremos que se reduzca el formulario y solo aparezca el cronómetro.
Hay un pequeño botón junto al marcador de los segundo, el cual al pulsarlo, se vera de nuevo el formulario.
Este botón cuando el cronometro llegue a cero, aparecerá intermitente.
Código de los dos formularios:
Formulario Fmain:
' Gambas class file
PUBLIC SUB _new()
END
PUBLIC SUB Form_Open()
ME.center
ComboBoxgestorpantalla.Add("Gnome")
ComboBoxgestorpantalla.Add("KDE")
ComboBoxgestorpantalla.Add("XFCE")
ComboBoxgestorpantalla.Add("Unity")
ValueBoxfecha.value = Now
END
PUBLIC SUB Button1_Click()
ME.visible = FALSE
FormPresentar.show()
END
PUBLIC SUB ButtonSalir_Click()
ME.close()
END
FormularioPresentar:
' Gambas class file
PUBLIC a AS Integer
PUBLIC b AS Integer
PUBLIC c AS Integer
PUBLIC d AS Integer
PUBLIC SUB Form_Open()
ME.center
ME.Caption = "Tiempo..."
minutos.value = 15 'tiempo inicial en minutos
segundos.value = 0 'tiempo inicial en segundos
a = segundos.value
b = minutos.value * 60
tema.Text = FMain.TextBoxTema.text
parte.text = FMain.TextBoxparte.Text
version.text = FMain.TextBoxgambas.Text
distroygestor.text = FMain.TextBoxgnulinux.text & " , " & FMain.ComboBoxgestorpantalla.text
fecha.Text = "Fecha: " & Format(FMain.ValueBoxfecha.value, "dd/mm/yyyy")
END
PUBLIC SUB ToolButton1_Click()
cronometrodescontar.Enabled = TRUE
c = (a + b) / 60
d = (a + b) MOD 60
END
PUBLIC SUB cronometrodescontar_Timer()
IF c = 0 AND d = 0 THEN
IF ToggleButton1.Background = Color.Red THEN
ToggleButton1.Background = Color.green
ELSE
ToggleButton1.Background = Color.Red
ENDIF
ELSE
IF d = 0 THEN
c = c - 1
d = d + 59
ELSE
d = d - 1
ENDIF
'show the countdown
minutos.Value = c
segundos.Value = d
ENDIF
END
PUBLIC SUB Button1_Click()
FormPresentar.w = 159
FormPresentar.h = 49
END
PUBLIC SUB ToggleButton1_Click()
FormPresentar.w = 800
FormPresentar.h = 640
END
PUBLIC SUB form_Close()
FMain.Visible = TRUE
END
Os dejo aquí el enlace para descargar el código fuente completo
Nota:
28 / 08 / 2011: Mejora incluida, ahora podemos parar el reloj y continuar. Para realizar paradas en la grabación del video.
Saludos a G3RAR284, espero que te sea útil.
Suscribirse a:
Entradas
(
Atom
)







