Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
bonjour,
la fonction un permet d'exécuter des lignes de commandes DOS.
Comment récupérer une valeur de retour de cette commande, par exemple la valeur d'un echo ??
Merci
Hors ligne






Bonjour,
Tu peux par exemple modifier la redirection de ton batch vers un fichier et ensuite lire le contenu de ce fichier :
run('test.bat > output.log')
Hors ligne
j'y ai pensé, mais c'ets pas top quand même de passer par un fichier sur le disque.... je préfèrerais passer par du code..
Hors ligne






Sinon, tu as cette solution : Writing Console Applications with PowerBuilder 9
C'est peut être un peu usine à gaz pour ton problème.
Hors ligne







ShellExecute c'est plus mieux que Run
// [local external function declaration] FUNCTION long ShellExecuteA( long hwnd, string lpOperation, & string lpFile, string lpParameters, string lpDirectory, & integer nShowCmd ) LIBRARY "SHELL32" // appel string ls_Null long ll_rc string ls_err_str long ll_last_error Any temp CONSTANT long FORMAT_MESSAGE_FROM_SYSTEM = 4096 SetNull(ls_Null) // try to execute a non-existent filename. ll_rc = ShellExecuteA( Handle( This ), "open", & "MyPage.xyz", ls_Null, ls_Null, 1) IF ll_rc > 1 THEN temp = 0 ll_last_error = GetLastError() ls_err_str = Fill(Char(0),255) FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, temp, ll_last_error,& 0, ref ls_err_str, 255, 0) MessageBox("error", ls_err_str) END IF
Dernière modification par rincevent (13-08-2009 11:13:34)

Hors ligne