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 12-05-2015
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 303
Poder: 22
tulio Va por buen camino
Thumbs up Problema de Sintaxis con ShellExecute en Windows 7

Buen dia compañeros

les comento que quiero ejecutar desde una aplicacion el winrar para compactar una base de datos e indicarle algunos parametros, usando el winexec en windows xp me anda perfecto, el problema es que si uso el winexec en windows seven no anda y lo que hay que usar es el shellexecute, pero lo llamo con la sintaxis que les muestro debajo y no llama al winrar, queria ver si me pueden decir que es lo que estoy haciendo mal

Codigo con winexec que funciona en XP pero no en seven

Código Delphi [-]
  dia:=copy(datetostr(date()),1,2);
  Mes:=copy(datetostr(date()),4,2);
  Anio:=copy(datetostr(date()),9,2);
  JArchivo:=’c:\prueba\archivo’+dia+mes+anio+'.arJ';
 WinExec( pchar('Command.com /c  winrar a -r '+Jarchivo + 'c:\base_de_datos\'+ '*.gdb'), SW_SHOWnormal );

Codigo que no da error pero no ejecuta el winrar en Seven

Código Delphi [-]

  dia:=copy(datetostr(date()),1,2);
  Mes:=copy(datetostr(date()),4,2);
  Anio:=copy(datetostr(date()),9,2);
  JArchivo:=’c:\prueba\archivo’+dia+mes+anio+'.arJ';
  ShellExecute(f_Backup.Handle, nil,pchar('Command.com /c  winrar a -r '+Jarchivo + 'c:\base_de_datos\'+ '*.gdb') ,nil, nil, SW_SHOWNORMAL);

Saludos y gracias

tulio
Responder Con Cita
  #2  
Antiguo 12-05-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por favor, no olvides poner títulos descriptivos, gracias
Responder Con Cita
  #3  
Antiguo 12-05-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola tulio.

Te hice un ejemplo que funciona con 7-Zip y debería hacerlo con WinRar ya que los parámetros son los mismos.
Código Delphi [-]
...
uses ShellApi;

procedure CompressBD(SourcePath, TargetPath: string);
var
  zName: string;
begin
  SourcePath := IncludeTrailingPathDelimiter( SourcePath );
  TargetPath := IncludeTrailingPathDelimiter( TargetPath );
  zName := IncludeTrailingPathDelimiter( TargetPath ) +
           FormatDateTime( 'ddmmyy', Date ) + '.ZIP'; // (1)
  ShellExecute( 0,
                'open',
                PChar( GetEnvironmentVariable('ProgramFiles') + '\7-Zip\7z.exe' ), //(2)
                PChar( Format( 'a -r %s %s*.GDB',[zName, SourcePath] ) ),
                nil,
                SW_SHOWNORMAL );
end;

Llamada ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  CompressBD( 'c:\base_de_datos', 'c:\prueba\archivo' );
end;

(1) '.ARJ'
(2) Para tu caso creo que sería algo como: '\WinRar\WinRar.exe'.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 13-05-2015
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 303
Poder: 22
tulio Va por buen camino
Muchas Gracias !!!!! Ecfisa

Gracias por tu tiempo

un abrazo
Responder Con Cita
  #5  
Antiguo 13-05-2015
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 303
Poder: 22
tulio Va por buen camino
Hola Ecfisa

te cuento que copie el ejemplo tal cual, me instale el 7Zip y no me funciona, no da error pero no hace nada despues de dar click en el boton que llama al procedimiento

te envio todo el codigo para ver si hice algo mal
Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

procedure CompressBD(SourcePath, TargetPath: string);
var
  zName: string;
begin
  SourcePath := IncludeTrailingPathDelimiter( SourcePath );
  TargetPath := IncludeTrailingPathDelimiter( TargetPath );
  zName := IncludeTrailingPathDelimiter( TargetPath ) +
           FormatDateTime( 'ddmmyy', Date ) + '.ZIP'; // (1)
  ShellExecute( 0,
                'open',
                PChar( GetEnvironmentVariable('Archivos de programa') + '\7-Zip\7zfm.exe' ), //(2)
                PChar( Format( 'a -r %s %s*.GDB',[zName, SourcePath] ) ),
                nil,
                SW_SHOWNORMAL );
end;

{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
CompressBD( 'c:\sistemas\cnaz\base_de_datos', 'c:\sistemas' );
end;


end.

saludos !!!!
Responder Con Cita
  #6  
Antiguo 13-05-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
tulio,

Cita:
Empezado por tulio
...copie el ejemplo tal cual, me instale el 7Zip y no me funciona, no da error pero no hace nada...


Sustituye:
Código Delphi [-]
PChar( GetEnvironmentVariable('Archivos de programa') + '\7-Zip\7zfm.exe' ), //(2)

Por:
Código Delphi [-]
PChar( GetEnvironmentVariable('ProgramFiles') + '\7-Zip\7z.exe' ), //(2)

Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
  #7  
Antiguo 13-05-2015
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 303
Poder: 22
tulio Va por buen camino
Gracias Nelson !!!

lo veo
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Delphi XE2, Windows 7, fileexists y shellexecute no funcionan sonjeux API de Windows 9 14-01-2014 21:57:51
Windows.Pas Tiene Errores Sintaxis D2007? cloayza OOP 0 19-04-2010 20:32:00
Problema con la sintaxis if then else Fat Varios 2 31-10-2008 16:57:33
Problema con sintaxis. zvf OOP 5 13-03-2007 20:19:21
Problema de Sintaxis???? Jvilomar SQL 2 28-12-2005 18:14:35


La franja horaria es GMT +2. Ahora son las 05:33:29.


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