Ver Mensaje Individual
  #6  
Antiguo 04-05-2007
crespopg crespopg is offline
Miembro
 
Registrado: jul 2004
Ubicación: Texcoco, Edo. de Mexico, Mex.
Posts: 16
Reputación: 0
crespopg Va por buen camino
ejemplo de ShellExecute

aqui un ejemplo:
unit mprotu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellApi, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
Label2: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
tot:byte;
act,min:array[1..20] of byte;
mins,coma:array[1..20] of string;
strt1:string;
arch:TextFile;

implementation
{$R *.dfm}
procedure leer;var i:byte;
Begin
If FileExists('conft.txt') Then
Begin
AssignFile(arch,'conft.txt'); Reset(arch);
Readln(arch,tot);
for i:=1 to tot do Readln(arch,min [i],act [i]);
for i:=1 to tot do Readln(arch,coma[i]);
Closefile(arch);
end
Else
Begin
tot:=5;
for i:=1 to tot do Begin min[i]:=i; act [i]:=1; End;
for i:=1 to tot do coma[i]:='c:\agma29\dir2.bat c:\agma29\*.cli';
End;
strt1:=':';
for i:=1 to tot do
Begin
str(min[i]:1,mins[i]);if min[i]<=9 then mins[i]:='0'+mins[i];
strt1:=strt1+'/'+mins[i];
End;
form1.Label2.Caption:=strt1;
End;
procedure presen;
var arch:textfile;lins2:byte;
Begin
if (lins2<80) then Form1.Label1.Font.Color:=ClTeal;
if (lins2<45) then Form1.Label1.Font.Color:=ClGreen;
if (lins2<20) then Form1.Label1.Font.Color:=ClOlive;
if (lins2< 5) then Form1.Label1.Font.Color:=ClMaroon;
End;
procedure TForm1.Timer1Timer(Sender: TObject);
var strt1,min2s,seg2s:string;i:byte;
begin
strt1:=TimeToStr(time);
min2s:=copy(strt1,4,2);
seg2s:=copy(strt1,7,2);
form1.Caption:=strt1;
{form1.Text:= label1.Caption;
Form1.Hint:= label1.Caption;}
if (min2s[2]='5') and (seg2s='00') Then form1.Refresh;
if (min2s[2]='0') and (seg2s='00') Then
presen;
if (min2s='00') and (seg2s='00') Then leer;
for i:=1 to tot do
Begin
if (min2s=mins[i]) and (seg2s='00') and (act[i]=1) Then
Begin
ShellExecute(Form1.Handle,nil,Pchar(coma[i]),'','',SW_SHOWNORMAL);
End;
End;
end;
procedure TForm1.FormCreate(Sender: TObject);var i:byte;
begin
Form1.Label1.Caption:=':.:';
TimeSeparator:=':';
LongTimeFormat := 'hh:nn:ss';
leer;
end;
end.
refresca cada 10 minutos al minuto 5, es decir 5,15,25,35,45 y 55
if (min2s[2]='5') and (seg2s='00') Then form1.Refresh;
Cambia de Fondo cada 10 Minutos al minuto 0, es decir 0,10,20,30,40y 50
if (min2s[2]='0') and (seg2s='00') Then presen;
Actualiza (Vuelve a leer el archivo de configuracion a la hora exacta
if (min2s='00') and (seg2s='00') Then leer;
Responder Con Cita