Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Elaborar Clase Para Validar Un Dato De Un Edit (https://www.clubdelphi.com/foros/showthread.php?t=54374)

sdiaz1983 17-03-2008 01:58:55

Elaborar Clase Para Validar Un Dato De Un Edit
 
Código Delphi [-]
unit numerov;
interface
uses Classes, DBTables, QControls, SysUtils,Windows, Messages, Variants,Graphics, Controls, Forms, Dialogs, StdCtrls;
  Type
  Tnumerov= class(TWidgetControl)
  private
   Num: String;
  public
  property nume: String read Num write Num;
  procedure validarn(numero: String);
  end;
implementation
procedure Tnumerov.validarn(numero:String);
Begin
Num:=numero;
if(numero='0') then
showmessage('ES UN NUMERO ENTRE 0 Y 9')
else
showmessage('NO ES UN NUMERO');
End;

end.

Señores del Foro tengan un buen dia.

El motivo de la consulta es la siguiente.

En el codigo anterior (que es un ejemplo) he elaborado una clase para que me valide si el numero que he ingresado es un cero.

Para otro proyecto que estoy haciendo necesito crear dos clases, una que me valide si el dato que he ingresado es un numero pero sin un intervalo definido y por otro lado otra clase que me valide si lo que he ingresado es una cadena de caracteres, he tratado por varios lados pero no se como hacerlo.

Agradezco su ayuda.

Cordialmente

Sergio Diaz

cHackAll 17-03-2008 14:09:24

Código Delphi [-]
procedure Tnumerov.validarn(numero:String);
var Value: Cardinal; Code: Integer;
begin
 Val(numero, Value, Code);
 if LongBool(Code) then
  showmessage('NO ES UN NUMERO')
 else
  begin
   showmessage('ES UN NUMERO');
   if Value < 10 then
    showmessage('...menor a 10');
  end;
end;

Revisar tambien la función TryStrToInt

sdiaz1983 17-03-2008 14:25:28

Un Favor
 
Gracias por su ayuida de antemano, es que intente de efectuar el codigo, me bota una serie de errores, y por favor me puede explicar para que sirve la variable LongBool.

Gracias

eduarcol 17-03-2008 14:44:50

podrias decir cuales son la serie de errores??

cHackAll 17-03-2008 14:50:31

Cita:

Empezado por sdiaz1983 (Mensaje 273729)
...y por favor me puede explicar para que sirve la variable LongBool.

Código Delphi [-]
if LongBool(VariableDe32bits) then

es lo mismo que;

Código Delphi [-]
if VariableDe32bits <> 0 then

0j0; Revisar tambien directiva {$R}

sdiaz1983 17-03-2008 14:50:54

R: Un Favor
 
Cita:

Empezado por eduarcol (Mensaje 273732)
podrias decir cuales son la serie de errores??

NO DISCULPEME POR FAVOR, LOS ERRORE SLOS TENIA YO ACA EN LA APLICACION, UN FAVOR QU EEL AGRADECERIA ES SI POR FAVOR ME PUEDE EXPLICAR EL CODIGO PARA ENTENDERLO, EN PARTICULAR ESTA PARTE.

var Value: Cardinal; Code: Integer;
begin
Val(numero, Value, Code);
if LongBool(Code) then


MIL GRACIAS POR SU AYUDA

cHackAll 17-03-2008 15:01:27

Cita:

Empezado por sdiaz1983 (Mensaje 273737)
...ME PUEDE EXPLICAR EL CODIGO PARA ENTENDERLO, EN PARTICULAR ESTA PARTE.

var Value: Cardinal; Code: Integer;
begin
Val(numero, Value, Code);
if LongBool(Code) then


MIL GRACIAS POR SU AYUDA

CLARO QUE SIII

Cita:

Empezado por (F1) sobre la función
Converts a string to a numeric representation.

Delphi syntax:
procedure Val(S; var V; var Code: Integer);

Description
In Delphi code, Val converts the string value S to its numeric representation, as if it were read from a text file with Read.

S is a string-type expression; it must be a sequence of characters that form a signed real number.

V is an integer-type or real-type variable. If V is an integer-type variable, S must form a whole number.

Code is a variable of type Integer.

If the string is invalid, the index of the offending character is stored in Code; otherwise, Code is set to zero. For a null-terminated string, the error position returned in Code is one larger than the actual zero-based index of the character in error.

Val performs range checking differently depending upon the setting of the $R compiler directive and the type of the parameter V.

Resumen; Val intenta convertir S a un valor numerico. Si lo consigue retorna su valor (entero, real, con signo o no), en la variable V y retorna en Code 0 (cero), caso contrario (S no es reconocida) retorna el error correspondiente en Code (<> 0)

Saludos

sdiaz1983 17-03-2008 15:16:36

Cita:

Empezado por cHackAll (Mensaje 273740)
CLARO QUE SIII



Resumen; Val intenta convertir S a un valor numerico. Si lo consigue retorna su valor (entero, real, con signo o no), en la variable V y retorna en Code 0 (cero), caso contrario (S no es reconocida) retorna el error correspondiente en Code (<> 0)

Saludos

MIL GRACIAS POR SU AYUDA DIOS LOS BENDIGA, TODO ENTENDIDO.


La franja horaria es GMT +2. Ahora son las 08:22:49.

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