Crée une boîte de dialogue Save qui permet à l'utilisateur de spécifier le lecteur, le répertoire et le nom d'un fichier à enregistrer
#include <WinAPIDlg.au3>
_WinAPI_GetSaveFileName ( [$sTitle = "" [, $sFilter = "All files (*.*)" [, $sInitalDir = "." [, $sDefaultFile = "" [, $sDefaultExt = "" [, $iFilterIndex = 1 [, $iFlags = 0 [, $iFlagsEx = 0 [, $hWndOwner = 0]]]]]]]]] )
$sTitle | [optionnel] Chaîne à placer dans la barre de titre de la boîte de dialogue |
$sFilter | [optionnel] Paires de chaînes de filtre, par exemple "Text Files (*.txt)|All Files (*.*)" La première chaîne de chaque paire est une chaîne à afficher qui décrit le filtre (par exemple "Text Files") La deuxième chaîne spécifie le modèle de filtre (par exemple, "*.TXT") Pour spécifier plusieurs modèles de filtres pour une seule chaîne à afficher, utilisez un point-virgule pour séparer les modèles (par exemple, "*.TXT;*.DOC;*.BAK") Une chaîne de modèle peut être une combinaison de caractères de noms de fichiers valides et le caractère générique astérisque (*) Ne pas inclure d'espaces dans la chaîne modèle. |
$sInitalDir | [optionnel] Chaîne qui peut spécifier le répertoire initial |
$sDefaultFile | [optionnel] Un nom de fichier à utilisé pour initialiser le nom du fichier du contrôle d'édition |
$sDefaultExt | [optionnel] Chaîne qui contient l'extension par défaut |
$iFilterIndex | [optionnel] Spécifie l'index du filtre actuellement sélectionné dans le contrôle des types de fichiers |
$iFlags | [optionnel] Voir Flags de la page $tagOPENFILENAME |
$iFlagsEx | [optionnel] Voir FlagEx de la page $tagOPENFILENAME |
$hWndOwner | [optionnel] Handle de la fenêtre qui est propriétaire de la boîte de dialogue. Ce membre peut être n'importe quel handle de fenêtre valide, ou il peut être 0 si la boîte de dialogue n'a pas de propriétaire |
Succès: | Retourne un tableau dans le format suivant: [0] - Contient le nombre de chaînes (2) [1] - Contient le chemin sélectionné [2] - Contient le fichier sélectionné |
Échec: | Définit @error <> 0, appelez _WinAPI_CommDlgExtendedError() pour obtenir des informations sur l'erreur. |
$tagOPENFILENAME, _WinAPI_CommDlgExtendedError, _WinAPI_GetOpenFileName
Consultez GetSaveFileName dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <StructureConstants.au3> #include <WinAPIDlg.au3> #include <WindowsConstants.au3> Global $g_idMemo _Example_Defaults() _Example_ExplorerStyle() _Example_OldStyle() _Example_ExplorerStyle_NoPlaceBar() Func _Example_Defaults() Local $hGui, $id_Dialog, $aFile, $sError ; Crée une GUI $hGui = GUICreate("GetSaveFileName utilise les valeurs par défaut", 400, 296) $g_idMemo = GUICtrlCreateEdit("", 2, 32, 396, 226, $WS_HSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") $id_Dialog = GUICtrlCreateButton("Save Dialog", 155, 270, 90, 20) GUISetState(@SW_SHOW) Local $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE If $iMsg = $id_Dialog Then $aFile = _WinAPI_GetSaveFileName() ; utilisation par défaut If $aFile[0] = 0 Then $sError = _WinAPI_CommDlgExtendedError() MemoWrite("CommDlgExtendedError (" & @error & "): " & $sError) Else For $x = 1 To $aFile[0] MemoWrite($aFile[$x]) Next EndIf EndIf $iMsg = GUIGetMsg() WEnd GUIDelete($hGui) EndFunc ;==>_Example_Defaults Func _Example_ExplorerStyle() Local $hGui, $id_Dialog, $aFile, $sError ; Crée une GUI $hGui = GUICreate("GetSaveFileName utilise le Style Explorer", 400, 296) $g_idMemo = GUICtrlCreateEdit("", 2, 32, 396, 226, $WS_HSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") $id_Dialog = GUICtrlCreateButton("Save Dialog", 155, 270, 90, 20) GUISetState(@SW_SHOW) Local $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE If $iMsg = $id_Dialog Then $aFile = _WinAPI_GetSaveFileName("My Save File Dialog", _ "Text File (*.txt)|AutoIt File (*.au3)", ".", _ "", "au3", 2, 0, 0, $hGui) If $aFile[0] = 0 Then $sError = _WinAPI_CommDlgExtendedError() MemoWrite("CommDlgExtendedError (" & @error & "): " & $sError) Else For $x = 1 To $aFile[0] MemoWrite($aFile[$x]) Next EndIf EndIf $iMsg = GUIGetMsg() WEnd GUIDelete($hGui) EndFunc ;==>_Example_ExplorerStyle Func _Example_OldStyle() Local $hGui, $id_Dialog, $aFile, $sError ; Crée une GUI $hGui = GUICreate("GetSaveFileName utilise le style Old", 400, 296) $g_idMemo = GUICtrlCreateEdit("", 2, 32, 396, 226, $WS_HSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") $id_Dialog = GUICtrlCreateButton("Save Dialog", 155, 270, 90, 20) GUISetState(@SW_SHOW) Local $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE If $iMsg = $id_Dialog Then $aFile = _WinAPI_GetSaveFileName("My Save File Dialog", _ "Text File (*.txt)|AutoIt File (*.au3)", ".", "", _ "", 2, $OFN_ALLOWMULTISELECT, 0, $hGui) If $aFile[0] = 0 Then $sError = _WinAPI_CommDlgExtendedError() MemoWrite("CommDlgExtendedError (" & @error & "): " & $sError) Else For $x = 1 To $aFile[0] MemoWrite($aFile[$x]) Next EndIf EndIf $iMsg = GUIGetMsg() WEnd GUIDelete($hGui) EndFunc ;==>_Example_OldStyle Func _Example_ExplorerStyle_NoPlaceBar() Local $hGui, $id_Dialog, $aFile, $sError ; Crée une GUI $hGui = GUICreate("GetSaveFileName utilise le style Explorer No Place Bar", 400, 296) $g_idMemo = GUICtrlCreateEdit("", 2, 32, 396, 226, $WS_HSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") $id_Dialog = GUICtrlCreateButton("Save Dialog", 155, 270, 90, 20) GUISetState(@SW_SHOW) Local $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE If $iMsg = $id_Dialog Then $aFile = _WinAPI_GetSaveFileName("My Save File Dialog", _ "Text File (*.txt)|AutoIt File (*.au3)", ".", "", _ "", 2, 0, $OFN_EX_NOPLACESBAR, $hGui) If $aFile[0] = 0 Then $sError = _WinAPI_CommDlgExtendedError() MemoWrite("CommDlgExtendedError (" & @error & "): " & $sError) Else For $x = 1 To $aFile[0] MemoWrite($aFile[$x]) Next EndIf EndIf $iMsg = GUIGetMsg() WEnd GUIDelete($hGui) EndFunc ;==>_Example_ExplorerStyle_NoPlaceBar ; Écrit une ligne dans le contrôle mémo Func MemoWrite($sMessage) GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1) EndFunc ;==>MemoWrite