Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2014
pr0sper0 pr0sper0 is offline
Miembro
NULL
 
Registrado: sep 2014
Ubicación: Villa Clara-Cuba
Posts: 12
Poder: 0
pr0sper0 Va por buen camino
Smile ¿Cómo hago un contador?

Estoy haciendo un programa y me hace falta`ponerle un contador de tiempo que vaya en retroceso y cuando llegue a 0 el programa se pare, como hago para cuando cierre el programa y lo vuelva a abrir el contador este donde mismo estaba cuando lo cerre. Muchas gracis a los que puedan ayudarme.
Responder Con Cita
  #2  
Antiguo 15-09-2014
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Es una pregunta dificil mas sin saber que hace tu programa o que es lo que quieres que este donde estaba la ultima vez
Te recomiendo que copies y peges el codigo aqui, asi te podran ayudar con mas bases.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 15-09-2014
pr0sper0 pr0sper0 is offline
Miembro
NULL
 
Registrado: sep 2014
Ubicación: Villa Clara-Cuba
Posts: 12
Poder: 0
pr0sper0 Va por buen camino
Hiiii

mira es sencillo la form es esta yo quiero q donde dice horas contratadas si yo le asigno 10 Horas por ejemplo ella en el reloj rojo me las registre y al abrir la form me empiece a restar de esas x horas y cuando llegue a 0 la form no abra como lo hago.
Imágenes Adjuntas
Tipo de Archivo: jpg Dibujo.JPG (9,6 KB, 7 visitas)
Responder Con Cita
  #4  
Antiguo 15-09-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Hola, según dices tendrás que guardar el tiempo consumido cuando el programa se cierre bien en un fichero o en registro de windows, ya dependiendo del nivel de seguridad que necesites para que ese fichero pueda o no abrirse de forma fácil o borrarse tendrás que complicar más o menos el programa.
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 15-09-2014
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 13
engranaje Va por buen camino
Yo en cierta ocasión recuerdo que tuve que hacer algo asi. Si no recuerdo mal lo que hacia era utilizar un record con la información de la última fechaHora de acceso, y la horas de uso que quedaban. En un timer dentro de la aplicación iba actualizando los datos de ese record y guardandolo en un fichero.
Al cargar la aplicación comprobaba que la hora fuera posterior a la última fechaHora de acceso. Igual en tu caso no es necesario pero yo necesitaba que la aplicación dejara de funcionar si la hora del sistema era anterior a la última fecha hora de acceso. Es más dentro del mismo procedimiento y antes de grabar la hora en el fichero comprobaba también que la fechaHora del sistema fuera posterior a la última grabada (ya digo que necesitaba protegerme de cambios que el usuario realizara sobre la fecha y hora del sistema tanto con la aplicación abierta como con ella cerrada).
La precaución que tomaba era poner el nombre menos sospechoso posible al fichero, guardarlo en el lugar menos sospechoso también y capturar dentro de un try except todo el trabajo con él mostrando un error propio y procurando evitar en todo caso que apareciera en pantalla la ruta del fichero si por algún motivo no era posible trabajar con él.
Responder Con Cita
  #6  
Antiguo 16-09-2014
pr0sper0 pr0sper0 is offline
Miembro
NULL
 
Registrado: sep 2014
Ubicación: Villa Clara-Cuba
Posts: 12
Poder: 0
pr0sper0 Va por buen camino
Smile Hiiiiiiiii

Muchas gracias, serias tan amable de demostrarme todo eso atravez de codigo, el problem es q estoy familiarizandome con este lenguaje. De paso si tienes bibliografía por la cual pueda estudiar el mismo mandamela a k l a u s m i k a e l s o n 9 4 7 @ g m a i l . c o m , voy a agradecer tu ayuda, mandame un codigo de ejemplo de como tu lo harías, Gracias.

Última edición por Casimiro Notevi fecha: 16-09-2014 a las 15:59:13.
Responder Con Cita
  #7  
Antiguo 16-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por pr0sper0 Ver Mensaje
Muchas gracias, serias tan amable de demostrarme todo eso atravez de codigo, el problem es q estoy familiarizandome con este lenguaje. De paso si tienes bibliografía por la cual pueda estudiar el mismo mandamela a klausmikaelson947 @ gmail.com , voy a agradecer tu ayuda, mandame un codigo de ejemplo de como tu lo harías, Gracias.
Por favor, sigue nuestras normas, no está permitido hacer peticiones a correos electrónicos, entonces ¿para qué están los foros?
Además, al poner tu email ahí, públicamente, te arriesgas a que los robots spammers lo capture y ya sabes lo que te espera.
Gracias y saludos.
Responder Con Cita
  #8  
Antiguo 16-09-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.732
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
A continuación te dejo un ejemplo MUY simple, pero que hace lo que necesitas.
Como verás, es un formulario llamado FMMain con tres TEdits y un TTimer.
* El TTimer (TUnSegundo) está puesto a 1000ms para que actualice el formulario cada 1 segundo.
* Los TEdits muestran los datos transformando las variables privadas TDateTime a string.
* Los datos se guardan en un archivo llamado ControlTiempo.ini que estará en el directorio Windows que corresponda según la versión de Windows instalada. Si quieres puedes ponerle una ruta fija o buscar la ruta de la aplicación.


Código Delphi [-]
unit UFMMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TFMMain = class(TForm)
    ETiempoContratado: TEdit;
    ETiempoConsumido: TEdit;
    ETiempoConexion: TEdit;
    TUnSegundo: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure TUnSegundoTimer(Sender: TObject);
  private
    { Private declarations }
    InicioConexion, TiempoConsumidoAlIniciarAplicacion : TDateTime;
    TiempoConexion, TiempoConsumido,TiempoContratado : TDateTime;
    procedure ActualizaDatos;
  public
    { Public declarations }
  end;

var
  FMMain: TFMMain;

implementation

{$R *.dfm}

uses IniFiles;

procedure TFMMain.ActualizaDatos;
begin
  // Calculo el tiempo de conexion
  TiempoConexion := Now - InicioConexion;
  TiempoConsumido := TiempoConsumidoAlIniciarAplicacion + TiempoConexion;

  // Actualizo el formulario
  ETiempoContratado.Text := TimeToStr(TiempoContratado);
  ETiempoConsumido.Text := TimeToStr(TiempoConsumido);
  ETiempoConexion.Text := TimeToStr(TiempoConexion);

  // Si el tiempo contratado se ha consumido cierro la aplciacion
  if (TiempoContratado < TiempoConsumido) then
     Close;
end;

procedure TFMMain.FormCreate(Sender: TObject);
var
  Ini : TIniFile;
begin
  // Hora de inicio de la conexion
  InicioConexion := Now;

  // Lee datos guardados
  Ini := TIniFile.Create('ControlTiempo.ini');
  try
     TiempoContratado := StrToTime(Ini.ReadString('Datos', 'TiempoContratado', '00:00:00'));
     TiempoConsumidoAlIniciarAplicacion := StrToTime(Ini.ReadString('Datos', 'TiempoConsumido', '00:00:00'));
  finally
     Ini.Free;
  end;

  ActualizaDatos;

  // Inicio el Timer
  TUnSegundo.Enabled := True;
end;

procedure TFMMain.TUnSegundoTimer(Sender: TObject);
var
  Ini : TIniFile;
begin
  ActualizaDatos;

  // Actualizo el tiempo consumido
  Ini := TIniFile.Create('ControlTiempo.ini');
  try
     Ini.WriteString('Datos', 'TiempoConsumido', TimeToStr(TiempoConsumido));
  finally
     Ini.Free;
  end;
end;

end.
Responder Con Cita
  #9  
Antiguo 16-09-2014
pr0sper0 pr0sper0 is offline
Miembro
NULL
 
Registrado: sep 2014
Ubicación: Villa Clara-Cuba
Posts: 12
Poder: 0
pr0sper0 Va por buen camino
Smile Hiiii

Muchas gracias amigo me sirvio de mucho.
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
Como hacer un contador con insert into RebeccaGL MySQL 1 20-09-2013 23:30:00
como colocar un contador para sistema de facturacion jirbert Varios 6 19-06-2008 06:22:52
Proc. almacenado como contador fedelphi Conexión con bases de datos 4 15-12-2006 20:45:10
Cómo puedo hacer un contador de visitas? Shidalis PHP 11 16-05-2006 16:33:30
Como actualizar mi contador numerico en dos o mas aplicaciones? IcebergDelphi Firebird e Interbase 2 16-06-2003 06:46:11


La franja horaria es GMT +2. Ahora son las 16:40:49.


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