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, 21 de enero de 2012
Algunos comandos de consola, interesantes para ayudarnos a programar.
Estoy haciendo una aplicación, y algunas veces, durante la depuración del programa, se queda "colgado" aparentemente el ordenador.
¿que hacer en estos casos?
Si funciona el teclado (por ejemplo, si le damos la tecla de bloqueo de numeros, y se enciende la luz), podemos unar la combinación de CTRL+ALT+Fn (n=1,2,3,4,5,6) para irnos a una consola y ver que esta ocurriendo.
Con CTRL+ALT+F7, regresamos al entorno grafico.
Si pulsamos, por ejemplo CTRL+ALF+F!, pasamos a una consola (habrá que introducir de nuevo nuestro usuario y clave)
Una vez en la consola, podemos usar el comando
$top
o
$htop
(este último tiene un entorno gráfico de consola y hay que instalarlo, ya que no viene por defecto en Ubuntu)
Estos nos muestran información sobre los procesos cargados en memoria (por ejemplo, la carga de cada uno en la CPU y el consumo de Memoria
Otro comando interesante es
$kill
El cual puede mandar distintas señales a los procesos (por ejemplo, intentar cerrarlos o directamente matarlos).
En la captura de pantalla vemos que el proceso PID 3024, es el que htop.
Si entramos en otra consola (pulsando, por ejemplo, CTRL+ALT+F2) y le damos la orden:
$kill 3024
El programa htop, se parará.
Otro comando interesante es
$lsof
Nos muestra mucha información acerca de lo que se esta ejecutando en nuestro ordenador. (ver: http://es.wikipedia.org/wiki/Lsof y pagina man de lsof (traducido por google)
Nos muestra tanta información que tendremos que "filtrarla", para ello usamos el comando grep y more
Por ejemplo:
$lsof |grep gbx2 |more
Podemos ver que esta usando gbx2 (gambas).
Otro ejemplo:
$lsof |grep gbx2 |more | grep sqlite
Estamos filtrando toda la información donde aparezca gbx2 y sqlite
Caso práctico:
Yo lo uso cuando estoy programando en el IDE de gambas, y al ejecutar el programa que estoy haciendo se me queda "pillado el ordenador", como habrá dos procesos (PID distintos), uno del IDE de gambas y otro del programa haciendo, puedo parar el programa sin parar el IDE de programación de gambas.
Saludos
Nota:
Otra comando interesante es
$nano
Es un editor de texto con el cual podemos editar archivos de configuración.
miércoles, 11 de enero de 2012
Gambas en Twitter: #gambas_es y @gambas_es_org
martes, 10 de enero de 2012
Nueva version MapBD v.0.1.0
Nueva Versión MapBD
versión 0.1.1
Mejoras en Consultas MultiTablas
He seguido trabajando el este programa, ya que me encontraba con la dificultad de poder trabajar con sentencias sql, que manejaran varias tablas, y mostrar sus resultados en un gridviews...
Pues bien, ya le he incluido esa mejora.
Ahora (además de las clases que creaba la antigua versión), crea dos nuevas clases, para manejar los "registros de datos" que salen de resultado en las sentencias con multiples tablas.
Se llaman,respectivametne:
a) BD{nombre_base_de_datos}Registro
Que es la que contiene todas las propiedades (coinciden con todos los campos que tienen todas la tablas de la base de dato, siendo el nombre de la propiedad igual al nombre de la tabla+guion bajo ("_") +nombre del campo
b) BD{nombre_base_de_datos}
Esta clase va a tener los métodos con la que trabajaremos con la clase anterior.
En esta versión tiene los siguientes métodos:
PUBLIC SUB Abrir()
abre la conexión a la base de datos
PUBLIC SUB Cerrar()
cierra la conexión de la base de datos
PUBLIC FUNCTION sql(consulta AS String) AS result
ejecuta una consulta SQL y devuelve un "result"
PUBLIC SUB resultObject(resultado AS Result) AS object[]
convierte un "result" en Objetos
PUBLIC SUB EscribeObjetos(t AS Object[])
escribe los objetos en la consola
PUBLIC FUNCTION GridObjetos(t AS object[], grid AS gridview) AS
gridview
formatea un gridview dado (grid), con los datos de los objetos obtenido en la sentencia anterior.
Os lo explico con el ejemplo, que creo que se verá mucho más claro, su utilización:
"En el programa de Consulta Medica, queremos que se nos muestre un gridviews, con todos los enfermos y la enfermedad que padecen. Nota: Hay alguno que padecen más de una enfermedad."
La sentencia SQL seria:
Select nombre,Apellido,TablaExpediente.enfermedades
FROM TablaEnfermo,TablaExpediente
WHERE tablaenfermo.idenfermo=tablaexpediente.idenfermo
¿Como lo haríamos con los nuevos métodos?
DIM paso2 AS NEW BDControlConsulta 'nueva Clase que maneja Resultados de sentencias SQL que usan Varias Tablas
DIM obj AS Object[] 'creamos un array de objetos, que van a contener los resultados
Dim resultado as result 'contiene el resultado de la consulta sql
'abrimos la conexion a la base de datos
paso2.Abrir
'obtenemos el resultado de la sentencia SQL
resultado=paso2.sql("SELECT nombre,Apellido,TablaExpediente.enfermedades FROM TablaEnfermo,TablaExpediente WHERE tablaenfermo.idenfermo=tablaexpediente.idenfermo")'extraemos los objetos
obj = paso2.resultObject(resultado)
'rellemos el gridviews, con los objetos (incluido el titulo de cada columna)
GridView1 = paso2.GridObjetos(obj, GridView1)
Y el resultado en pantalla es....
¿Resulta muy cómodo verdad? Y solo en 7 lineas de código !!!
Podéis descargaros el código fuente en: MapBD-0.1.2.tar.gz
Podéis descargaros el ejemplo en: ConsultasMed-0.0.2.tar.gz
Manual: CONSULTA MEDICA ejemplo de uso del MapBD.pdf
Nota:
- Para que se añadan estos métodos a vuestro proyecto, debéis de ejecutar la nueva versión de MapBD, para actualizar las clases.
- El código generado en compatible con Gambas2 y Gambas3
- Nuevas mejoras añadidas:
Version 0.1.2 (27 de marzo de 2013)
-Corregido bug de linea mal comentada.
-Genera módulo llamado conectar que es el encargado de abrir la base de datos (a añadir ademas de los ficheros de clases)
Version 0.1.1 (31 de marzo de 2012)
- Nuevas opciones y funciones.
'corregido el error de borrado..
'añadido funciones -> ToOBj
'lista: genera una lista despendiendo de un campo de un resultado
'abre un archivo determinado (es opcional indicarlo)
En programa esta en pleno desarrollo, si encontrais algún bug o alguna mejora, me lo comentais.
Suscribirse a:
Entradas
(
Atom
)






