Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-06-2006
JELIRM JELIRM is offline
Miembro
 
Registrado: feb 2005
Ubicación: EL SALVADOR
Posts: 124
Poder: 20
JELIRM Va por buen camino
Cool

mira si lo que quieres es hacer un backup has lo siguiente:
copia la funcion CMDEXEC justo abajo de implementation y luego en un boton pones el codigo que abajo te describo.


codigo de Funcion

Código:
 
function CmdExec(Cmd: string): string;
var
  Buffer: array[0..4096] of Char;
  si: STARTUPINFO;
  sa: SECURITY_ATTRIBUTES;
  sd: SECURITY_DESCRIPTOR;
  pi: PROCESS_INFORMATION;
  newstdin, newstdout, read_stdout, write_stdin: THandle;
  exitcod, bread, avail: Cardinal;
begin
  Result:= '';
  if IsWinNT then
  begin
    InitializeSecurityDescriptor(@sd, SECURITY_DESCRIPTOR_REVISION);
    SetSecurityDescriptorDacl(@sd, true, nil, false);
    sa.lpSecurityDescriptor := @sd;
  end
  else sa.lpSecurityDescriptor := nil;
  sa.nLength := sizeof(SECURITY_ATTRIBUTES);
  sa.bInheritHandle := TRUE;
  if CreatePipe(newstdin, write_stdin, @sa, 0) then
  begin
    if CreatePipe(read_stdout, newstdout, @sa, 0) then
    begin
      GetStartupInfo(si);
      with si do
      begin
        dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;
        wShowWindow := SW_HIDE;
        hStdOutput := newstdout;
        hStdError := newstdout;
        hStdInput := newstdin;
      end;
      Fillchar(Buffer, SizeOf(Buffer), 0);
      GetEnvironmentVariable('COMSPEC', @Buffer, SizeOf(Buffer) - 1);
      StrCat(@Buffer,PChar(' /c ' + Cmd));
      if CreateProcess(nil, @Buffer, nil, nil, TRUE, CREATE_NEW_CONSOLE, nil, nil, si, pi) then
      begin
        repeat
          PeekNamedPipe(read_stdout, @Buffer, SizeOf(Buffer) - 1, @bread, @avail, nil);
          if bread > 0 then
          begin
            Fillchar(Buffer, SizeOf(Buffer), 0);
            ReadFile(read_stdout, Buffer, bread, bread, nil);
            Result:= Result + String(PChar(@Buffer));
          end;
          Application.ProcessMessages;
          GetExitCodeProcess(pi.hProcess, exitcod);
        until (exitcod <> STILL_ACTIVE) and (bread = 0);
      end;
      CloseHandle(read_stdout);
      CloseHandle(newstdout);
    end;
    CloseHandle(newstdin);
    CloseHandle(write_stdin);
  end;
end;
y luego en un boton pon el siguiente codigo, en mi caso lo puse en el Create del formulario.
y pones un Tlabel para que veas tu resultado de tu backup

Código:
 
procedure TForm1.FormCreate(Sender: TObject);
var
ResultadoComando:String;
begin
 //Corre comando de Dos 
ResultadoComando:=(CmdExec('copy bases*.Extencion c:\Backup'));
//Despliega como que fuera la ventana del dos en tu form del resultado del comando .//
 
Label1.caption:=ResultadoComando;
end;
end.
y listo!!!!!!!!!
Responder Con Cita
  #2  
Antiguo 15-06-2006
Avatar de edelphi
edelphi edelphi is offline
Miembro
 
Registrado: jun 2006
Posts: 55
Poder: 18
edelphi Va por buen camino
ok amigo muchas gracias por la informacion voy aprobarla y te digo si me funciono o no ok gracias nuevamente
Responder Con Cita
  #3  
Antiguo 06-02-2007
Avatar de edelphi
edelphi edelphi is offline
Miembro
 
Registrado: jun 2006
Posts: 55
Poder: 18
edelphi Va por buen camino
y si fuese con MySql

holas amigos ahora la idea es hacerlo con MySQL claro lo mismo con un formulario para crear el backup y tambien para restaurar la Base de Datos y que no me genere conflictos al momento de cargar la BBDD

ok amigos muchas gracias de antemano por sus respuestas
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ejecutar un programa dentro de otro. zugazua2001 Varios 1 24-06-2005 02:14:04
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36
Ejecutar Programa Dentro Del Tuyo ronson JAVA 6 04-06-2004 13:50:02
ejecutar un programa dentro de otro migueilichenco Varios 1 28-11-2003 20:39:03
Ejecutar un programa DENTRO de otro programa seduerey Varios 8 12-11-2003 13:56:20


La franja horaria es GMT +2. Ahora son las 09:53:56.


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