PDA

Ver la Versión Completa : WinExcec


Stevenmn
11-08-2007, 01:35:31
Buenas lo que pasa es que tengo esto no
WinExec( 'COMMAND.COM /C dir C:\ >> C:\log.txt', SW_HIDE );

ejeucta el comando bien y todo, pero siempre me tocaria cambiarlo desde el code y andaba buscadno una forma de hacerlo, probe poniendole un edit.text en vez del comando algo asi

WinExec( 'COMMAND.COM /C' + edit1.Text + '>> C:\log.txt', SW_HIDE );

Pero me dice Incompatybles type string and PAnsiChar.

eduarcol
11-08-2007, 01:48:13
Prueba asi


WinExec( PAnsiChar('COMMAND.COM /C' + edit1.Text + '>> C:\log.txt'), SW_HIDE );

egostar
11-08-2007, 01:49:31
Hola Stevenmn

El problema es un error de casting asume que estas queriendo pasar un string a un parámetro que requiere ser de tipo PChar, prueba con esto:


procedure TForm1.BitBtn1Click(Sender: TObject);
Var
S : String;
begin
S := 'COMMAND.COM /C' + edit1.Text + '>> C:\log.txt';
WinExec(PChar(S),SW_HIDE);
end;


Salud OS

Stevenmn
11-08-2007, 02:09:30
^^ Los dos codes sirven, gracias, aunque aquí pongo este otro que era el que estaba utilizando que sirve también.

ShellExecute(form1.Handle, 'open', PChar('cmd.exe'),
Pchar('/K ' + edit1.Text + ' >> c:\LOG.TXT'), Pchar('C:\'), SW_SHOW)