Categorías
- 15m
- adsense
- blogging
- consumo
- desarrollo y programación
- .htaccess
- .net
- ajax
- ajax.net
- ant
- apache
- ascii
- bases de datos
- bbpress
- css
- delphi
- dom
- dreamweaver
- eclipse
- emule
- expr. regulares
- firefox
- formularios web
- ftp
- gmail
- google-gwt
- hibernate
- html
- iis
- internet explorer
- java
- javascript
- librerias
- linux
- microformats
- ofimática
- php
- servicios web
- ssl
- ubuntu
- vbscript
- wiki
- wordpress
- xampp
- xml
- economía
- hardware
- hogar
- matemáticas
- motos
- ofertas
- opinión
- recetas
- salud
- Sin categoría
- sistemas operativos
- tecnologia
- tramites y legislación
Delphi: conceptos basicos, trucos y apuntes de interés
En este artículo es una especie de chuleta / quick reference card / resumen / recopilación de información básica y necesaría en día a día de la programación en Delphi.
Conforme lo voy elaborando intentaré mantener un estilo resumido poniendo únicamente la información más relevante (los detalles siempre se pueden consultar en la ayuda, que es bastante extensa).
Estructura de una clase
Notas:
interfaceson visibles en la unit y allí donde la unit esté en la cláusulauses.implementationson visibles sólo en la unit.Constantes especiales
false,true,nil,MAXWORD,MAXINT,MAXDOUBLE,MINDOUBLE, etc.Tipos de datos
Resumen de los tipos de datos más utilizados.
Números
Funciones más importantes para la manipulación de números.
NNNal número más cercano conddecimales de precisión.Texto
Funciones más importantes para la manipulación de cadenas de texto:
argSysUtils.CompareText(s1,s2)
sy devuelve una cadena dencarácteres comenzando por el índiceincarácteres descomenzando por el índiceiStrUtils.RightStr(s,n)
ncarácteres comenzando por la izquierda / derechancarácteres comenzando por el índiceisSysUtils.UpperCase(s)
sen manúsculas / minúsculassalenncarácteresccen mayúsculasFunciones para realizar conversiones de texto a otros formatos:
sa Currency.defsi errorsa Integer.defsi errorsa real.defsi errorsa TDateTime.defsi errorSes convertido a número y almacenado enV.Code> 0 indica la posición del primer error ens.Ses convertido a número y almacenado enV.Code> 0 indica la posición del primer error ens.Funciones para realizar conversiones a texto:
valuea cadena de textopatternpara construir una cadena de texto.%d,%f, etc. enpatternson reemplazados por los valores enargsdatetimecomo una cadena formateada utilizandopattern. Sipatternestá vacío utiliza formato de fecha corta.valuecomo una cadena formateada utilizandopattern.valueen hexadecimal conNdígitos.valuecomo entero.Fechas
Funciones para la manipulación de la fecha y la hora.
da cadena utilizando el formato localsa fecha TDateTime utilizando el formato localDateenY,MyDfechaenH,M,SyNY,MyDH,M,SyNfechaen cadena de texto y formateada conformatArrays
Cómo declarar, inicializar y utilizar los arrays.
Nota: SetLength crea un array mayor (o menor) y copia los valores existentes al nuevo array
Sets
Enumerations
SubRanges
Records
Ficheros
Funciones para el manejo de ficheros
AExtdebe incluir el caracter ‘.‘dirtruesidirexistedrive(0 = current, 1 = A, etc.)AFileAFileAFilepath. Si no existe intenta crear todos los directorios necesarios. Devuelvefalsesi no pudo.dirControl de flujo
for,repeatowhile)for,repeatowhile)Combinaciones de teclado
Estas son algunas combinaciones muy útiles de teclado:
de teclado
+ UpArrow
El ciclo de vida de un formulario
Nacimiento
Secuencia de creación de un formulario:
OnCreate»OnShow»OnActivate»OnPaintTForm(solo una vez). Cuando se está creando un formulario y su propiedadVisibleesTrue, ocurren la siguiente secuencia de eventos:.Cualquier objeto creado en el evento
OnCreatedebe ser destruido enOnDestroyVisibleaTrue, o al llamar aShowoShowModal.OnPaintes llamado antes de que ningún control sea pintado en el formulario.Muerte
Secuencia de destrucción:
OnCloseQuery»OnClose»OnDeactivate»OnHide»OnDestroyCanClosedetermina si permitimos el cierre del formulario o noOnCloseQueryindica que puede cerrarse, se llama a este método. Última oportunidad de abortar el cierre. El parámetroActiontiene cuatro valores:caNone. El formulario no puede cerrarse (como ponerCanClosea False enOnCloseQuery)caHide. En lugar de cerrarlo, lo ocultamos.caFree. El formulario se cierra y la memoria que ocupaba es liberada.caMinimize. En lugar de cerrarlo, lo minimizamos.Gestión dinámica de la vida de un formulario
ShowoShowModalcaFree()en el métodoOnClosedel formularioMensajes y diálogos
Veamos unos ejemplos de mensajes y diálogos básicos. Para ello se utilizan las funciones MessageDlg y MessageBox (la segunda da más versatilidad). Ambas devuelven un valor para saber qué botón ha pulsado el usuario.
En caso de que necesitemos saber el botón pulsado (este caso y el anterior) podemos usar una estructura if o también una case como el ejemplo:
Trabajar con archivos
miArchivo(del tipoTextFile) al archivorutaArchivo(pe.c:dirarchivo.txt)miArchivoen el controlMemo1miArchivocomo nuevo (descarta contenido, si es que existía)miArchivocon acceso de lectura y escrituramiArchivopara añadir contenido al final (como los archivos log)Read(miArchivo)para abrir en modo solo lectura (necesario si el archivo es de solo lectura, pues sino daría error). Muchas veces no se usa porque por defectoFileModevalefmOpenReadWritAqui puedes ver algunos ejemplos.
Trucos varios
Enlaces de interés
Otros artículos de esta serie:
[seriesposts show_date=0 order=asc]