![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
![]() Gracias seoane por toda la informacion que me proporcionaste, revise bien el codigo ultimo que me distes y ya se usar la funcion realmente no se le mete parametros sino que de una sola vez te lo da asi que por si alguien mas quiere usuarla es asi:
Código:
Var ResuladoIP:String; begin ResultadoIP:=(ObtenerIP); //Las Caidas te hacen aprender a caminar |
#2
|
|||
|
|||
![]() 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 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. |
#3
|
||||
|
||||
ok amigo muchas gracias por la informacion voy aprobarla y te digo si me funciono o no ok gracias nuevamente
|
#4
|
||||
|
||||
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 |
![]() |
|
|
![]() |
||||
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 |
![]() |
|