Archivo Mensual: marzo de 2017

Mar 28

Convertir boolean a string

Si bien cualquier programador es capaz de hacer una función que reciba una variable del tipo boolean y devuelva una cadena de caracteres (string) en pocos minutos, ¿para que reinventar la rueda? El título de esta entrada, en sí está mal, pues sabemos que en Pascal una variable no puede cambiar de type, pero se …

Continuar leyendo »

Mar 26

Arrastrar y soltar entre listas (Drag and Drop)

Lo primero a tener en cuenta es que lo que se arrastra de un contenedor tiene que ser compatible con el contenedor receptor. Lo habitual es que se arrastren y suelten strings (cadenas) entre listas de strings, es lo más básico. En el ejemplo se arrastrará y soltará desde una lista del tipo TFileListBox a …

Continuar leyendo »

Mar 21

TTimer

El componente TTimer es un temporizador con un intervalo mínimo de un milisegundo aproximado aunque es recomendable establecer un intervalo mínimo de 10 milisegundos para que se aproxime más a la realidad, si el intervalo se establece en 100 o 1000 entonces se obtendrá un mejor resultado. Free Pascal cuenta con varios temporizadores, siendo TTimer …

Continuar leyendo »

Mar 20

Obtener la lista de tablas de una base de datos SQL

Es algo muy simple desde consola o en tiempo de diseño, pero en tiempo de ejecución? También es sencillo, lo difícil fue encontrar cómo hacerlo. Resulta que Zeos (ZeosLib), más precisamente su principal componente, ZConnection, posee un procedimiento llamado GetTableNames que nos devuelve un parámetro del tipo TStrings pasado como referencia (lógico, si no fuese …

Continuar leyendo »

Mar 17

DBGrid: seleccionar una columna

El componente DBGrid carece de una opción para marcar una columna de la forma en que lo hacemos con una fila con dgRowSelect, es decir, no tenemos la opción dgColSelect. Lo cual no significa que no podamos hacerlo, de hecho el código es bastante simple: Basta con dos líneas de código para el evento TitleClick …

Continuar leyendo »

Mar 16

Como simular un click

Por ejemplo, un click en un botón que tiene definido el evento OnClick que a su vez pertenece a una clase que generalmente es un formulario. No puede llamarse como si fuese un procedimiento o una función, si bien está declarado como un procedimiento, es un evento. Si tengo declarado este evento en el típico …

Continuar leyendo »

Mar 08

Pausar un programa con Delay y Sleep

Delay es un procedimiento de Free Pascal disponible en la unidad Crt que permite pausar el programa en x milisegundos. Es sumamente útil cuando queremos mostrar un mensaje al usuario y que lo lea antes de hacer click casi por acto reflejo sin leer. Para utilizarla simplemente escribimos Delay (5000); //Pausa de 5 segundos El …

Continuar leyendo »

Mar 07

Volver a cero el rowid de SQLite

Como reiniciar o “resetear” el rowid de una tabla en SQLite? Muchas veces definimos el famoso campo ID como integer, primary key, autoincrement, unique para que SQLite se encargue de él y lo hace, guardando el valor del último registro y cada vez que agregamos uno toma esa valor y lo incrementa en uno. Es …

Continuar leyendo »

Mar 07

Lazarus problema con acentos: solución.

A veces puede pasar que de un día para el otro y sin recordar haber hecho ningún cambio en nuestro IDE ni en el sistema operativo, Lazarus no acentúa, dicho de otra manera, se come los acentos o los duplica en el inspector de objetos. Y el resto de los programas que tenemos instalados no …

Continuar leyendo »

Mar 07

Crear tablas en SQLite con código Free Pascal

Como casi todo en programación, hay varias formas de hacer una misma tarea y ésta no es la excepción. Crearemos una base de datos y una tabla. También le agregaremos un registro a la tabla, todo con código Free Pascal desde Lazarus y utilizando un solo componente de Zeos Lib que no facilita las tareas …

Continuar leyendo »

Entradas más antiguas «