PDA

Ver la Versión Completa : Manejo de excepciones


Valee
06-02-2016, 17:50:05
Hola chicos. Estoy queriendo hacer un control para una clave que debe seguir un patron. Me exigen trabajar con archivos. Aca les dejo el codigo

unit LibAuxVerificacion;

interface
//Verificacion de la clave ICR--> CCnnnCnn

Function VerificarICR(cod: string):boolean;
Function SonLetras(cadena:string):boolean;
function SonNumeros(cadena:string):boolean;
//------------------------------------------------------------------------------

implementation

//Verificacion de la clave ICR--> CCnnnCnn

Function VerificarICR(cod: string):boolean;
var caractLetras,caractNum: string;
begin
if (Length(cod)=8)
then
begin
caractLetras:=cod[1]+ cod[2]+cod[6];
caractNum:=cod[3]+cod[4]+cod[5]+cod[7]+cod[8];
if SonLetras(caractLetras) and SonNumeros(caractNum)
then
VerificarICR:=true
else
VerificarICR:=false
end
else
VerificarICR:=false
end;

Function SonLetras(cadena:string):boolean;
// Metodo auxiliarn q recorro la cadena para saber si son todas letras y no numeros
var son:boolean; i:integer;
begin
son:=true;
i:=1;
repeat
if (cadena[i]>='A') and (cadena[i]<='Z')
then
i:=i+1
else
son:=false;
until (son=false) or (i>3);
SonLetras:=son;
end;

function SonNumeros(cadena:string):boolean;
// Metodo Auxiliar si salta la excepcion entonces hay caracteres que no son numeros
begin
try
begin
StrToInt(cadena);
SonNumeros:=true;
end
except on exception do
SonNumeros:=false;
end;
end;

Les dejo adjunto el error que me tira. Lo que probe fue ir a tool y sacar el control de excepciones, pero el error sigue y ya nose como corregirlo. Muchas gracias por la ayuda! =)

AgustinOrtu
06-02-2016, 18:10:35
Yo creo que el error es claro; no existe la funcion StrToInt porque la misma esta definida en la unidad SysUtils

Lo mismo para la clase Exception



implementation

uses
SysUtils;

// resto del codigo

Valee
07-02-2016, 21:23:28
Gracias! era eso que dijiste, lo pase de alto. Gracias=)