Hola amigos
tengo que realizar una pequeña validacion en un
int de 11 digitos, el codigo que uso es el siguiente
Código:
int a,b,c;
a = StrToInt(DBEdit11->Text);
c = 1;
for (int i = 0; i <= 12; i++)
{
b = a / c;
c = c * 10;
if (i == 11){}
else
{
if (b == 0 && i < 11)
{
ShowMessage("Al numero insertado le faltan digitos " + IntToStr(b));
Abort();
}
if (i >= 11 && b != 0)
{
ShowMessage("Al numero insertado le sobran digitos " + IntToStr(b));
Abort();
}
}
}
Al correr me devuelve un error diciendo que el numero no es un valor
int valido. Me corre bien hasta 10 digitos o sea 1234567891 pero en cuento le pongo el digito numero 11 o sea 12345678912 ahi me da el siguiente error
Código:
---------------------------
Debugger Exception Notification
---------------------------
Project PROJECT.exe raised exception class EConvertError with message ''12345678912' is not a valid integer value'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
Alguna idea de como solucionarlo ???
Gracias de antemano
__________________
Nunca esta de más volver a ver la
"Guia de Estilo" o
"La Otra Guia de Estilo". Recuerda siempre usar los
"Tags" para una mejor legibilidad de tu código.
Cuando miras fijamente al abismo, este te devuelve la mirada
oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________