Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2005
artemisa artemisa is offline
Miembro
 
Registrado: jun 2005
Posts: 12
Poder: 0
artemisa Va por buen camino
Wink 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
Responder Con Cita
  #2  
Antiguo 17-09-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Puedes mirarte la ayuda sobre Winexec.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 17-09-2005
artemisa artemisa is offline
Miembro
 
Registrado: jun 2005
Posts: 12
Poder: 0
artemisa Va por buen camino
Wink

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
Responder Con Cita
  #4  
Antiguo 17-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por artemisa
No encuentro ayuda de winexec en la ayuda del delphi, ¿donde la encuentro?
En la ayuda del SDK Win32, disponible desde el menú de ayuda de Delphi.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 17-09-2005
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
No se si es esto lo que buscas.

Código Delphi [-]
procedure TForm1.CopiaSeguridadDB1Click(Sender: TObject);
var
  mCompresor,mArgumentoC,mArgumentoR: string;
begin
  mCompresor  := 'C:\Archivos de Programa\Winrar\Winrar.exe';
  mArgumentoC := 'a -v -vd A:\Copiaseg C:\Carbatex\Db\*.*';
  mArgumentoR := 'e -v A:\Copiaseg C:\Carbatex\Db';
  ShellExecute(Form1.Handle,nil,PChar(mCompresor),Pchar(mArgumentoC),'',SW_SHOWNORMAL)
end;

No olviadr poner en Uses la unidad ShellApi.
Saludos.
Responder Con Cita
  #6  
Antiguo 04-05-2007
crespopg crespopg is offline
Miembro
 
Registrado: jul 2004
Ubicación: Texcoco, Edo. de Mexico, Mex.
Posts: 16
Poder: 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
  #7  
Antiguo 04-05-2007
JGCG JGCG is offline
Registrado
 
Registrado: mar 2007
Posts: 9
Poder: 0
JGCG Va por buen camino
otra opción

Otra opción que tienes es utilizar la instrucción winexec, pero como la instrucción de Dos en este caso tiene paramétros y en lo particular a mí no me funciona bien cuando tengo que mandar parametros con winexec o shellexecute o no he encontrado la forma mas apropiada de hacerlo (si alguien me puede dar un ejemplo se lo agradeceria mucho), lo que me funciona es meter la instrucción de Dos en un archivo .bat y ejecutar el archivo .bat. un ejemplo es así:

procedure TForm1.Button1Click(Sender: TObject);
begin
winexec('c:\algo\autoexec2.bat',1);
end;

en el archivo .bat va la instrucción de dos por ejemplo:
programa argumentos
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 21:23:05.


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