While 1
$DirInstall = FileSelectFolder("Bienvenue Dans l'Installation Du Patch DuraAn Serveur, Selectionner le dossier: World Of Warcraft.", "")
If FileExists($DirInstall & "\wow.exe") And FileExists($DirInstall & "\realmlist.wtf") Then ExitLoop
MsgBox(48, "Erreur", "Vous n'avez pas selectionné le dossier: World Of Warcraft")
Wend
Je voudrai que je puisse fermer cette fenêtre car quand je clic sur annuler ou la croix il m'indique toujours mon message d'erreur... Comment faire?
Modifié en dernier par Yoyo86220 le sam. 03 mai 2008 10:19, modifié 1 fois.
While True
; FileSelectFolder returns a blank string ("") if the window is closd or the cancel button was pressed
If Not $DirInstall = FileSelectFolder("Bienvenue Dans l'Installation Du Patch DuraAn Serveur, Selectionner le dossier: World Of Warcraft.", 6, @ProgramFilesDir) Then ErrMsg("Vous n'avez pas selectionné le dossier: World Of Warcraft")
If FileExists($DirInstall & "\wow.exe") And FileExists($DirInstall & "\realmlist.wtf") Then ExitLoop
WEnd
Func ErrMsg($sMsg)
MsgBox(266256, 'Erreur', $sMsg)
EndFunc
Au lieu d'utiliser une boucle While, vous devriez utiliser un code classique (Sauf si vous voulez vraiment que l'utilisateur choisisse un répertoire) :
Dim $DirInstall
If $DirInstall = FileSelectFolder("Bienvenue Dans l'Installation Du Patch DuraAn Serveur, Selectionner le dossier: World Of Warcraft.", "") Then
MsgBox(48, "Erreur", "Vous n'avez pas selectionné de dossier")
$Res = 0 ; Erreur, Pas de sélection.
Else
If FileExists($DirInstall & "\wow.exe") And FileExists($DirInstall & "\realmlist.wtf") Then
$Res = 1 ; C'est bon.
Else
MsgBox(48, "Erreur", "Vous n'avez pas selectionné le dossier: World Of Warcraft")
$Res = 0 ; Erreur, Pas le bon dossier
EndIf
EndIf