martes, 11 de mayo de 2010

Como Enviar Correos Con Una Cuenta Gmail Gambas

Hola amigos aquí les dejo un programa la cual envía correos a partir de una cuenta gmail

Con este programas podrás enviar correos con tu cuenta gmail. Para ello debes instalar los paquetes mailutils
ssmtp

sudo apt-get install mailutils ssmtp

Una vez instalado los paquetes debes configurar el archivo ssmtp.conf de esta menera
sudo gedit /etc/ssmtp/ssmtp.conf

Se debe configurar de esta manera. Donde "cuenta" es el usuario de gmail y "clave_cuenta" la contraseña de la cuenta.

root="cuenta"@gmail.com

mailhub=smtp.gmail.com:587

hostname="cuenta"@gmail.com

FromLineOverride=YES

UseSTARTTLS=YES

AuthUser="cuenta"@gmail.com

AuthPass="clave_cuenta"

Ahora debes hacer una prueba para ver si funciona.
echo “Hola Amigo, Visita www.gambas-es.org , http://help-gambas.blogspot.com/” | mail -s “Saludo Amigo” cuenta@dominio.com

Se debe cambiar cuenta@dominio.com por el receptor del mensaje!!

Aquí hice un ejemplo en gambas para enviar correos

Descargar Ejemplo







Saludos

viernes, 7 de mayo de 2010

Como Crear Objetos por código

Alguna vez se han preguntado como crear un nuevo textbox sin que yo lo agarre desde la Caja de herramientas. Bueno en este mini tutorial veremos como crear un nuevo objeto o control desde la ventana de Código


El código esta en el evento Open del formulario ya que quiero mostrar los controles cuando se abra el formulario

PUBLIC SUB Form_Open()
DIM label1 AS NEW Label(FMain) 'Declaramos label1 como un nuevo label en el formulario “FMain”
DIM listBox1 AS NEW ListBox(FMain)
DIM ComboBox1 AS NEW ComboBox(FMain)
'Declaramos label1 como un nuevo label en el formulario “FMain”
'Ojo ME Significa el formulario que estamos actualmente en este caso "FMain"
DIM textbox1 AS NEW TextBox(ME)
DIM TableView1 AS NEW TableView(ME)
DIM Button1 AS NEW Button(ME)

'Crear un Nuevo Label
label1.X = 110 ' Poción en el eje de las x del control
label1.Width = 250 ' Ancho del control
label1.Height = 50 'Alto del control
label1.Font = Font["Arial, +14"] ' Tipo de Letra
label1.Text = "Como Crear Controles" ' Texto a mostrar

'Crear un Nuevo ListBox
listBox1.X = 25 ' Poción en el eje de las x del control
listBox1.Y = 50 ' Poción en el eje de las y del control
listBox1.Width = 150 'Ancho del Control
listBox1.Height = 200 ' Alto del Control
listBox1.Add("listBox1") 'Agrega un nuevo Elemento al ListBox

'Crear un Nuevo ComboBox
ComboBox1.X = 200
ComboBox1.Y = 50
ComboBox1.Width = 200
ComboBox1.Height = 25
ComboBox1.Text = "ComboBox1"

'Crear un nuevo TextBox
textbox1.X = 200
textbox1.Y = 85
textbox1.Width = 200
textbox1.Height = 25
textbox1.Text = "TextBox1"

'Crear un nuevo TableView
TableView1.X = 200
TableView1.Y = 120
TableView1.Width = 200
TableView1.Height = 100
TableView1.Header = GridView.Horizontal
TableView1.Columns.Count = 2
TableView1.Columns[0].Text = "Columna 1"
TableView1.Columns[0].Width = 100
TableView1.Columns[1].Text = "Columna 2"
TableView1.Columns[1].Width = 100
TableView1.Rows.Count = 1
TableView1.Mode = Select.Single
TableView1[0, 0].Text = "Fila 1"
TableView1[0, 1].Text = "Fila 1"

'Crear un nuevo Button
Button1.X = 200
Button1.Y = 230
Button1.Height = 50
Button1.Width = 200
Button1.Text = "Button1"
END

Imágenes

Free Image Hosting at www.ImageShack.us


Free Image Hosting at www.ImageShack.us

Ahora me imagino que te preguntas como puedo crear eventos a los controles..!! Bueno en este segundo ejemplo veremos como crearles eventos a “Uno de Ellos” y utilizar un solo evento para varios controles.

PUBLIC SUB Form_Open()
'Declaramos label1 como un nuevo label en el formulario “FMain”
'Lo Agrupamos a la Subrutina cnombre
DIM label1 AS NEW Label(FMain) AS "cnombre"
'Lo Agrupamos a la Subrutina cnombre
DIM textbox1 AS NEW TextBox(ME) AS "cnombre"
'Lo Agrupamos a la Subrutina cnombrebutton
DIM Button1 AS NEW Button(ME) AS "cnombrebutton"

'Crear un Nuevo Label
label1.X = 110 ' Poción en el eje de las x del control
label1.Width = 250 ' Ancho del control
label1.Height = 50 'Alto del control
label1.Font = Font["Arial, +14"] ' Tipo de Letra
label1.Text = "Como Crear Controles" ' Texto a mostrar

'Crear un nuevo TextBox
textbox1.X = 220
textbox1.Y = 70
textbox1.Width = 200
textbox1.Height = 25
textbox1.Text = "TextBox1"

'Crear un nuevo Button
Button1.X = 10
Button1.Y = 60
Button1.Height = 50
Button1.Width = 200
Button1.Text = "Button1"
END

'Hacemos una Subrutina “cnombre” con el evento Doble Click “DblClick”
PUBLIC SUB cnombre_DblClick()
' LAST Devuelve el ultimo objeto que se uso,
' Al darle doble click “Click” al objeto Button1 devolverá Button1
' .Text Especifica que se cambiara la propiedad Text de ese control
LAST.Text = InputBox("Escriba el Nombre a Cambiar")
END

'Hacemos una Subrutina “cnombrebutton” con el evento Click “Click”
PUBLIC SUB cnombrebutton_Click()
LAST.Text = InputBox("Escriba el Nombre a Cambiar")
END

Al Pulsar Algún Control o Objetos agrupado por la subrutina y el evento, se producirá las instrucciones

Imágenes

Free Image Hosting at www.ImageShack.us


Free Image Hosting at www.ImageShack.us


Free Image Hosting at www.ImageShack.us


Free Image Hosting at www.ImageShack.us


Free Image Hosting at www.ImageShack.us


Descargar Ejemplos

jueves, 6 de mayo de 2010

Control DateChooser y DirChooser

DateChooser

Free Image Hosting at www.ImageShack.us


El control DateChooser sirve para mostrar un calendario en el formulario. Se puede utilizar para agregar una fecha en un textbox o para buscar algún día en el calendario.

Ejemplo

Free Image Hosting at www.ImageShack.us


Descargar Ejemplo

DirChooser

Free Image Hosting at www.ImageShack.us


Este control se usa para Buscar un directorio en el disco duro.

Algunas de sus propiedades mas usadas son:
Picture Especifica la imagen que se mostrara al principio del la ruta. Siempre y cuando la ruta no sea “/” ya que tendrá un icono por defecto

Root Sirve para agregar la ruta donde el DirChooser comenzara. Por defecto viene en “/home/usuario”

ShowBookmark “True” Muestra una barra lateral mostrando las rutas favoritas
“False” Elimina la barra lateral

ShowFile “true” Especifica si los archivos de las carpetas se mostraran.
“false” Si no deseas mostrar los archivos de las carpetas

ShowHidden “true” Muestra los archivos ocultos
“false” no muestra los archivos ocultos

ShowSplitter “true” Agrega un icono por si el usuario necesita ver los archivos que contiene la carpeta

Ejemplo

Free Image Hosting at www.ImageShack.us


Free Image Hosting at www.ImageShack.us


Descargar Ejemplo

miércoles, 5 de mayo de 2010

Como Generar Gráficas Con El Componente Gb.Chart

Como usar el componente Gb.Chart
Este componente fue creado por Fabien Bodard actualmente se encuentra en versión beta, es utilizado para crear gráficas de diferentes tipos..!! Le dejo un ejemplo de como se utiliza y otro ejemplo para descargarlo.

Se debe crear un formulario con una dimensión de
Height = 532
Width = 539

Con un DrawingArea1 con estas dimensiones
Height = 511
Width = 511

En el evento Open del Formulario “Click derecho en el DrawingArea1 / Eventos / Open” se debe escribir este código

PUBLIC SUB Form_Open()
'Texto de la leyenda
Chart.Headers.Values = ["Tic", "Tac", "Toes"]
'Valores de las Gráfica tipo Float
Chart[0].Values = [1.0, 2.0, 3.0]
'Titulo de la Gráfica
Chart.Title.Text = "My Chart"
'Leyenda
Chart.Legend.Visible = TRUE
Chart.Legend.Title = "My Legend"
'Tipo de Gráfica
Chart.Type = ChartType.Lines
DrawingArea1.Refresh
END

Y en el evento Draw del DrawingArea1 se debe escribir el siguiente código
PUBLIC SUB DrawingArea1_Draw()
Chart.Width = DrawingArea1.Height
Chart.Height = DrawingArea1.Width
Chart.Draw 'Muestra la Grafica
END

Al ejecutar el proyecto debes tener una gráfica como muestra la imagen

Free Image Hosting at www.ImageShack.us

Aquí les dejo otro Ejemplo para crear gráficas

Free Image Hosting at www.ImageShack.us

Descargar Ejemplo 2

Saludos..!!

lunes, 3 de mayo de 2010

Utilizar Gb.Report

Como generar Reportes en Gambas2 “gb.report”
gb.report es un componente para generar reportes creado por Fabien Bodard en la version 2 de gambas que se encuentra en versión beta. La documentación de este componente es muy poca solamente existía el ejemplo que el mismo creador del componente hizo. Pero buscando y ensayando y ensayando encontré la forma de generar reportes con este componente. Para ello se debe crear nuevo proyecto y agregar el componente
- gb.qt
- gb.qt.ext
- gb.report

Para generar una reporte sencillo se debe crear un button y en el evento click del button se debe escribir este código.

PUBLIC SUB Button1_Click()
DIM cabezera AS ReportLabel
DIM texto AS ReportLabel
DIM cadena AS String
cadena = "\n\nGambas es un lenguaje de programación libre derivado de BASIC. Es distribuido con licencia GNU GPL.\nCabe destacar que presenta ciertas similitudes con Java ya que en la ejecución de cualquier aplicación,\nse requiere un conjunto de librerías interprete previamente instaladas (Gambas Runtime) que entiendan\nel bytecode de las aplicaciones desarrolladas y lo conviertan en código ejecutable por el computador.\nPor otro lado, a diferencia de Java, no se experimentan ralentizaciones y es posible desarrollar\ngrandes aplicaciones en poco tiempo.\n\n Permite crear formularios con botones de comandos, cuadros de texto y muchos otros controles y\nenlazarlos a bases de datos como MySQL, PostgreSQL o SQLite además de facilitar la creación de\naplicaciones muy diversas como videojuegos (utilizando OpenGL), aplicaciones para dispositivos móviles\n(en desarrollo pero muy avanzado), aplicaciones de red (con manejo avanzado de protocolos HTTP, FTP\n, SMTP, DNS), entre otras.\n"
Report.Padding = "2 cm" 'Margenes
cabezera = NEW ReportLabel(Report)
cabezera.Font = Font["Arial,+12"] ' Tipo de Letra
cabezera.Alignment = Align.Center 'Alineacion del Texto
cabezera.Text = "Componentes de Gambas" 'Texto a Mostrar
texto = NEW ReportLabel(Report)
texto.Alignment = Align.Justify
texto.Text = cadena
texto.Text &= "\nDefinición sacada de Wikipedia.org"
Report.Preview

END

El reporte quedara de este manera



Existen Tipos de reporte ReportTextLabel a estos se le puede agregar código html pero no lo recomiendo ya que al imprimir el reporte sale todo en un mismo renglón y no se ve el documento.



Aquí les dejo las imágenes del nuevo Gb.Report para gambas 3







Aquí les dejo un proyecto ya creado en gambas2-2.20.2 con diferentes tipos de reportes, Estos ejemplos se probaron con una Impresora Pixma MP190.

Descargar ejemplos

Esperemos que en la nueva versión “gambas 3” ya este componente este terminado..!



Saludos

viernes, 30 de abril de 2010

Control TableView

TableView

Tanto el TableView, GridView,ColumnView contiene casi las misma propiedad así que si necesitas saber alguna propiedad del TableView puedes ver los post de GridView,ColumnView.

Me dedicare a hacer ejemplos

1) Insertar datos en el TableView
Se debe crear un tableview llamado TableView1
En el evento Open del Formulario “click derecho en el formulario Eventos y le das click a Open”
Escribirás este código para agregar los datos

PUBLIC SUB Form_Open()
'Especifico cuantas columnas usare
TableView1.Columns.Count = 1
'Especifico cuantas filas o row a utilizar
'Ojo se debe especificar las filas a utilizar si no no podrás insertar los datos y mandara un error
TableView1.Rows.Count = 7
'Agrego los datos
'La sintaxis es TableView1[row as Integer,column as Integer].Text = "mensaje"
'Row es el numero de fila y column es el numero de la columna
TableView1[0, 0].Text = "Mandriva"
TableView1[1, 0].Text = "openSUSE"
TableView1[2, 0].Text = "PCLinuxOS"
TableView1[3, 0].Text = "Red Hat Enterprise Linux"
TableView1[4, 0].Text = "Slackware"
TableView1[5, 0].Text = "Slax"
TableView1[6, 0].Text = "Ubuntu"
END

Imagen del Programa
Free Image Hosting at www.ImageShack.us


No puse el nombre de la columna ya que no voy a mostrar el nombre Si quisieras ponerle nombre a la columnas debes cambiar la propiedad del TableView1 llamada “Header” a “Horizontal” para mostrar los nombres de las columnas y agregarle el nombre mediante código debajo del “TableView1.Columns.Count = 1”
TableView1.Columns[0].Text = "Distribuciones"

2) Agregar Nombre, Ocupación y País utilizando 3 textbox, 3 label,1 button,1 TableView

Se debe crear un formulario de esta manera

Free Image Hosting at www.ImageShack.us

Los tres TextBox deben llevar estos nombres
txt_nombre
txt_direccion
txt_ocupacion

El Button1 se debe cambiar el nombre a btn_agregar “Opcional”

En el TableView se debe cambiar la propiedad Header a Both para agregar los nombres de las columnas y numero de las filas o row

En el evento Open del formulario se debe escribir el siguiente codigo

PUBLIC SUB Form_Open()
'Cantidad de columnas a usar
TableView1.Columns.Count = 3
'Nombre de la primera columna
TableView1.Columns[0].Text = "Nombre"
'Ancho de la primera columna
TableView1.Columns[0].Width = 150
'Nombre de la Segunda columna
TableView1.Columns[1].Text = "Dirección"
'Ancho de la segunda columna columna
TableView1.Columns[1].Width = 150
'Tercera columna
TableView1.Columns[2].Text = "Ocupación"
TableView1.Columns[2].Width = 150
END

Se debe crear una subrutina para limpiar los textbox aquí esta el código
PRIVATE SUB clear_text()
txt_direccion.Clear
txt_nombre.Clear
txt_ocupacion.Clear
END

En el evento Click del Button1 o “ btn_agregar” se debe escribir el siguiente codigo
PUBLIC SUB btn_agregar_Click()
'Guardo en la variable row la cantidad de filas que existen
DIM row AS Integer = TableView1.Rows.Count
'Comparo si los 3 textbox están vacíos o no
IF txt_nombre.Text <> "" AND txt_direccion.Text <> "" AND txt_ocupacion.Text <> "" THEN
'Agrego una nueva fila si los 3 textbox contiene información
TableView1.Rows.Count += 1
'Agrego el nombre, ocupación,dirección a la fila
TableView1[row, 0].Text = txt_nombre.Text
TableView1[row, 1].Text = txt_ocupacion.Text
TableView1[row, 2].Text = txt_direccion.Text
clear_text() 'Subrutina para eliminar los datos escritos en el TextBox
ELSE 'Si los textbox están vacíos mandara el siguiente mensaje
Message.Info("Debe llenar los datos")
ENDIF
END

Imagen del Programa
Free Image Hosting at www.ImageShack.us


3) Agregar Usuario y País a una base de datos y mostrarla en un TableView
Imagen del Programa
Free Image Hosting at www.ImageShack.us

Este ejemplo se encuentra dentro de los Ejemplos para descargar

Descargar Ejemplos

lunes, 26 de abril de 2010

Control GridView

GridView

Free Image Hosting at www.ImageShack.us


Border
Establece si el GridView llevara borde “true” o no “false”

Enabled
Habilita “true” o deshabilita el control “false”

Font
Establece el tipo de letra, tamaño, subrayado, negrita, etc.

Foreground
Especificas el color de letra del GridView

Grid
Establece si las filas y columnas llevan marcos. Es decir si llevan bordes

Header
Especifica si el GridView mostrara el nombre de las columnas o si muestra los números de las filas o row
- Vertical Solo muestra los números de las filas
- Horizonal Muestra los nombres de las columnas
- Both Muestra el nombre de las columnas y los números de filas

Mode
Contiene dos opciones para elegir cual modo de selección quieres
- Single Solo se podrá seleccionar un “1” elemento de las filas del GridView
- Multiple Se podrán seleccionar varios “1,2,3,4” elementos de las filas del GridView

Scollbar
Indica si llevara o no barra de desplazamiento horizontal o vertical
- Both Indica que llevara las dos barras de desplazamiento “Horizontal y Vertical”
- Vertical Indica que solo llevara la barra de desplazamiento Vertical
- Horizonal Indica que solo llevara la barra de desplazamiento Horizontal
- Both Indica que no llevara barra de desplazamiento

ToolTip
Sirve para escribir un comentario sobre el control. Especifica de que se trata el control Ejemplo Nombres de Empleado, Tabla de Usuarios, Reporte de Venta del Dia. Esto se muestra cuando el cursor esta enésima del control.

Para insertar datos al GridView se debe realizar mediante código y se deben especificar cuantas filas o row que se utilizaran. A diferencia del Columnview que no se especifica la cantidad de filas.

Free Image Hosting at www.ImageShack.us

Para agregar un dato se debe especificar el numero de la columna y el numero de la fila es decir que para agregar el nombre Carlos se debe especificar la fila que es la 0 y la columna que es la 0 quedando de esta manera [0,0] = Carlos
En el GridView la sintaxis es GridView1[row o fila , column].Text
Ejemplo
GridView1[0, 0].Text = "Carlos"
Para agregar “Hernandez”
GridView1[0, 1].Text = “Hernandez”

Ejemplos

1) Como insertar datos a un GridView
Se debe crear un formulario con un GridView llamado GridView1. En el evento Open del Formulario. Quedando el formulario de esta manera

Free Image Hosting at www.ImageShack.us


Código del evento Open del formulario

PUBLIC SUB Form_Open()
GridView1.Columns.Count = 2 ' Especifico cuantas columnas llevara el GridView
GridView1.Columns[0].Text = "Nombre" 'Nombre de la primera columna
GridView1.Columns[0].Width = 250 'Especifica el ancho de la primera columna
GridView1.Columns[1].Text = "Edad" 'Nombre de la segunda columna
GridView1.Columns[1].Width = 250 'Ancho de la segunda columna
GridView1.Rows.Count = 2 'Cantidad de Filas que se utilizaran para agregar datos

'Primer Dato
'Alineo el texto de la primera columa y la primera fila al centro
GridView1[0, 0].Alignment = Align.Center
'Inserto el primer nombre a la primera fila y la primera columna
GridView1[0, 0].Text = "Marcos Gonzales"

'Alineo la segunda columna y la primera fila
GridView1[0, 1].Alignment = Align.Center
'Agrego el dato 15 a la primera fila de la segunda columna
GridView1[0, 1].Text = "15"

'Segundo Dato
GridView1[1, 0].Alignment = Align.Center
GridView1[1, 0].Text = "Fransisco Torres"
GridView1[1, 1].Alignment = Align.Center
GridView1[1, 1].Text = "17"
END

2) Insertar datos a un GridView y Modificar esos datos mediante otro formulario
Vista del formulario

Free Image Hosting at www.ImageShack.us


El código del ejemplo esta en el proyecto para ver el código se debe descargar el proyecto

Descargar Ejemplo

miércoles, 21 de abril de 2010

Reporte HTML De Base Datos

Hola Amigos Gamberos
Aquí les traigo un programa para que puedan imprimir un informe de los datos de una base de datos..!!
Cuando Quieran imprimir un reporte o informe de una base de dato x y los campos x , x , x este pequeño programa les puede funcionar..!!
El informe se imprime en formato HTML

Código Fuente del Programa
Bajar código Fuente

Imágenes del Programa













Espero que le sirva..!!!

martes, 20 de abril de 2010

Conectar a Base de datos Mysql 2

Segunda parte de Conectar a Base de datos Mysql

En esta parte veremos mas que nada como ejecutar sentencias SQL y mostrar los resultados.

Ejemplo 1

Aquí aparece las sentencias SQL que deben pegar en Mysql para crear la base de dato “prueba” crear la tabla “gambas” y insertar los datos a la base de datos.


create database prueba;
use prueba;
create table gambas(id int auto_increment primary key,componente varchar(50));
insert into gambas(componente) value('gb');
insert into gambas(componente) value('gb.debug');
insert into gambas(componente) value('gb.eval');
insert into gambas(componente) value('gb.info');
insert into gambas(componente) value('gb.option');
insert into gambas(componente) value('gb.pcre');
insert into gambas(componente) value('gb.settings');
insert into gambas(componente) value('gb.vb');
insert into gambas(componente) value('gb.corba');
insert into gambas(componente) value('gb.net');
insert into gambas(componente) value('gb.net.curl');
insert into gambas(componente) value('gb.net.smtp');
insert into gambas(componente) value('gb.web');
insert into gambas(componente) value('gb.form');
insert into gambas(componente) value('gb.form.dialog');
insert into gambas(componente) value('gb.form.mdi');
insert into gambas(componente) value('gb.gtk');
insert into gambas(componente) value('gb.gtk.ext');
insert into gambas(componente) value('gb.gtk.svg');
insert into gambas(componente) value('gb.gui');
insert into gambas(componente) value('gb.pdf');
insert into gambas(componente) value('gb.qt');
insert into gambas(componente) value('gb.qt.ext');


Segundo creamos un formulario con el componente gb.db para conectarnos con la base de datos creamos un button y un listBox quedando un formulario parecido a este

Free Image Hosting at www.ImageShack.us

En el Button en el evento click escribirnos los siguientes códigos

PUBLIC SUB Button1_Click()
DIM cn AS NEW Connection 'Declaramos una nueva conexión
DIM res AS Result 'Declaramos una variable result para el resultado de la sentencia SQL
DIM i AS Integer 'Declaramos i para el bucle For
cn.Type = "mysql" 'Escogemos el tipo de base de datos
cn.Host = "localhost" 'El Host, ip, dominio del servidor de Base de Datos
cn.User = "root" 'El nombre del usuario de la base de datos
cn.Password = "josechen" 'La contraseña del usuario de la base de datos
cn.Name = "prueba" 'Nombre de la base de dato que utilizaremos
cn.Open() 'Abrimos la conexión
'Ejecutamos la sentencia SQL para que retorne los datos de base de datos y la guardaremos en la variable res. Esta contendrá todos los resultados de la sentencia SQL
res = cn.Exec("select * from gambas")
'Ciclo for para imprimir los datos de la variable res que guarda los datos de la base de datos
FOR i = 0 TO (res.Count – 1)
'Agregamos el primer dato al ListBox1
ListBox1.Add(res!componente)
'Nos movemos a la siguiente fila
res.MoveNext
'Esto se repetirá varias veces hasta que el ciclo llegue al fin
NEXT 'Cuando el ciclo for llegue al fin
cn.Close() 'Cerramos la conexión
END

Ejemplo 2
En este ejemplo veremos como agregar un nuevo dato a la base de datos que estamos usando.
Insertar un nuevo componente el formulario debe tener:
- Label1
Se le deben cambiar la propiedad Text a "Nombre del Componente:"
- TextBox1
Se le debe borrar el contenido de la propiedad Text
- Button1
Solo se le debe cambiar la propiedad Text a "Agregar"

En el Button1 en el evento click se debe escribir el siguiente código

PUBLIC SUB Button1_Click()
DIM cn AS NEW Connection
cn.Type = "mysql"
cn.Host = "localhost"
cn.User = "root"
cn.Password = "josechen"
cn.Name = "prueba"
cn.Open()
'Se ejecuta la sentencia sql para insertar el dato del Textbox1
cn.Exec("insert into gambas(componente) value(&1)", TextBox1.Text)
cn.Close()
Message.Info("El Componente fue agregado correctamente")
END

Aquí dejo los ejemplos ya creados
Descargar Ejemplos

Lo mas importante para comunicarse con la base de dato son las sentencias SQL ya que si aprendes el lenguaje SQL podrás manipular los datos correctamente. En google si buscas aparecerán manuales que contienen sentencias SQL.

Conectar a Base de datos Mysql

Conectar a Base de datos Mysql

En gambas se puede conectar con distintas bases de datos como lo son: PostgreSQL, Mysql, SQLite 2, SQLite 3, ODBC, Firebird.

En este pequeño manual veremos como conectar a una base de datos mysql, como hacer consultas, como mostrar el resultado de las consultas.

Para conectarte a la base de datos debes utilizar el componente “gb.db” lo puedes encontrar en el menú “Proyecto” Luego Buscas “Propiedades” aparecerá una ventana en la parte de arriba aparecerá “Componentes” y buscas el componente “gb.db” y le das “Aceptar”.

También lo puede agregar cuando estas creando el proyecto aparecerá un cuadro que dice opciones y seleccionas “acceso a bases de datos” .

Ahora comenzaremos a conectarnos con la base de datos

DIM cn AS NEW Connection 'Declaración de la variable “cn” para una nueva conexión

cn.Type = "mysql" 'Tipo de conexión Base de Datos

cn.Host = "localhost" 'Dirección , Dominio o ip de donde se encuentra instalada la Base de Datos

cn.Port = "3306" 'Puerto Conexión de la base de datos
'Por defecto mysql utiliza el puerto 3306, pero no es necesario especificar el puerto si se utiliza el puerto por defecto “3306”. Si el puerto es cambiado se debe especificar el puerto de la conexión.

cn.User = "root" 'Usuario de la Base de datos

cn.Password = "josechen" 'La contraseña del usuario de la base de datos

cn.Name = "usuarios" 'Nombre de la base de datos que se usara

cn.Open() 'Abre la conexión de la base de datos

Otras propiedades importantes son:

Databases
Esta contiene 1 propiedad y 4 métodos opciones
- Add “Crea una nueva Base de Datos”
Connection.Databases.Add(“Prueba”)

- Count “Retorna el valor de bases de datos que existen”

- Exist “Retorna True o False si existe la Base de Datos
Connection.Databases.Exist(“prueba”)

- Refresh “Refresca la Base de datos”

- Remove “Remueve, Elimina, Dropear la base de datos”
Connection.Databases .Remove(“prueba”)

Tables
Contiene 1 propiedad y 4 métodos que son:
- Add “Agrega una nueva tabla”

Ejemplo

DIM cn AS NEW Connection 'Declaración de variable cn como una nueva conexión
DIM table AS Table 'Declaramos table como una tabla
cn.Type = "mysql" 'Tipo de Conexión
cn.Host = "localhost" 'Host de la Conexión
cn.User = "root" 'Usuario
cn.Password = "josechen" 'contraseña
cn.Name = "usuarios" 'Nombre de la Base de Dato
cn.Open() 'Abro la conexión
table = cn.Tables.Add("prueba") 'Se Crea una nueva tabla
table.Fields.Add("nombre", db.String) 'Se Agregan los Argumentos
table.Fields.Add("edad", db.Integer)
table.Update() 'Se Actualiza
cn.Close() ' Se cierra la conexión

- Count
Retorna el valor de números de tablas que existen en la base de datos

- Exist
Devuelve true si existe la tabla
Connection.Tables.Exist(“prueba”)

- Refresh
Refresca la Tablas

- Remove
Elimina una tabla
Connection.Tables.Remove("prueba")

Users
Contiene 1 Propiedad y 4 Métodos
- Add
Agrega un nuevo usuario a la base de datos
Connection.Users.Add(“usuario”,”contraseña”,Admin as Bolean “true o false”)
Connection.Users.Add(“Jose”,”123456”,true)

- Count
Retorna el numero de usuarios que tiene la base de datos

- Exist
Retorna true si el usuario existe
Connection.Users.Exist(“root”)

- Refresh
Refresca la tabla de usuarios

- Remove
Remueve un usuario de la base de datos
Connection.Users.Remove(“usuario”)
En lo personal me mando un error y cerro el programa uso gambas 2.20

Version
Retorna la versión de Mysql

Algunas de sus métodos mas importantes son:

Open()
Abre la conexión

Close()
Cierra la Conexión

Exec()
Ejecuta una sentencia SQL
result = Coneccion.Exec(“select * from tabla”)

Find()
Busca dentro de una tabla datos específicos
Ejemplo
result = Coneccion.Find("tabla", "nombre_columna = &1", "dato_a_buscar")
Message.Info(result.Count) 'Imprime cuantos resultados enconto

Limit()
Limita el números de filas a mostrar “Rows”
Coneccion.Limit(10) 'Solo Retornara 10 resultados

Ojo cuando ustedes hacen una consulta “Exec,Find,etc” deben declara una variable de tipo result para guardar los resultados de la consulta.

En este ejemplo se ejecuta la sentencia SQL en la base de dato y esta retorna los datos y son guardados en la variable res de tipo result, con el result podemos trabajar para imprimir todos los datos de que la base de datos nos genero al ejecutar la sentencia.

DIM res AS Result
res = cn.Exec("select * from gambas")
FOR i = 0 TO (res.Count - 1)
Message.Info(res!componente)
res.MoveNext
NEXT

Segunda parte de Conectar a Base de datos Mysql

Control ColumnView

ColumnView

Free Image Hosting at www.ImageShack.us


Este control se utiliza para mostrar datos en forma de tablas.

Algunas de sus propiedades mas utilizadas son:

Background
Sirve para especificar el color del fondo del control

Border
Establece si el control llevara “true” o no llevara “false” bordes


Enable
Especifica si el control esta habilitado “true” o no estará habilitado “false”


Font
Cambia el tipo de letra, tamaño, negrita, subrayado, tachado, cursiva, etc.


Foreground
Cambia el color de la letra

Header
Sirve para especificar si el control llevara cabecera . Es decir que si lleva los nombres de la columnas.

Height
Contiene el alto del control

Mode
Sirve para especificar si las filas pueden ser seleccionadas

Contiene tres tipos de modos:
- None “Ninguna de las filas del control podrán ser seleccionadas”
- Multiple “Se podrá seleccionar varias filas del control”
- Single “Solo se podrá seleccionar una fila del control”


ScrollBar
Especifica si el control llevara Barras de desplazamiento horizontal, vertical o ninguna.

Contiene tres opciones:
- Both “Contiene ambas Barras de desplazamiento”
- Horizontal “Contendrá solo la barra de desplazamiento Horizontal”
- None “No tendrá ninguna barra de desplazamiento”
- Vertical “Tendrá solo la barra de desplazamiento Vertical”

ToolTip
Sirve para mostrar un mensaje cuando el mouse se encuentre arriba del control.

Visible
Establece si el control sera Visible “true” o Invisible “false”

Width
Contiene el ancho del control

X
Posición del control en el eje de las X

Y
Posición del control en el eje de las Y

Para este tipo de control se debe comenzar:
- Especificando las cuantas columnas vas a utilizar
- Especificar el nombre de cada columna, su ancho, su alineación.
- Se debe Agregar un dato con un Key o clave para seguir agregando los siguientes datos.

Todos estos procedimientos se hacen mediante código

Ejemplos

1) Se debe crear un ColumnView y un button
En el button se le cambiara la propiedad Text a Agregar Datos
El Formulario mas o menos quedará como muestra la imagen

Free Image Hosting at www.ImageShack.us

En el evento Open del formulario “Click derecho en el formulario / Eventos / Open” se comenzara a codificar el Header de ColumnView

PUBLIC SUB Form_Open()
'Estableces cuantas columnas vas a utilizar en este caso 3
ColumnView1.Columns.Count = 3
'Primera columna
'Establece el nombre de la primera columna
ColumnView1.Columns[0].Text = "Nombre"
'El Ancho de la primera columna
ColumnView1.Columns[0].Width = 200
'La Alineación del texto en este caso izquierdo
ColumnView1.Columns[0].Alignment = 1

'Segunda columna
'Establece el nombre de la segunda columna
ColumnView1.Columns[1].Text = "Apellido"
'El Ancho de la segunda columna
ColumnView1.Columns[1].Width = 200
'La Alineación del texto en este caso derecho
ColumnView1.Columns[1].Alignment = 2

'Tercera Columna columna
'Establece el nombre de la tercera columna
ColumnView1.Columns[2].Text = "Edad"
'El Ancho de la tercera columna
ColumnView1.Columns[2].Width = 200
'La Alineación del texto en este caso centrado
ColumnView1.Columns[2].Alignment = 3
END

En el button se escribirá el código para agregar un dato a la columnview1

PUBLIC SUB Button1_Click()
'Agregarle Datos a la ColumnView1
'Agrego el primer dato "José" con un key "0" para después seguir agregando mas datos
ColumnView1.Add(0, "José")
'Agrego otro dato especificando el key y la columna. key "0", columna "1"
ColumnView1[0][1] = "Chen"
'Agrego otro dato especificando el key y la columna. key "0", columna "2"
ColumnView1[0][2] = "20"
'Para seguir agregando mas datos se debe cambiar el valor del key ya que sino mandara un error Ejemplo.
'Agrego el primer dato "Marta" con un key "1" para después seguir agregando mas datos
'ColumnView1.Add(1, "Marta")
'Agrego otro dato especificando el key y la columna. key "1", columna "1"
'ColumnView1[1][1] = "Tuñon"
'Agrego otro dato especificando el key y la columna. key "1", columna "2"
'ColumnView1[1][2] = "42"
END

Ya el programa se podrá ejecutar y ver como se llena el columnview1.

2) Ejemplo de como agregar datos y imagen “nombre, edad, sexo, teléfono, rango - imagen” a un columnview1

Este ejemplo se encuentra en el proyecto para descargar

Descargar Ejemplos

sábado, 17 de abril de 2010

Control ScrollBar

ScrollBar
Free Image Hosting at www.ImageShack.us

Es una barra de desplazamiento horizontal o vertical con una con valores definidos, es decir que se puede crear un ScrollBar que comience en 0 y termine en 10, pero también lo puedes hacer que comience en -100 y termine en 100. Es decir que el desarrollador de la aplicación le pone los limites de valores.
Para que el ScrollBar sea horizontal el ancho “Width” del control debe ser mayor que el alto “Height”del control.
Y para hacer un ScrollBar Vertical debe hacerse lo contrario el alto del control “Height” debe ser mayor que el ancho del control “Width”.

Algunas de sus propiedades mas usadas son:

Background
Establece el color de fondo del control.

Enabled
Habilita “true” o deshabilita el control “false”. Al deshabilitar el control no se podrá mover el ScrollBar es decir que no hace ninguna función hasta que se habilite nuevamente .

Height
Contiene el valor del alto “largo” del control.

MaxValue
Se establece el valor máximo que llegara el ScrollBar. Por defecto viene con un valor de 100 es decir que el valor máximo que llegara es 99 ya que comienza desde 0 y desde 0 a 99 existen 100 números. Se le puede asignar valores negativos

MinValue
Establece el valor mínimo del control por defecto viene en 0 pero puede cambiarse según su preferencia y también acepta valores negativos.

PageStep
Establece el valor que al darle click al centro del ScrollBar se incrementara. Por defecto contiene el valor de 10 es decir que cada vez que le demos click al centro del ScrollBar se incrementara 10 números.

Free Image Hosting at www.ImageShack.us


Step
Establece el valor que al darle click a los botones de abajo o arriba del ScrollBar incrementara el valor. Por defecto viene en 1 y al darle click al el botón de arriba o abajo del ScrollBar incrementara 1.

Free Image Hosting at www.ImageShack.us

ToolTip
Envía un mensaje al usuario especificando el funcionamiento del control. Para que se usa. Por ejemplo puede escribir un mensaje como este “Si Mueve la Barra de Desplazamiento la Imagen se moverá Horizontalmente”. Le indicas al usuario que hace el control.

Visible
Establece si el control sera Visible “true” o invisible “false”

Width
Contiene el valor del ancho del control.

X
Contiene el valor de la posición en X del control.

Y
Contiene el valor de la posición en Y del control.

Para mas ayuda sobre el control

Ejemplos
1) Convertidor de Grados Fahrenheit a Celsius
Se debe crear un ScrollBar “Vertical”, un label y un Button. Creando un formulario parecido al de la imagen.

Free Image Hosting at www.ImageShack.us

En el ScrollBar1 las propiedad MaxValue se cambiara a 1000. Quiere decir que el valor máximo del scrollbar1 sera 1000 y este sera la temperatura máxima para transformar a Celsius.
La formula para cambiar de Fahrenheit a Celsius es la siguiente ((valor_Fahrenheit – 32)/1.8).

En el ScrollBar1 en el evento Change se debe escribir el siguiente código. Para buscar el evento se le debe dar click derecho al control Eventos y aparecerá el evento “Change”

PUBLIC SUB ScrollBar1_Change()
Label1.Text = "Grados Fahrenheit: " & ScrollBar1.Value
END

El Código del Button en el evento Click es el siguiente
PUBLIC SUB Button1_Click()
Message.Info("Son " & ((ScrollBar1.Value - 32) / 1.8) & " Grados Celsius")
END

Para saber que valor tiene el ScrollBar se debe llamar el método Value que es el que contiene el valor del control “10,25,62” y con ese valor se podrá transformar la temperatura.
Ya el programa estará listo para ejecutare al mover el ScrollBar cambiara el valor y así tomaras el valor que vas a convertir.

2) Subir y Bajar una PictureBox
En este ejemplo utilizaremos estos controles:
2 ScrollBar
2 Label
1 PictureBox

Cambiaremos algunas propiedades de los controles:
Los dos ScrollBar se le debe cambiar la propiedad MaxValue = 8 y Step = 1
En en el primer picturebox se le debe cambiar la propiedad text a “Bajar Imagen”
En en el segundo picturebox se le debe cambiar la propiedad text a “Subir Imagen”
En el PictureBox se le debe insertar una imagen buscando la propiedad Picture y dándole click al pequeño botón que aparece para buscar la imagen y también cambiar la propiedad Stretch a true para hacer que la imagen se acople al PictureBox.

Ahora debemos crear un Form “formulario” de esta manera

Free Image Hosting at www.ImageShack.us

En el Primer ScrollBar en el evento “Change” debes escribir este código
PUBLIC SUB ScrollBar1_Change()
IF (PictureBox1.Y <> 21) THEN 'Compara si el valor en Y del PictureBox llega a su posición mas alta 21
PictureBox1.Y -= ScrollBar2.Value 'Le Resta el valor del ScrollBar para subir el PictureBox hacia arriba
ENDIF
END

El proyecto estará listo para mover la imagen hacia abajo o hacia arriba del formulario.

Aquí les dejo los dos ejemplos
Descargar Ejemplos

viernes, 16 de abril de 2010

Control ComboBox

ComboBox

Free Image Hosting at www.ImageShack.us

Se utiliza para mostrar una lista de datos desplegables y escoger una opción de la lista. Algunas de sus propiedades mas importantes son:

Enabled
Por defecto viene en true “Habilitado” y si decaes inhabilitar debe cambiare a “false”. Al estar inhabilitado el control no podrá ser usado, hasta que se habilite el control.

Font
Sirve para cambiar el tipo de letra, tamaño, negrita, subrayado,etc.

Heigh
Contiene el alto del control.

List
Sirve para crear la lista de los datos que se mostraran en el ComboBox.

Free Image Hosting at www.ImageShack.us


ReadOnly
Especifica si el control sera de solo lectura “true”. Si el ComboBox esta en solo lectura el texto de la propiedad text se eliminara “No aparecerá” y aparecerá automáticamente el primer elemento de la lista.

ReadOnly=true
Free Image Hosting at www.ImageShack.us

ReadOnly=false
Free Image Hosting at www.ImageShack.us

Sorted
Ordena alfabéticamente los datos del ComboBox, por defecto viene en “false” y para ordenar los datos debe cambiarse a “true”.

Text
Especifica el texto que contendrá el ComboBox al inicio. Sirve para especifica que tipo de opción debe escoger por ejemplo
“Escoge tu Sexo” al desplegar la lista se sabrá que debe escoger su sexo.

ToolTip
Sirve para enviar un mensaje cuando el mouse este arriba del control “ComboBox”.

Free Image Hosting at www.ImageShack.us

Visible
Contiene dos opciones True “Visible” y False “Invisible”. Por defecto se encuentra en true ya que el control estará visible al usuario y de cambiarse a false el usuario no podrá ver el control “ComboBox”.

Width
Ancho del control.

X
Posición del control en el eje de las X

Y
Posición del control en el eje de las Y

Para mas ayuda

Ejemplo
1) Agregar lista de datos de un ComboBox
Se debe crear en el formulario un ComboBox y un Button. Quedando el formulario de esta manera

Free Image Hosting at www.ImageShack.us


El código del Button en el evento click es el siguiente

PUBLIC SUB Button1_Click()
ComboBox1.Add("Help-Gambas.Blogspot.com")
ComboBox1.Add("Gambas-es.Org")
ComboBox1.Add("Gambasdoc.org")
ComboBox1.Add("Gambas.sourceforge.net")
END

Free Image Hosting at www.ImageShack.us


Al ejecutar el programa y al darle click al button se cargaran los datos al ComboBox mediante el método Add(string,index) donde string es la cadena de texto que agregaras a la lista y el index la posición del elemento, en este caso no se agrego index ya que al no indicarle el index automáticamente el elemento sera agregado de ultimo.

2) Ordenar Alfabéticamente la lista
Se utiliza el mismo formulario solamente que cambiaremos la propiedad Sorted = true. Esto hace que los elementos de la lista se ordenen alfabéticamente.

El código del Button es el siguiente
PUBLIC SUB Button1_Click()
ComboBox1.Sorted = TRUE
END

El código para cargar los datos automáticamente se escribirá en el evento open del formulario.
PUBLIC SUB Form_Open()
ComboBox1.Add("Help-Gambas.Blogspot.com")
ComboBox1.Add("Gambas-es.Org")
ComboBox1.Add("Gambasdoc.org")
ComboBox1.Add("Gambas.sourceforge.net")
END

Free Image Hosting at www.ImageShack.us


Se debe fijar los elementos del ComboBox y después darle click al botton para así ver que se ordeno la lista alfabéticamente.

3) Como saber que elemento del ComboBox escogiste
Se utiliza un ComboBox y un Button el codigo del Button sera este
PUBLIC SUB Button1_Click()
Message.Info("El Web Site Que Escogí Fue: " & ComboBox1.Text)
END

En el evento Open se cargara la lista de los elementos el código sera este
PUBLIC SUB Form_Open()
'Cargar Datos ComboBox1
ComboBox1.Add("Help-Gambas.Blogspot.com")
ComboBox1.Add("Gambas-es.Org")
ComboBox1.Add("Gambasdoc.org")
ComboBox1.Add("Gambas.sourceforge.net")
END

Para saber que elemento de la lista agarraste, cuando escoges un elemento este se carga en la propiedad text del control “ComboBox” y utilizando la propiedad del control text podrás saber que elemento escogiste. “ComboBox1.Text”

Descargar Ejemplos