Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   restringir valores (https://www.clubdelphi.com/foros/showthread.php?t=16203)

Mario1980 19-11-2004 13:50:42

restringir valores
 
Hola, la duda de hoy es....
Tengo una tabla paradox, en la cual existen campos que solo permiten ingresar determinados valores, por ejemplo temgo un campo AMPM en el que se permiten ingresar A,P y C ( se especifican estos valores en el picture ), estoy utilizando delphi 2 y cuando cargo este campo en un DBField y lo ejecuto ingreso cualquier valor e igualmente lo toma, intente validar esto desde codigo pero si lo hago aunque ingrese los valores correctos igual me da error, alguien sabe porque?.
PD: estas tablas son utilizadas por un programa hecho en PARADOX 10, y funcionan correctamente.
Gracias a cualquiera que me ayude.

Mario1980 21-11-2004 15:22:35

a nadie se le ocurre nada?
 
idem titulo

Lepe 21-11-2004 17:49:35

Una solución es poner un DBComboBox, o un DBListBox para que solo elija los valores que tu quieres.

Si los valores dependen de otra tabla, puedes usar un DBLookupComboBox.

Si necesitas que sea un DBEdit, pues entonces en el evento BeforePost de la tabla miras el valor y decides si quieres aceptar el valor del campo o no.

Tambien puedes usar el evento OnValidate del campo en cuestión.

Código Delphi [-]
 procedure TAblaBeforePost(Dataset:TDataset);
 begin
   if  campo.asstring <> 'A' then
   begin
       ShowMessage('solo acepto una A ');
       sysutils.Abort;  // no dejamos guardar;
   end

Seguro que te sirve alguno de estos métodos en Delphi 2

Saludos

marcoszorrilla 21-11-2004 18:06:11

Código Delphi [-]
  procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  begin
    if not (key in ['A'..'C']) then
    begin
    key:=#0;
    ShowMessage('Carácter inválido.');
    end;
  end;

Un Saludo.


La franja horaria es GMT +2. Ahora son las 01:04:58.

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