Utilisateur anonyme
-
25 oct. 2005 à 19:33
bv94
Messages postés40Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention16 décembre 2006
-
26 oct. 2005 à 08:23
Salut,
Dans la procédure ci-dessous, il y a un erreur de compilation : le second nil semble posser problème. Je pense que le probleme vient de la variable string finline qui doit pas etre du bon type.
procedure TForm1.Button2Click(Sender: TObject);
var
line : string;
finline : string;
begin
line := Edit1.text ;
if Copy(line, 1, Pos('|', line)-1 ) = 'open' then
finline:=(Copy(line, Pos('|', line)+1, Length(line)));
shellexecute(0,nil,finline,nil,nil,SW_SHOW);
end;
bv94
Messages postés40Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention16 décembre 20061 26 oct. 2005 à 08:23
Normal,
il faut que ton champ edit1.exe contienne "open|notepad.exe" pour que ca ouvre note pad !!
Sinon, la variaable finline est vide et shellexecute ouvre l'eplorateur comme si la commande etait :
shellexecute(0,nil,nil,nil,nil,SW_SHOW);
var
line : string;
finline : string;
begin
line := Edit1.text ;
if Copy(line, 1, Pos('|', line)-1 ) = 'open' then
finline:=(Copy(line, Pos('|', line)+1, Length(line)));
shellexecute(0,nil,Pchar(finline),nil,nil,SW_SHOW);
end;
end.
Si je rentre dans l'edit "NOTEPAD.EXE" le programme notepad ne s'ouvre pas par contre l'explorateur s'ouvre sur la racine. Je ne sais pas d'ou vient l'erreur