Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2005
m@kio m@kio is offline
Miembro
 
Registrado: may 2005
Posts: 42
Poder: 0
m@kio Va por buen camino
Yo hize lo sig. para restaurar una BD SQL

Código Delphi [-]
  procedure EjecutarPrograma(rutaPrograma,
     parametros: string; esperar: boolean);
   var
    salida: DWord;
    punteroInfo: PShellExecuteInfo;
    infoEjecucion: TShellExecuteInfo;
   begin
    with infoEjecucion do
    begin
     cbSize := SizeOf(infoEjecucion);
     fMask := SEE_MASK_NOCLOSEPROCESS;
     wnd := GetActiveWindow;
     lpVerb := nil;
     lpFile := PChar(rutaPrograma);
     lpParameters := Pchar(parametros + #0);
     lpDirectory := nil;
     nShow := SW_NORMAL;
     hInstApp := 0;
    end;
    punteroInfo:= @infoEjecucion;
    ShellExecuteEx(punteroInfo);
    if esperar then
     repeat
      salida := WaitForSingleObject(infoEjecucion.hProcess, 500);
      Application.ProcessMessages;
     until (salida <> WAIT_TIMEOUT);
   end;
  
  procedure TForm1.Button1Click(Sender: TObject);
  begin
   EjecutarPrograma('osql','-b -U sa -P -i "'+ExtractFilePath(application.ExeName)+'EsthelDB.sql"',true);
  end;

Donde se manda llamar EjecutarPrograma nada mas es k pongas el comando para ejecutar querys en MySQL, pero creo que esto te puede servir.

Si tienes alguna duda, pues lo comentas y veremos k se puede hacer

Última edición por m@kio fecha: 18-08-2005 a las 00:56:00.
Responder Con Cita
  #2  
Antiguo 18-08-2005
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola amigos,

Tengo un problema amigo m@kio, me sale que no esta declarado el identificador PShellExecuteInfo y todos los demas que no los encuentra, la verdad no se que libreria añadir en el uses lo busque pero no lo encuentro, siempre tengo ese problema con algunos programas de los que no identifica los tipos y no se donde encontar a que librerias corresponden.

No se sobre el api de windows supongo que es de ahi las funciones que utilizas, no entiendo casi nada sobre la funcion EjecutarPrograma, por favor si me pudieras dar una pequeña explicación si no es mucha molestia o decirme donde puedo encontrar información para entender tu programa.

Muchas Gracias de por adelantado

Que tengan buen dia amigos
Responder Con Cita
  #3  
Antiguo 18-08-2005
Shidalis Shidalis is offline
Miembro
 
Registrado: jul 2005
Posts: 106
Poder: 22
Shidalis Va por buen camino
Amigo Caro debes agregar ShellApi para que reconozca las funciones
Responder Con Cita
  #4  
Antiguo 18-08-2005
Shidalis Shidalis is offline
Miembro
 
Registrado: jul 2005
Posts: 106
Poder: 22
Shidalis Va por buen camino
Con la ayuda de todos ustedes me funciono de esta manera:

Código:
 
procedure CrearArchivoBat(rutArchivo,Contenido: string);
var
  temp: TStrings;
begin
   temp := TStringList.Create;
   try
	 temp.Add(Contenido);
	 temp.SaveToFile(rutArchivo);
   finally
	 temp.Free;
   end;
end;
 
procedure TForm_Menu.respaldarClick(Sender: TObject);
begin
   CrearArchivoBat(ExtractFilePath(Application.ExeName)+'Respaldos_SAT\RespaldoBDSAT.bat', 'c:\mysql\bin\mysqldump -uroot -d bdsat > C:\Archiv~1\Klariu~2\SAT\Respaldo_BDSAT_Vacia.sql');   //Este procedimiento contiene la ruta donde se guardara el archivo.bat y el otro parametro es lo que va a contener el archivo.bat
   shellexecute(Handle, 'open','E:\Hidalis\proyecto SAT\Respaldos_SAT\RespaldoBDSAT.bat',nil,nil,SW_SHOWNORMAL);
//   winexec('E:\Hidalis\proyecto SAT\Respaldos_SAT\RespaldoBDSAT.bat',SW_SHOWNORMAL); el winexec tambien funciona como el shellexecute, lo coloque para supieran las dos formas de hacerlo.
end;
 
procedure TForm_Menu.restaurtarClick(Sender: TObject);
begin
   CrearArchivoBat(ExtractFilePath(Application.ExeName)+'Respaldos_SAT\RestaurarBDSAT.bat','c:\mysql\bin\mysql bdsat2 < C:\Archiv~1\Klariu~2\SAT\Respaldo_BDSAT_Vacia.sql');
   winexec('E:\Hidalis\proyecto SAT\Respaldos_SAT\RestaurarBDSAT.bat',SW_SHOWNORMAL);
   //EL COMANDO SHELLEXECUTE TAMBIEN FUNCIONA EN ESTA PARTE
end;
Muchas gracias por su si no entienden el codigo pregunten por favor
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 20:24:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi