Quelques-unes, préfixées par ;@
Code : Tout sélectionner
#include <Array.au3>
#include <String.au3>
#include-once
; #INDEX# =======================================================================================================================
; Title .........: StringName.au3
; AutoIt Version : 3.3.14.2
; Language ......: French
; Description ...: Functions qui trie et index des string specifique dans n'importe quelle handle"
; The clipboard is a set of functions and messages that enable applications to transfer data.
; Because all applications have access to the clipboard, data can be easily transferred
; between applications or within an application.
; Author(s) .....: Numeric
; ===============================================================================================================================
;@ la description ne correspond pas du tout à ce que la fonction prétend réaliser
;@ un handle ce n'est pas ça du tout
;@ clipboard ???
; #CONSTANTS# ===================================================================================================================
#Region Functions list
; #CURRENT# =====================================================================================================================
; FileSaveDialogToString
; ===============================================================================================================================
#EndRegion Functions list
;#REGION EXEMPLE=================================================================================================================
;@ l'option 3 n'est pas une combinaison valide
Local $Exemple = FileSaveDialog("Mon Fichier", @DesktopDir, "Fichiers Mp3(*.mp3)", 3)
;Fonction pour récuperer le nom du fichier
$Show_name = FileSaveDialogToString($Exemple, 'mp3')
;Exemple 2
;Local $Exemple = FileSaveDialog("Mon Fichier",@DesktopDir,"Tous(*.*)",3)
;$Show_name = FileSaveDialogToString($Exemple,Default)
;Verification du nom
MsgBox(64, 'Le nom du fichier', 'Le nom du fichier sélectionné est : ' & $Show_name)
;#END REGION====================================================================================================================
; #FUNCTION# ====================================================================================================================
; Name ..........: FileSaveDialogToString
; Description ...: Recuperer le nom au lieu des paths des fichiers selection par fileSaveDialog
; Syntax ........: FileSaveDialogToString($FileHandle[, $extension = Default])
; Parameters ....: $FileHandle - an unknown value.
; $extension - [optional] an unknown value. Default is Default.
; Return values .: $FileName&$Separator&$extension as String
; Author ........: Numeric
; Example .......: Show_name = FileSaveDialogToString( FileSaveDialog("Mon Fichier",@DesktopDir,"Fichiers Mp3(*.mp3)",3),'mp3')
; ===============================================================================================================================
Func FileSaveDialogToString($FileHandle, $extension = Default)
Local $FileName, $KeyWord, $TrimWord, $word, $Separator
If $extension = Default Then $extension = ""
;@ un simple
;@ If $extension <> "" Then $Separator = '.'
;@ suffirait
If $extension = "" Then
$Separator = ""
ElseIf $extension <> "" Then
$Separator = '.'
EndIf
;@ cette ligne ne fait pas ce que tu crois qu'elle fait :
;@ elle équivaut à
;@ $KeyWord = True
$KeyWord = "*" Or $KeyWord = "=" Or $KeyWord = ":" Or $KeyWord = ";"
If $FileHandle = '' Then Return SetError(1, 0, '')
$StringSplit = StringSplit($FileHandle, "\", 1)
If @error = 1 Then
$FileName = $FileHandle
;@ cette ligne est commune aux deux branches, donc la placer après le EndIf
Return $FileName & $Separator & $extension
Else
For $i = 1 To $StringSplit[0]
;@ ici il y a un gros problème !
;@ puisque $Keyword vaut toujours True, cette ligne équivaut à :
;@ $TrimWord = StringInStr($StringSplit[$i], "True")
;@ et en effet, le problème se manifeste si le nom de fichier choisi contient la sous-chaîne "true"
$TrimWord = StringInStr($StringSplit[$i], $KeyWord)
If $TrimWord = 0 Or $TrimWord = 1 Then
;@ autre problème : si le nom choisi contient un point, il y a bug
$word = _StringBetween($StringSplit[$i], '', '.')
Else
Return SetError(2, 0, 0)
EndIf
Next
$FileName = _ArrayToString($word)
;@ cette ligne est commune aux deux branches, donc la placer après le EndIf
Return $FileName & $Separator & $extension
EndIf ;Fin de la condition = s'il n'ya pas d'erreur
EndFunc ;==>FileSaveDialogToString
Puis je ne vois pas bien le rapport entre l'exposé initial et le code. Je verrais plutôt un .INI ou une BdD si le volume le justifie, mais là je nage.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.