Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2010
ioco ioco is offline
Miembro
 
Registrado: ene 2010
Posts: 42
Poder: 0
ioco Va por buen camino
Problema al validar enteros

Saludos!

Estoy aprendiendo a programar y tengo un problema bastante elemental con el cual espero me puedan orientar ya que no entiendo porqué no funciona.


Hice una función para validar enteros tal como la que sigue:

Código:
{
Función que lee un valor entrado y lo asigna a una variable entera si el dato
introducido es entero y que devuelve si se ha realizado la asignación.
}
Function esEntero(temp:string; out numero:integer):boolean;
  Var
    error,x:integer;

  Begin
    Val(temp,x,error);
    If error=0 then
      Begin
        numero:=x;
        esEntero:=true;
      end
    else
      esEntero:=false;
  end;
Esta función funciona bien, a no ser que exceda los límites del rango del tipo Integer.

La cuestión es que he probado usando Longint para las variables x y numero pero no entiendo porque no funciona (he leído y releído la ayuda y no encuentro el fallo).

Les adjunto lo que estoy probando:

Código:
{
Función que lee un valor entrado y lo asigna a una variable entera (64bits) si
el dato introducido es entero y que devuelve si se ha realizado la asignación.
}
Function esEntero64(temp:string; out numero:Longint):boolean;
  Var
    x:Longint;
    error:integer;

  Begin
    Val(temp,x,error);
    If error=0 then
      Begin
        numero:=x;
        esEntero64:=true;
      end
    else
      esEntero64:=false;
  end;
Por si el error estuviera a la hora de llamar la función, aunque no creo, la llamo del siguiente modo en consola:

Código:
Var
  temporal:string;
  entero64:Longint;

Begin
  Repeat
    Write(' Introduce un entero: ');
    Readln(temporal);
  until esEntero64(temporal,entero64);
  Writeln(' El numero introducido es: ',entero64);
Readln;
end.
¿Podrían darme alguna sugerencia?
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema al validar DBEdit con ADOQuery mgp2401 Conexión con bases de datos 1 08-01-2010 16:12:39
extraer valores enteros desde un reg varchar y guardarlos en reg enteros Gabichu SQL 0 12-08-2008 18:44:36
problema al validar fecha sargento elias Conexión con bases de datos 11 09-04-2008 20:10:02
Problema al validar fecha lbidi Varios 1 15-08-2005 22:44:55
problema al validar un TField Er_Manué Conexión con bases de datos 2 26-11-2004 17:10:01


La franja horaria es GMT +2. Ahora son las 16:11:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi