FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Una función muy útil, muchas veces uno necesita algo así y no se detiene a pensar que podría ayudarle, gracias Al .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#2
|
||||
|
||||
Una duda, curiosidad: ¿por qué el espacio en blanco tras la coma?
|
#3
|
||||
|
||||
Cita:
Hola Casi, es sólo una cuestión de estilo, para mayor legibilidad. |
#4
|
||||
|
||||
ghLastErrorMsg y ghRaiseLastError
Quienes han usado directamente la API de Windows tendrán muy presente que esta no suele elevar excepciones al ocurrir una situación de error. En lugar de eso, la API de Windows establece un código de error numérico que podemos recuperar con la función GetLastError. A veces es necesario convertir este código de error a algo que sea relativamente comprensible para el usuario de la aplicación (aunque más útil para el programador que recibirá el reporte del usuario), y para ello Delphi cuenta con la función SysErrorMessage, la cual envuelve a la función FormatMessage del sistema operativo.
También es común que, una vez obtenido el texto del error, queramos elevar una excepción Delphi con él. Así ocurre por ejemplo en este caso: Con GHF, para obtener el texto del error, podemos usar la función ghLastErrorMsg: Pero podemos simplificar un poco más toda la sentencia usando la función ghRaiseLastError: Internamente, esta función llama a ghLastErrorMsg y eleva una excepción con el texto del error. Además, ghRaiseLastError admite un parámetro opcional de tipo String para indicar el formato a dar al mensaje de error. Si no se especifica el formato, se utiliza el predeterminado '%s (GetLastError %d).', viéndose el mensaje de excepción como en este ejemplo: El formato se aplica con la función estándar Format que todos conocemos. "%s" indica en qué parte del mensaje de excepción debe ghRaiseLastError poner el texto del error devuelto por ghLastErrorMsg. "%d" significa que en esa posición debe aparecer el código de error numérico que arrojó GetLastError. Cualquiera de los dos comodines puede ser omitido, por lo que el formato de la excepción es totalmente flexible. Sólo considerar que en la llamada interna a Format, el texto del error es el primer parámetro y el código numérico el segundo. Otro ejemplo: Resultado: Posteriormente agregaré la documentación detallada de estas dos funciones al manual de referencia. Un saludo. Al González. Última edición por Al González fecha: 22-10-2013 a las 00:40:04. |
#5
|
||||
|
||||
Me alegra saber que en el club hay compañeros que sí aprecian y valoran de buena fe los ejemplos que he venido escribiendo sobre el uso de GH Freebrary.
Pongamos uno más, simplificando ligeramente este código del compañero wilcg: La función ghQuotedSQLDate convierte un valor de tipo fecha en su representación literal SQL, es decir, bajo el formato universal aaaa-mm-dd y con una comilla a cada lado. La fecha de hoy, por ejemplo, queda como '2014-08-22' lo cual permite añadirla a cualquier sentencia SQL como el Select del ejemplo. Sin el potencial problema de la configuración regional del sistema operativo o del motor de la base de datos. |
#6
|
||||
|
||||
Cita:
¡¡Gracias, compadre!!
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
#7
|
||||
|
||||
. Tengo que dedicarle algo de tiempo, pero a veces somos tan cabezotas....
__________________
http://www.gestionportable.com |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sondeo sobre la biblioteca GH Freebrary | Al González | [GH Freebrary] | 23 | 08-02-2015 21:12:03 |
GH Freebrary para Delphi XE4 | Al González | [GH Freebrary] | 18 | 22-09-2014 18:24:04 |
GH Freebrary para Delphi XE2 | Al González | [GH Freebrary] | 7 | 12-01-2014 08:49:35 |
Avanzando con GH Freebrary | Al González | [GH Freebrary] | 13 | 23-03-2013 07:08:03 |
Introducción a GH Freebrary | Al González | [GH Freebrary] | 0 | 18-03-2013 10:11:54 |
|