FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
ejecutar programas DOS
Necesito ejcutar una sentencia DOS, desde el delphi ¿como lo hago?, en realidad lo que quiero hacer es empaquetar un archivo con winrar, como winrar tiene sentencias y parametros para dos no mas tengo que ejecutar una sentencia.
De antemano, gracias por su ayuda Artemisa |
#2
|
||||
|
||||
Puedes mirarte la ayuda sobre Winexec.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
No encuentro ayuda de winexec en la ayuda del delphi, ¿donde la encuentro?, Aprovecho para preguntar donde encuentro ese programa la Base del Conocimiento del Delphi, gracias
|
#4
|
||||
|
||||
Hola,
Cita:
|
#5
|
|||
|
|||
No se si es esto lo que buscas.
No olviadr poner en Uses la unidad ShellApi. Saludos. |
#6
|
|||
|
|||
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; |
|
|
|