Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Llamar a un .exe msdos con parametros (https://www.clubdelphi.com/foros/showthread.php?t=18579)

lroblesco 16-02-2005 21:17:00

Llamar a un .exe msdos con parametros
 
hola:
Saben necesito saber como llamar a un programa ejecutable (msdos) que lleva parametros como el nombre de un archivo, desde mi aplicacion de delphi. Lo necesito especialmete para crear mi BD mySql al hacer una instalacion final para llamar al

mysql source nombredearchivo.txt

lgarcia 16-02-2005 22:38:00

Llamar a un .exe msdos con parametros
 
Hola:

Prueba con algo como esto

WinExec(PAnsiChar('C:\Cajas_registradoras\QDriver\qdriver.exe ventas.cmd'), SW_HIDE);

Saludos
Luis Garcia

petete2008 17-05-2011 10:09:02

A mi no me funciona y comenza a desesperarme

Mi codigo es :

WinExec(PAnsiChar('c:\xampp\mysql\bin\mysql --user=root --password=root script < c:\file.sql'), SW_HIDE);

Sencillamente no hace nada. En cambio desde CMD si funciona

¿que puede estar pasando?
Gracias.

darkerbyte 17-05-2011 17:35:32

Posible solución
 
Hola Petete2008:

El siguiente código yo lo utilizo para generar un backup de la BD, con el cual se llama a un programa externo (mysql), de aqui lo puedes adaptar para el exe de MySQL y tal vez el código tambien te sirva para generar tus copias de seguridad.

Código Delphi [-]
{...}
linea:='cmd /k mysqldump -h localhost --user='+usuario+' --password='+pwd+' --opt ' + bd + ' > '+respaldo;
         try
           WinExec( Pchar(linea), SW_Hide);
         except
           MessageDlg('No se ha podido crear el respaldo de la base de datos.', mtWarning, [mbOK], 0);
           exit;
         end;

Tengo tres strings que guardan los datos de la BD con la que actualmente estamos trabajando: usuario, pws, bd. Linea contiene el comando que deseo enviar a MS-DOS
Respaldo es la ruta del archivo donde se guardará el respaldo (string)
El truco aqui es que la ruta del executable este en el PATH de Windows.
Nota que en "linea" se agrega "cmd /k " antes del nombre del archivo que deseas ejecutar

petete2008 17-05-2011 17:47:21

Gracias!! me sirve

luchifer 29-05-2011 05:53:27

Gracias dakerbyte

excelente codigo, lo andaba buscando hace tiempo y me lo tope por casualidad. Para migraciones es "GENIAL"


La franja horaria es GMT +2. Ahora son las 23:20:45.

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