Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   establecer un numero limitado de caracteres (https://www.clubdelphi.com/foros/showthread.php?t=76937)

naty_prog 06-12-2011 19:05:11

establecer un numero limitado de caracteres
 
hola miembros de Club Delphi. les comento que tengo un form en el cual hay un dbedit que es utilizado para el numero de documento;necesito establecer un control de los datos que se ingresan.lo que deseo saber es como hacer para que solo puedan ingresar si o si 8 digitos(numeros) ya que todos los nº de documento poseen esa cantidad,"no se puede ingresar de menos",ese es el problema que quiero resolver porque lo demas lo tengo echo.
desde ya gracias a todos y espero ansiosa sus respuesta y colaboración.Saludos....

ecfisa 06-12-2011 19:10:08

Hola naty_prog.

Podés usar propiedad MaxLength del TDBEdit.

Saludos.

naty_prog 06-12-2011 19:47:33

hola, mira,tengo una sentencia echa para esa propiedad para cuando se quiere ingresar mas de 8 digitos, lo que yo necesito es para cuando se ingresa de menos.me sirve igual esta propiedad?
gracias por tu respuesta.

marcoszorrilla 06-12-2011 19:52:12

En el evento OnExit:
Código Delphi [-]
If Length(Dbedit1.Text) <  8 then
begin
ShowMessage('Atención. Debe ingresar 8 caracteres.');
DbEdit1.SetFocus;
end;

Un Saludo

ecfisa 06-12-2011 20:06:09

Hola naty_prog.

Otra solución puede ser:
Código Delphi [-]
...
 private
    procedure TuCampoSetText(Sender: TField; const Text: String);
 end;
...
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  DataSet.FieldByName('CAMPO1').OnSetText :=  TuCampoSetText;
  DataSet.FieldByName('CAMPO3').OnSetText :=  TuCampoSetText;
  // Asignalo a los demás campos en que desees evaluar la condición ( <> 8)
end;

procedure TForm1.TuCampoSetText(Sender: TField; const Text: String);
begin
  if Length(Text) <> 8 then
  begin
    MessageBeep(MB_ICONERROR);
    Abort;
  end;
end;
Asigné el evento TuCampoSetText por código para que sea mas entendible, pero si tenés creados los campos persistentes, podés hacerlo desde el Object Inspector.

Saludos.

naty_prog 09-12-2011 17:55:41

hola a todos
 
muchisimas gracias por sus respuestas,no saben la gran ayuda que nos dan a mi compañero de tesis y a mi, ya que no nos dan los tiempos para avanzar con la misma pero hacemos lo que podemos.mis saludos y mejores deseos a todos...hasta luego


La franja horaria es GMT +2. Ahora son las 03:18:30.

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