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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Una forma puede ser:
Código Delphi [-]
procedure TForm1.FormShow(Sender: TObject);
begin
  LongTimeFormat:= 'hh:mm:ss';
  DataSet1.FieldByName('HORA').EditMask:= '!90:00:00;1;_';
  ...
end;

procedure TForm1.DataSet1HORASetText(Sender: TField; const Text: String);
var
  Hora,m1,m2,
  t1,t2: TTime;
  aux: string;
begin
  aux:= Text;
  // Rango turno mañana
  m1:= StrToTime('08:00');  
  m2:= StrToTime('12:00');
  // Rango turno tarde
  t1:= StrToTime('16:00');  
  t2:= StrToTime('20:00');
  Hora:= StrToTime(aux);
  DataSet1.Edit;
  if ((ComboBox1.Text = 'MAÑANA') and
     ((Hora < m1) or ( Hora > m2))) or
     ((ComboBox1.Text = 'TARDE') and
     ((Hora < t1) or (Hora > t2))) then
  begin
    ShowMessage('Horario no permitido en el turno elegido');
    DataSet1.Cancel;
  end
  else
    (Sender as TField).AsDateTime:= Hora;
end;

Saludos.
Responder Con Cita
  #2  
Antiguo 12-12-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 17
gonza_619 Va por buen camino
hola, perdon por no entender bien, unas preguntas.

DataSet1.FieldByName('HORA').EditMask:= '!90:00:00;1;_';

esta parte seria table1.fieldbyname.... o se puede hacer directamente por dataset?

y esta parte:
aux:= Text; /// text de donde obtengo esta variable?

y tambien en
DataSet1.Edit;/// aca estaria modificando desde el dbedit? o directamente desde el table?
gracias perdon por tantas preguntas.
Responder Con Cita
  #3  
Antiguo 12-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Gonza.

El DBEdit es la representación visual de un campo de un DataSet, asi que es lo mismo asignar la máscara con la línea: DataSet1.FieldByName('HORA').EditMask:= '!90:00:00;1;_'; que desde el editor de máscaras del campo. Puse el código
por que se presta menos a confuciones que explicar el proceso visual.

La variable aux me quedó de una prueba, perdón.

En la línea: DataSet1.Edit; estoy poniendo el DataSet en modo edición. Te agrego el mismo ejemplo con algunos cambios
que creo te van a aclarar como se hace lo mismo pero referenciando el DataSet desde el parámetro Sender de tipo TField.

Código Delphi [-]
procedure TForm1.DataSet1HORASetText(Sender: TField; const Text: String);
var
  Hora,m1,m2,
  t1,t2: TTime;
begin
  // Rango turno mañana
  m1:= StrToTime('08:00');
  m2:= StrToTime('12:00');
  // Rango turno tarde
  t1:= StrToTime('16:00');
  t2:= StrToTime('20:00');
  Hora:= StrToTime(Text);
  (Sender as TField).DataSet.Edit;
  if ((ComboBox1.Text = 'MAÑANA') and
     ((Hora < m1) or ( Hora > m2))) or
     ((ComboBox1.Text = 'TARDE') and
     ((Hora < t1) or (Hora > t2))) then
  begin
    ShowMessage('Horario no permitido en el turno elegido');
    (Sender as TField).DataSet.Cancel;
  end
  else
    (Sender as TField).AsDateTime:= Hora;
end;


Un saludo.

Última edición por ecfisa fecha: 12-12-2010 a las 10:21:45.
Responder Con Cita
Respuesta


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
validar dbedit q muestra horario gonza_619 Varios 9 07-12-2010 19:52:46
validar un dbedit moyo18 Conexión con bases de datos 32 08-01-2009 20:19:11
Validar un Dbedit? kman Varios 10 13-03-2007 04:07:11
Validar un DBEdit con delphi interbase servicomp Conexión con bases de datos 8 06-08-2006 16:27:11
validar dbedit yeison Cristman Conexión con bases de datos 1 29-07-2006 21:55:56


La franja horaria es GMT +2. Ahora son las 14:08:03.


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