FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Timer
Hola, necesito ayuda, tengo que guardar en una tabla los minutos que van transcurriendo, por lo que estoy tratando de usar un timer, para estar comparando cada minuto los campos de la tabla y mandar un mensaje al llegar a X, pero no puedo Podrian ayudarme?
Gracias |
#2
|
|||
|
|||
bueno puedes utilizar una variable publica llamada por ejemplo Control ( integer). en alguna parte del programa inicializas el reloj
Timer1.Enabled := True; Control:=0; luego utiliza el evento OnTimer procedure TForm1.Timer1Timer(Sender: TObject); begin control:=control+1; //al llegar a un minuto if control = 60 then begin //haces lo que quieras con las tablas y vuelves el contador a cero control:=0; end; end; espero que te sirva de ayuda |
#3
|
||||
|
||||
Holap, la verdad esque nos gustaria que nos dieras mas
detalles, pero segun lo que alcanzo a captar... necesitas hacer algo cuando llegue al minuto x... entonces hay una omision logica que nos a ocurrido a muchos en estos casos...tal vez estas dando la instruccion asi: if tiempo=X then pero eso esta mal debe ser algo asi: if tiempo>=X then espero que yo no este dibagando solamente, tratando de entrar en tus zapatos...espero te sirva Veo que madriles se me ha adelantado
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#4
|
|||
|
|||
Gracias, eso es en parte lo que necesitaba, pero tambien necesito saber como trabajar la tabla, o sea, como estraigo el dato, y como lo vuelvo a guardar, pero incrementado
|
#5
|
|||
|
|||
como te comenta jhonny, se necesita saber un poco mas exactamente que es lo que tienes y lo que quieres hacer, por ejemplo, aventurando.. puedo suponer que en tu tabla tienes un campo tiempo ( integer ) y si tiempo es X presentas en pantalla el valor de otro campo llamado... Resultado.
entonces puedes poner, siguiendo con mi ejemplo Table1.FindNearest([Control]); por lo que te aparecera en pantalla, en un TDBEdit el primer resultado de tu tabla que cumpla el valor de tiempo. de todas formas esto es un poco elucubrar lo mejor es que nos dijas lo mejor posible que es lo que pretendes hacer para no andar a ciegas y solucionartelo lo mejor posible un saludo PD insiste con tus preguntas, que para eso estamos |
#6
|
|||
|
|||
gracias madriles y jhonny, pero sigo teniendo un problema, cuando ejecuto elquery y el tiempo llega a 60, me manda un mensaje de error que dice : "Dataset table1 not on Edit or Insert mode", y en el codigo tengo antes que nada
table1.Edit; A que se debe este error? |
#7
|
||||
|
||||
Precisamente te da ese error, porque estás intentando modificar el valor de un campo ANTES del DataSet.Edit.
Te recomiendo leer la ayuda de los temas:
Debes tener un problema de "sincronía" en la ejecución de tus procesos, te recomiendo poner un BreakPoint en el Edit y otro en el Post, y te darás cuenta que llega a modificar el campo en estado Browse. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. Última edición por delphi.com.ar fecha: 30-06-2003 a las 19:05:06. |
|
|
|