1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| Option Explicit
Dim MyStr,Titre,fso,ws,LogFile,resultat
Titre = "Combinaison de chaînes de caractères"
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("Wscript.Shell")
'Nom du fichier qui va stocker le résultat
LogFile = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, ".")) & "txt"
if fso.FileExists(LogFile) Then 'Si le fichier LogFile existe
fso.DeleteFile LogFile 'alors on le supprime
end If
'La boîte de saisie de la chaîne de caractères
MyStr = inputbox("Entrez la chaîne de caractères :",Titre,"abc")
MyStr = Trim(MyStr) 'Pour enlever les espaces de gauche et à droite
If MyStr = "" Then WScript.Quit
MsgBox Traitement("",MyStr),64,Titre
WriteLog String(70,"*"),LogFile
WriteLog Space(10) & Titre & " de type " & DblQuote(MyStr),LogFile
WriteLog String(70,"*"),LogFile
WriteLog Traitement("",MyStr),LogFile
ws.Run LogFile,1,False
Function Traitement(chaine,liste)
Dim nouvelle_chaine,nouvelle_liste,j
If liste = "" Then
resultat = resultat & chaine & VbcrLF
Else
For j=1 to Len(liste)
nouvelle_chaine = chaine & Mid(liste,j,1)
nouvelle_liste = Replace(liste,Mid(liste,j,1),"")
Traitement nouvelle_chaine,nouvelle_liste
nouvelle_chaine = ""
nouvelle_liste = ""
Next
End If
Traitement = resultat
End Function
'*****************************************************************
'Fonction pour écrire le résultat dans un fichier texte
Sub WriteLog(strText,LogFile)
Dim fs,ts
Const ForAppending = 8
Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(LogFile,ForAppending,True)
ts.WriteLine strText
ts.Close
End Sub
'*****************************************************************
'Fonction pour ajouter des guillemets dans une variable
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'***************************************************************** |
Partager