![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
¿Qué entiendes por implantar una unidad?
// Saludos |
#2
|
||||
|
||||
Meter el procedure necesario en una unit aparte para no tener que cargar con procedures y funciones no necesarias
__________________
:) |
#3
|
|||
|
|||
StrToInt no es nada mas que un wrapper a la funcion Val, lo unico que hace de mas es hacer saltar una excepcion (lo hace la funcion ConvertErrorFmt) si la conversion es erronea, como se ve en el codigo fuente:
Código:
function StrToInt(const S: string): Integer; var E: Integer; begin Val(S, Result, E); if E <> 0 then ConvertErrorFmt(@SInvalidInteger, [S]); end; Si quieres redefinir StrToInt el if que comprueba el error debes eliminarlo completamente y no utilizar excepciones para gestionar los errores: si utilizas excepciones es obligatorio que incluyas la unidad SysUtils ya que en ella se define el objeto base Excepcion. Quizas sea mas sencillo que uses StrToIntDef si es posible, ya que no usa excepciones para gestionar el error, de modo que no te dara ningun problema al copiarla a una unit propia: Código:
function StrToIntDef(const S: string; Default: Integer): Integer; var E: Integer; begin Val(S, Result, E); if E <> 0 then Result := Default; end; |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
||||
|
||||
Ya me quedó claro.. ¡Muchísimas gracias!
__________________
:) |
![]() |
|
|
![]() |
|