![]() |
Exite función para asignar otro valor si es null
Hola a todos:
quisiera saber si en Delphi existe alguna funcion en la cual determine si el valor de una variable o campo viene en null asigne otro valor por default como en SQL Server ISNULL(variable, 0) ó ISNULL(variable, 'X') haber si algien me puede ayudar, muchas gracias |
Hola:
La función assigned te servirá para tal próposito. Saludos. |
Hola,
A lo mejor habría que tener en cuenta cierta nota que aparece en la ayuda de Delphi para la función "Assigned": Cita:
No sé. Me ha parecido conveniente comentarlo por lo que pudiera dar que pensar. |
Ya que se habla de Assigned, tambien es necesario hablar de FreeAndNil(p) de esta forma, primero se cambia el valor de p a nulo, y despues se libera la memoria de "p". Si se produjera una excepción al tiempo de liberar el objeto "p", la variable ya apunta a nulo, por tanto, se puede seguir usando sin problemas; aunque obviamente habría que estudiar por qué no se liberó correctamente y corregirlo.
En caso de usar Arrays, GetMem, etc, FreeAndNil no puede usarse, pero siempre está el recurso de hacer un dispose(p) y seguidamente la asignación p:= nil, para asegurarnos. Un saludo |
Resp
Usar unasigned para asignar un nulo.
|
lo que quiero hacer es lw_total := isnull(var1,0) - isnull(var2,0) - isnull(var3,0) - isnull(var3,0)
es decir que si no trae valor, ponga cero, para que pueda hacer la operación para no estar haciendo varios if's |
Cuidado: ¡NULL y NIL no es lo mismo!
Assigned nos dice si un puntero apunta a 0, o sea es nil. Null en Delphi indica que un Variant no tiene valor asignado. Podrías hacer:
|
La franja horaria es GMT +2. Ahora son las 01:56:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi