01net    Web


Actuellement en ligne : 178 Utilisateurs dont 7 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> Echec d'un instruction, comment le traduire en condition ?
Auteur
Message
 
<     1       >
phaydrinix
  
  :-)
      ?   @     Posté le 10/06/2006 12:32:51  
Voter pour ce message
Salut,

je travaille sur un programme Win32 en C++ et je me demande comment traduire cette phrase : "si l'instruction ShellExecute n'ouvre pas le réperstoire sélectionner fais ceci".

un peut de détails sur ShellExecute, dans mon programme elle se présente comme ca : ShellExecute(hwnd, "open", "file:///...", 0, 0, 0);

Voici ma tentative :

ShellExecute(hwnd, "open", "file:///...", 0, 0, 0);
return TRUE;
if((ShellExecute) return FALSE){...}

Mais le compilo me dis que ShellExecute est tout le temps évaluer a TRUE.

Voila, merci.
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 13/06/2006 02:14:10  
Voter pour ce message
return TRUE fait en sorte que la fonction se termine à cette ligne, c'est pour ça le rendu TRUE... La dernière condition n'est pas vérifiée. :fume: et cette dernière condition ne tien pas debout... :love:

T'es sûr que c'est du C++ ton code??

http://c.developpez.com/faq/vc/?page=Registry

Essais:
HINSTANCE startLog =ShellExecute(hwnd, "open", "c:\test.mee", NULL, NULL, SW_SHOW);
if (startLog>(HINSTANCE)32) cout <<"Voilà le fichier!" <<endl;
#ifdef WIN_32
MessageBox(hwnd,"Erreur d'ouverture!", "Esselfe message", MB_OK|MB_ICONERROR);
#endif
#ifndef WIN_32
else if (startLog<=(HINSTANCE)32) cout <<"Erreur d'ouverture!!!!! COREDUMP!!!!! SELFDESTRUCTION in 5, 4, 3, 2, 1


cette technique est utile pour de multiples post-conditions[bool startlog =func()] Mais pour ça il faut connaître le type de valeur renvoyé par la fonction analysée, forcément. Sauf par utilisation d'un template...


a++
-->Message édité par esselfe le 13/06/2006 02:25:11<--
-------
vive Linux!
phaydrinix
  
  :-)
      ?   @     Posté le 21/06/2006 13:45:26  
Voter pour ce message
C'est vrai que le code été un peut bidon... Voici la solution :
SHELLEXECUTEINFO Execute;
memset(&Execute, 0, sizeof(Execute));
Execute.cbSize = sizeof(Execute);
Execute.fMask = 0;
Execute.hwnd = 0;
Execute.lpVerb = "open";
Execute.lpFile = "file:///...";
Execute.lpParameters = NULL;
Execute.lpDirectory = 0;
Execute.nShow = SW_SHOW;
Execute.hInstApp = 0;
if(ShellExecuteEx(&Execute) == 0)
{
//erreur
}
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> Echec d'un instruction, comment le traduire en condition ?

Aller à :

Page générée en : 0.733s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Convertisseur PDF
Créez des documents PDF et transformez-les aux formats Word, Excel, Powerpoint, ...
Jeux
Nouveauté : Alignez les trophées et gagnez de l’argent à chaque exploit réalisé.