Capturar as menssagens de programas DOS

Delphi

12/08/2006

Olá amigo, estou fazendo um discador: com os seguintes códigos:

uses shellapi;
{$R *.dfm}

procedure TForm1.btnConectarClick(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin
// establish the connection
// die Verbindung aufbauen
// rasdial.exe entryname username password
cmd := ´open´;
fil := [color=red:8796bdf9e0]´rasdial.exe´[/color:8796bdf9e0];
par := PChar(edtEntry.Text+´ ´+edtUser.Text + ´ ´ + edtPass.Text);
dir := ´C:´;
// call rasdial.exe with Shellexecute
// rasdial mit Shellexecute aufrufen
{SW_SHOWMINNOACTIVE ou SW_HIDE ou SW_SHOWNORMAL};
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWNORMAL);
end;

procedure TForm1.btnDesconectarClick(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin
// disconnect the connection to the Internet
// Verbindung zum Internet abbrechen
cmd := ´open´;
fil := ´rasdial.exe´;
par := PChar(edtEntry.Text + ´ /DISCONNECT´);
dir := ´C:´;
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
end;


e o progrma [color=red:8796bdf9e0]rasdial.exe[/color:8796bdf9e0], mostra menssagens no prompt do DOS tais como:

[color=blue:8796bdf9e0]Conectanto-se a IBEST
Verificando nome do usuário e a senha ....
Registrando o computador na rede [/color:8796bdf9e0]


Como faço para mostrar essas mensagens em meu aplicativo, em listBox por exemplo ...

Até breve ... :idea:


Guialberto Soares

Guialberto Soares

Curtidas 0

Respostas

Dmalta

Dmalta

12/08/2006

É fácil usando a função [b:c2e9104827]Execute[/b:c2e9104827] da unit [b:c2e9104827]JclSysUtils[/b:c2e9104827] da biblioteca [b:c2e9104827]JCL[/b:c2e9104827] (Jedi Code Library):

uses JclSysUtils;

procedure...
var
  S: String;
begin
  Execute(´c:\teste.bat´, S);
  Memo1.Lines.Text := S;
end;


Faça o download da JCL em: [url]http://sourceforge.net/projects/jcl/[/url]

Um abraço,


GOSTEI 0
Guialberto Soares

Guialberto Soares

12/08/2006

Valeu [b:0767c66446]dmalta[/b:0767c66446], tudo certo, obgdo.

[]´Guiga


GOSTEI 0
POSTAR