Entradas de la categoría 'Free Pascal'

May 01

Cambiar color de varios TEdit OnEnter OnExit

Si tenemos pocos (2 o 3) Tedit en un formulario, podemos rápidamente hacer uso de los eventos OnEnter y OnExit de cada edit y listo, total, son pocos. Pero si tenemos muchos TEdit cómo crear un evento para OnEnter y otro para OnExit que sirva para todos los Edits, sean 1, 2, 10 o 50. …

Continuar leyendo »

Abr 11

DBGrid: Formato de la columna según el tipo de campo

En tiempo de diseño y conociendo la tabla es una cosa, pero en tiempo de ejecución y sin saber nada de la tabla, ya es distinto. Para empezar nos encontramos con tipos de datos enumerados y por ende, debemos conocerlos. Luego hay que recorrer las columnas o campos y definir el formato según lo que …

Continuar leyendo »

Abr 11

Obtener el string de un enumerado

No existe algo así como EnumToStr pero desde luego hay formas sencillas de obtener o “convertir” (entre comillas) el valor en cadena de caracteres de un enumerado. ¿Cómo? Con el procedimiento Str. Ejemplo: Str ( ZQuery1.FieldDefs.Items[i].DataType, s ); showmessage(s); A Str le pasamos el primer parámetro que es el enumerado y el segundo que es …

Continuar leyendo »

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 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

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 »

Mar 02

Crear, leer y guardar un archivo de texto plano.

Caso: crear un archivo de texto donde se guarde el directorio o carpeta seleccionada por el usuario. Consultar dicho archivo. El método funciona tanto en GNU/Linux como en Windows. Crear y guardar: Este evento es lanzado cuando el usuario presionar el botón seleccionar directorio. Las variables utilizadas son: f del tipo TFileStream, s del tipo …

Continuar leyendo »

Entradas más antiguas «