miércoles, 11 de marzo de 2015

Que significan esos iconitos?


Muchas veces me preguntaba que significaba cada icono con su forma y color distintos sin encontrar un lugar donde se hable de ello. Aquí les dejo que nos dicen esos iconos, sus diferentes formas y colores.

Constante Predefinida ir...

gb.NewLine, gb.LongDate, gb.Link



 Control
TextBox, Label, TextArea, Button



 Evento
Button1_Click() , Button1_KeyRelease() , Button1_MouseDown()




 Método o subrutina
ListBox1.Add, ListBox1.Clear , ListBox1.Move
FMain.cargarConfig() , FMain.SubRutina_X()


 Propiedad de solo lectura
Button.Id, Button.HasFocus, DirBox.Children



 Propiedad de lectura/escritura
Button.Picture, Button.Enable, Button.Icono







Static Property Read







Static Public













 Variable
 
FMain.Arbitro, FMain.AutoGuardado, FMain.alargue

ejemplo de 3 variables del Tanteador del formulario principal 
llamado FMain.  , en el recuadro solo aparece el nombre de la variable 
sin el nombre del formulario.



ServerSocket

ServerSocket es una clase de red por lo tanto debemos activar el componente llamado gb.net(programacion de red). Se usa para crear un servidor, en mi caso estoy creando un servidor que provera a los clientes (cada pc que tenga el tanteador instalado frente a cada mesa de tenis de mesa) el acceso a una base de datos con nombres de jugadores y sus datos personales, un chat(mas que nada para ahorrarse andar caminando muchos metros), un tablero con todas las visualizaciones de todos los tanteadores en tiempo real para que el organizador pueda monitorear con comodidad el torneo.


Propiedades

Class: (propiedad de solo lectura)
 Nombre de la clase (ServerSocket)


Name: (propiedad de lectura y escritura)
Nombre de la clase que identifica la clase ServerSocket en nuestro programa o dentro del código fuente. En la imagen de arriba vemos como gambas predeterminadamente le pone ServerSocket1 y si agregas otro usa el mismo nombre sumando el numero es decir ServerSocket2, para los que comenzamos en esto de la programación es conveniente dejar el nombre completo para facilitar la comprensión del código fuente, si ya se es un programador avanzado seguro es mejor poner un nombre mas chico (ejemplos: Ss1, ServerS1, etc...)


Group:


Path: (propiedad de lectura y escritura,string)
Cuando el tipo de servidor es local se define la ruta del archivo especial.

ejemplo:
ServerSocket.type= Net.Local
ServerSocket.Path= Home.User &"/misocket"



Port (propiedad de lectura y escritura,numerico)
puerto elegido para escuchar (es conveniente usar un numero mayor a 1024 para evitar conflictos con aplicaciones comunes con puertos ya predeterminados, ejemplos: 5090,8911)

Public: (propiedad de lectura y escritura, verdadero o falso)


Type: (propiedad de lectura y escritura, constante)

  Net.Internet (un pc sera el servidor los otros pc serán clientes)
  Net.Local (el servidor y los clientes funcionan en una misma pc)


X: (propiedad de lectura y escritura, numerico)


Y: (propiedad de lectura y escritura,numerico)

Eventos:
Connection

Public Sub ServerSocket1_Connection()

End



Error

Public Sub ServerSocket1_Error()
 
 
End



Métodos

ServerSocket1.Accept()

ServerSocket1.Close()

ServerSocket1.Listen()

ServerSocket1.Pause()

ServerSocket1.Resume()





Vamos a: Proyecto-->Propiedades-->Componentes y en el cuadro de búsqueda ponemos net y aparecerá en una lista reducida tildamos en gb.net y hacemos clic en ok.


Al hacer esto se activara una pestaña con objetos de red entre ellos ServerSocket.


Ahora creamos un formulario y seleccionamos el icono ServerSocket y arrastramos al formulario y recién ahí estamos prontos para ingresar código y manipular la clase ServerSocket.


jueves, 8 de enero de 2015

Taller 2015

Taller 2015, este programa surgio porque trabajo reparando computadoras y estaba usando un programa free pero con licencias rectrictivas y no se podía acceder al codigo fuente del programa.
Pero la razón mayor fue que ese programa funciona solo en windows (intente hacerlo andar en con wine pero después de varios intentos desistí)y era el único programa por el cual tenia que reiniciar la maquina y usar windows.
Hoy con alegría puedo decir que este programa aunque mal diseñado en su base de datos pero que satisface mis necesidades para el taller de informática y  ni que hablar de mis experimentos en programación.
Les dejo algunas imágenes y su código para que lo usen o experimenten con el.





Descargar código fuente:


Nota: para poder descargarlo hay que registrarse en:
http://www.gambas-es.org/index.php

viernes, 2 de enero de 2015

Sentencias para usar en sqlite3

Buenas gente!

He comenzado un nuevo programa o aplicación llamado Taller 2015 (programa para taller de informática) que maneja una base de datos sqlite3, donde se guardan los servicios que hemos hecho, datos de cliente, de equipo, datos de reparación etc.

para eso necesitamos conocer sobre sql y sus sentencias y es bastante complicado agarrarle la mano, por eso como novato que soy y pensando en los novatos iré poniendo sentencias sql probadas en la parte donde se pueden hacer pruebas dentro de gambas como lo muestra la imagen.
(precauciones estas sugerencias pueden contener errores, si quieres seguridad dirígete a paginas oficiales de sql)

create table  (creación de tablas)

crea una tabla llamada tablataller, con numeración auto incremental y su valor no puede ser null, con tres campos: nombre con tipo de dato string y un valor máximo de 32 caracteres, telefono con tipo de dato integer con un valor máximo de caracteres de 9 y por ultimo domicilio tipo de valor string con un máximo de 255 caracteres permitidos.

create table tablataller (
id_tablataller integer primary key autoincrement not null,
nombre varchar(32),
telefono integer(9),
domicilio varchar(255)
)


select nombre from tablataller order by nombre asc

Selecciona la columna o campo nombre de la tabla tablataller y los ordena de forma  ascendente.


Cuenta los registros de una tabla (Gambas 3.8.4)
select count(*) from infoEmpresa

Cuenta los registros de una tabla y los guarda en una variable  
(Gambas 3.8.4)
Dim Resultado a Result
Resultado = MiConexion.Exec("select count(*) as cantidad from infoEmpresa")
Print Resultado!cantidad


Elimina  la tabla tablataller (Gambas 3.8)
drop table tablataller


Renombrar tabla tablataller  (Gambas 3.8)
alter table tablataller rename to tallercentro 
alter table "1CorintiosX" rename to "1Corintios" 
alter table '2CorintiosX' rename to '2Corintios'

Copiar datos de una tabla a otra (Gambas 3.8)
insert into LucasX (capitulo,versiculo,texto) select capitulo,versiculo,texto from Lucas


Asignar numero de versión a nuestra base de datos y leerlo usando PRAGMA (Gambas 3.8)

Asignar un número entero de versión
pragma user_version=33

Leer que número de versión tiene nuestra base de datos.
pragma user_version


Hacer una consulta si un dato booleano es true o false (Gambas 3.8.4)
si pagado no es true (si es false)
Select * From deudas where not pagado order by ingreso
si pagado es true
Select * From deudas where pagado


SubConsulta (Gambas 3.8.4)

select * from tablataller where id in (select id from tablataller where costo>200)


Borra todos los datos de la tabla tablataller (elimina todas las filas y queda a cero la tabla)
delete from tablataller

También hace lo mismo esto: ConexionJuego.Delete("usuarios")
donde "ConexionJuego" es el nombre de la conexión y "usuarios" el nombre de la tabla a vaciar.


elimina la fila 11 de la tabla tablataller(id es el primer campo de la tabla tablataller y es el índice de la tabla)
delete from tablataller where id=11 


inserta una nueva fila en la tablataller ingresando solo los datos de id y nombre
insert into tablataller (id,nombre) values('12','Carina Maria Sosa') 

 modifica o actualiza el campo nombre del id 1 de la tabla tablataller, por ejemplo si en el campo nombre de la primera fila (id 1) estaba el dato postapase después de ejecutar la sentencia quedara así "postapase novato".
update tablataller set nombre='postapase novato' where id='1' 

Modificar tabla

alter table cliente add column edad

añade a la tabla cliente una columna llamado edad



Crear  view

create view [nombre y edad] as
select edad,nombre
from clientes



Ver  view

ver la vista creada con (create view)
select * from [nombre y edad]



Eliminar  view

drop view [nombre y edad]





Seleccionar y visualizar datos de dos tablas vinculadas por una llave foranea. nuevo!!

motivo y monto son columnas de la tabla deudas, cantidad es una columna de otra tabla llamada entregas.

SELECT motivo,monto,cantidad FROM deudas INNER JOIN entregas ON deudas.id_deuda=entregas.id_deuda (Gambas 3.8.2)

  1. SELECT *  
  2. FROM table_a  
  3. INNER JOIN table_b  
  4. ON table_a.id=table_b.id;

--------------------------- sin explicar ---------------------------------
SELECT nombre, DATE(ingreso) AS ingreso FROM tablataller WHERE id=1




-----------------------------------------------------------------------------------


Tabla de comandos que podemos usar y su significado:

order by = ordena por
order by asc = ordena por orden ascendente
order by desc = ordena por orden descendente

insert into = insertar en

update = modifica o actualiza


Paginas, información, manuales etc