PDA

Ver la Versión Completa : Alguien sabe como hacer que tu aplicacion se ejecute...


Supra
04-02-2005, 01:51:37
Hola alguien sabe como hacer que la aplicacion ejecute Alguna cosa a tal fecha
ejemplo que salga algun mesaje el dia 1 de todos los meses

salu2

roman
04-02-2005, 03:13:44
Pues o bien la dejas corriendo siempre con un Timer que cheque periódicamente la fecha o bien simplemente creas una tarea programada en Windows que se active el primer día de cada mes y mande llamar tu aplicación.

// Saludos

Supra
04-02-2005, 03:19:00
Pues lo del timer como se haria como seria el codigo

salu2

roman
04-02-2005, 03:22:41
De todas las componentes que vienen en Delphi el Timer es, por mucho, la más sencilla de todas, un par de propiedades y un único evento. Léete en la ayuda de Delphi acerca de esta componente y no tendrás ningún problema. Incluso viene un ejemplo.

// Saludos

Supra
05-02-2005, 03:15:35
Bueno pues el timer lo he manejado muchas veces y lo que quiero lo he intentado pero no me sale me tira un error solamente ocupo un empujon para poder segir

salu2

S.M.S.
05-02-2005, 11:25:36
Hola alguien sabe como hacer que la aplicacion ejecute Alguna cosa a tal fecha
ejemplo que salga algun mesaje el dia 1 de todos los meses

Volviendo a la duda que planteaste, si, como me da la impresión, lo que pretendes es que al iniciarse windows compruebe la fecha y en el caso de que sea la que tu deseas tu aplicación haga algo, en ese caso no necesitarás un timer, sino que puedes hacer que al arrancar la computadora tu programa se cargue en memoria (incluso oculto), compruebe la fecha y, en su caso, haga lo que necesites o termine.

Para que se cargue automáticamente coloca tu aplicación en la carpeta Inicio o edita una clave en el regitro de Windows 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Mi_Aplicacion' cuyo valor sea la ruta de destino de tu exe.

Luego para el ejemplo concreto que solicitas podría ser:
implementation
uses DateUtils;
//.....
procedure TForm1.FormCreate(Sender: TObject);
begin
if DayOf (Date) = 1 then
showmessage ('hoy es día 1');
end;

Saludos.

Ricardojosep
05-02-2005, 20:01:56
Hola amigo Supra, pues lo que tienes que hacer en el timer es:

porner el tiempo de 1 dia que seria: 60*60*24*1000 = 86400000.

y en el evento OnTimer poner lo que S.M.S puso en el evento OnCreate de la Form

if DayOf (Date) = 1 then
showmessage ('hoy es día 1');

y si tu aplicacion se ejecuta para siempre es eso lo que tienes que hacer, y si no, tienes que hacer lo que te dijo S.M.S

Supra
05-02-2005, 21:10:09
Bueno lo del registro seria asi

primero pongo mi aplicacion invisible y despues

procedure TForm1.FormCreate(Sender: TObject);
var

Registro :TRegistry;

begin

Registro:=TRegistry.create;

Registro.RootKey := HKEY_LOCAL_MACHINE;

if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',FALSE) then

Registro.WriteString('Nombre de mi aplicacion',Aqui la direccion donde se encuentra el exe\Mi aplicacion.exe');

Registro.Destroy;

end;


Sin olvidar

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Menus, StdCtrls, Registry;

Y despues cada que se inicie windows se abre mi aplicacion que esta previa mente invisible asta aqui voy bien bueno estoy en eso xDDD

ahora entonses seria asi
con un timer por que si tengo la maquina prendida hasta la noche y pasan las 12:00 p.m. no me daria resultado o me equivoco bueno aver si queda bien


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Menus, StdCtrls, Registry, DateUtils;

procedure TForm1.Timer1Timer(Sender: TObject);

begin
if DayOf (Date) = 1 then
showmessage ('hoy es día 1');
end;
Form1.Visible := True;
End;

eso estaria vien o no

Salu2