Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Choclito.

Proba este código a ver si hace lo que estas buscando:
Código Delphi [-]
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  // variables privadas a Form1
  FValor:= '';
  FBlink:= False;
  // Timers
  TimerBlink.Interval:= 200; // velocidad de parpadeo
  TimerSound.Interval:= 30000; // Beep cada 30 seg.
end;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
const
  CBLNK: array[0..1] of TColor = (clLime, clWhite); 
begin
  if Query1.FieldByName('Codigo').AsString = FValor then
    DBGrid1.Canvas.Brush.Color:= CBLNK[Integer(FBlink)];
  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  FValor:= Trim(Edit1.Text);
  Query1.Locate('Codigo', Edit1.Text, [])
end;

procedure TForm1.TimerBlinkTimer(Sender: TObject);
begin
  FBlink:= not FBlink;
  DBgrid1.Invalidate;
end;

procedure TForm1.TimerSoundTimer(Sender: TObject);
begin
  MessageBeep(MB_OK);
end;
...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 02-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
todo bien

gracias ecfisa muestra como quiero pero quisiera que de sonido y parpadee durante un tiempo deternimado con los dos timer da sonido y parpadeo de manera ilimitada, pero como hacer para que durante un tiempo determinado solamente las dos cosas , no se talves ni bien salgo del edit solo los proximos 30 o 45 seg
Espero respuestas, yo tambien vere con todo como lo soluciono, si lo soluciono muestro el codigo , gracias
Responder Con Cita
  #3  
Antiguo 02-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.

Añadí un tercer TTimer para espaciar el sonido, si no los usuarios te van a odiar

Código Delphi [-]
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  FValor:= '';
  FBlink:= False;
  // Timers
  TimerBlink.Interval:= 200; // velocidad de parpadeo
  TimerBlink.Enabled:= False;
  TimerBeep.Interval:= 2000; // 1 Beep c/ 2seg
  TimerBeep.Enabled:= False;
  TimerOff.Interval:= 30000; // Beep durante 30 segundos
  TimerOff.Enabled:= False;
end;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
const
  CBLNK: array[0..1] of TColor = (clLime, clWhite);
begin
  if Query1.FieldByName('Codigo').AsString = FValor then
    DBGrid1.Canvas.Brush.Color:= CBLNK[Integer(FBlink)];
  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  FValor:= Trim(Edit1.Text);
  Query1.Locate('Codigo', Edit1.Text, []);
  TimerBlink.Enabled:= True;
  TimerBeep.Enabled:= True;
  TimerOff.Enabled:= True;
end;

procedure TForm1.TimerBlinkTimer(Sender: TObject);
begin
  FBlink:= not FBlink;
  DBgrid1.Invalidate;
end;

procedure TForm1.TimerBeepTimer(Sender: TObject);
begin
  Beep;
end;

procedure TForm1.TimerOffTimer(Sender: TObject);
begin
  TimerBlink.Enabled:= False;
  TimerBeep.Enabled:= False;
  TimerOff.Enabled:= False;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 02-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
Otra alternativa

Gracias por la alternativa ,lo voy a probar ,pero tengo otra alternativa pues no se si es adecuada pero hasta donde veo da
el codigo es:
Código Delphi [-]
procedure TF_Principal.TimerBlinkTimer(Sender: TObject);
begin
//p variable privada 
 p:=p+1;
  FBlink:= not FBlink;
  DBgrid1.Invalidate;
  //p:=p+1;
  if p=50  then
TimerBlink.Enabled:=FALSE;
end;

y el otro timer este:
Código Delphi [-]
procedure TF_Principal.TimerSoundTimer(Sender: TObject);
VAR I:INTEGER;
begin
 M:=M+1;
 IF M MOD 5 =0 THEN
  MessageBeep(MB_OK);
   if M=20  then
TimerSound.Enabled:=FALSE;
end;


en el onexit del edit tengo
Código Delphi [-]
    P:=0;
     M:=0;
  TimerBlink.Enabled:=TRUE;
  TimerSound.Enabled:=TRUE;
      FValor:= Trim(Edit1.Text);
  mdoq_listado.Locate('Codigo', Edit1.Text, [])
el intervalo de los dos timer es de 200 y 300 y bueno ahi da, nose pero si seria lo mas correcto, el codigo de ecfisa lo probare , gracias , saludos
Responder Con Cita
Respuesta



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
Funcion cambiar propiedades componente(variable) Dclase Varios 7 17-06-2011 13:37:48
Variable con color? jam888 Varios 2 06-04-2006 02:24:03
Llamar a una funcion almacenandola en una variable papulo Varios 15 02-02-2006 18:19:25
Llamada a una funcion que incluye en el nombre una variable papulo PHP 11 28-12-2005 16:38:19
Salir de un dbgird con el tabulador aram2r OOP 4 28-05-2004 18:12:00


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


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
Copyright 1996-2007 Club Delphi