Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



domingo, 11 de septiembre de 2011

Manejar arrays de objetos en Gambas2

Este es un tema que surgió en el foro de gambas-es.org, y me parece muy interesante y útil.  La explicación se la debemos a Soplo.

Enlace original: http://www.gambas-es.org/viewtopic.php?f=1&t=1467&highlight

Problema:
Se trata de gestionar datos de canciones. Necesitamos una forma de "agregar o eliminar" los datos de las canciones.¿como hacerlo?


1) Crearmos una clase "Musica" que contenga

' Gambas class file
PUBLIC Index AS String
PUBLIC Song AS String
PUBLIC Artist AS String
PUBLIC Size AS Integer
PUBLIC long AS Long
PUBLIC Status AS Integer

PUBLIC SUB ver()
'este método nos muestra por los terminal los datos
    PRINT index
    PRINT Song
    PRINT Artist
    PRINT Size
    PRINT Long
    PRINT Status
END


2) Ahora nos vamos al formulario donde vayamos a usar los datos.

' Gambas class file
PUBLIC Datos AS NEW object[] 'este es el array que contendrá tus datos
PUBLIC claves AS NEW String[] 'este array contiene los indices

PUBLIC Variable AS Musica 'declarar una variable de tipo la clase anterior
PUBLIC indice_borrar AS String 'indice que le indicare que voy a borrar

PUBLIC SUB Form_Open()
DIM a AS Integer 'contador para for Next
'introduzco un dato:
Variable = NEW Musica 'crear la instancia
Variable.Index = "1aze"
Variable.Song = "Yo tengo un castor ... "
Variable.Artist = "el mejor del mundo ... "
Variable.Size = 1000
Variable.long = 2000
Variable.status = 5
'lo añado al array de datos y las clave
Datos.add(Variable)
claves.Add(variable.Index)

'introduzco otro dato:
Variable = NEW Musica 'crear otra vez la instancia (es importante ponerla)
Variable.Index = "2bde" 'añado un nuevo indice
Variable.Song = "Mi mar en casa ... "
Variable.Artist = "el segundo del mundo ... "
Variable.Size = 1400
Variable.long = 2200
Variable.status = 3
'lo añado al array de datos y las clave
Datos.add(Variable)
claves.Add(variable.Index)


'muestro el array de datos
PRINT "---------- Muestro 1º variable ----------"
Variable = Datos[0]
Variable.ver
PRINT "---------- Muestro 2º variable ----------"
variable = Datos[1]
variable.ver

'borro un registro, cuyo indice sea el indice "1aze"
indice_borrar = claves.Find("1aze")

IF indice_borrar = -1 THEN
Message.Error("No encuentro el indice para borrarlo")
ELSE
Datos.Remove(indice_borrar)
claves.Remove(indice_borrar)
ENDIF

'muestra de datos
PRINT "-------------Muestros todos los datos -------------"
FOR a = 0 TO Datos.Count - 1
PRINT "---------dato:"; a; "----------------"
variable = Datos[a]
variable.ver
NEXT

END

Este es la salida que genera el programa en la consola:
---------- Muestro 1º variable ----------
1aze
Yo tengo un castor ...
el mejor del mundo ...
1000
2000
5
---------- Muestro 2º variable ----------
2bde
Mi mar en casa ...
el segundo del mundo ...
1400
2200
3
-------------Muestros todos los datos -------------
---------dato:0----------------
2bde
Mi mar en casa ...
el segundo del mundo ...
1400
2200
3

Como habeis visto para  borrar el dato   "1aze" , hemos tenido que:
1) buscarlo en el array de claves (con el método .find), que devuelve el valor el lugar (o posicion) donde esta
                indice_borrar = claves.Find("1aze")
2) Usar el método .Remove(indice_borrar)
                Datos.Remove(indice_borrar)
                claves.Remove(indice_borrar)
Debemos borrar tanto el array de Datos como el array de Claves, ambos estan ligados.

Saludos

GambasChat: Version 0.0.2 (mejorada) Comunicación a traves de sockets


Gambas Chat
Versión 0.0.2


He mejorado el programa de GambasChat:

- Ahora es capaz de llevar 100 conexiones de clientes. Para ello trabaja con un array de objetos que van a contener la información de los distintos sockets que se conectan.

- Utilizo un Gridviews, para mostrar los mensajes de los clientes (también salen en color). Lo hee cambiado porque me daba problemas el labeltext, ya que cuando llegaba a llenarse, no se desplazaba el texto. Con el gridviews, se pueden ver todos los mensajes, a medida que te llegan y te puedes desplazar para ver los anteriores.

-Cada vez que te llega un mensaje, lo veras, ya que se desplaza automáticamente el gridviews.

-El servidor indica la dirección IP, de la red local, para que sepas la ip que tienen que poner los clientes para conectarse al servidor.

Ejemplo de su uso en una red local.


Gambas2

Descarga del código fuente: versión 0.0.2 (actualizado 28/4/2014)
servidor
cliente

componente necesario:
ProgramasGambas/supergridviews-0.0.133.tar.gz
(restaurado enlace 9/12/2012)



Nota:
Video tutorial de como instalar un nuevo componente:
http://componentesgambas2.blogspot.com/p/videos.html

sábado, 10 de septiembre de 2011

Como hacer para que se suscriban en tu blog: Instalar FeedBurner (2/2)















Como hacer para que los usuarios 
se suscriban
en tu blog de Blogger con
feedburner (2/2)



      He hecho este video tutorial para enseñaros lo fácil que es poner en vuestro blog de Blogger vuestro botón de suscribirse a vuestro blog por email.

      Suscribirse a un blog mediante correo eléctronico, creo que es la forma más sencilla y cómoda para el usuario de no perderse nada de sus blogs preferidos, ¿quien no mira el correo a diario?