Code : Tout sélectionner
#include <File.au3>
#include <FileListToArray3.au3>
$chemin=InputBox ("Nom du dossier", "Veuillez entrer le nom du répertoire source de votre conversion")
if $chemin=="" Then
MsgBox (64, "Erreur", "Votre dossier source n'a pas été spécifié !")
Exit
Else
$chemin=$chemin & "\"
EndIf
$fichiers="*.html"
$dossiers="*"
$categorys="*"
$ListeDossiers=_FileListToArray3 ($chemin, $dossiers, 2, 2, 2)
if @error==1 then
Exit
Else
$niveau1=InputBox ("Nom du premier niveau", "Veuillez entrer le nom que vous souhaitez assigner au plus haut niveau de votre arborescence")
if $niveau1=="" Then
MsgBox (64, "Erreur", "Vous n'avez pas entré de nom à votre premier niveau pour votre fichier Chm !" & @CRLF & "Validez sur OK pour quitter votre script de génération")
Exit
EndIf
MsgBox (64, "Création du fichier HHC", "Veuillez valider sur OK pour créer votre fichier HHC")
$nf=$ListeDossiers[0]
$ligne1='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'
$ligne2='<HTML>'
$ligne3='<HEAD>'
$ligne4='<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">'
$ligne5='<!-- Sitemap 1.0 -->'
$ligne6='</HEAD>'
$ligne7='<BODY>'
$ligne8='<OBJECT type="text/site properties">'
$ligne9='<param name="Window Types" value=0x800025"">'
$ligne10='<param name="ImageType" value="folder">'
$ligne11='</OBJECT>'
$ligne12='</BODY>'
$ligne13='</HTML> '
$f_hhc=FileOpen ($niveau1 & ".hhc", 10)
FileWriteLine ($f_hhc, $ligne1)
FileWriteLine ($f_hhc, $ligne2)
FileWriteLine ($f_hhc, $ligne3)
FileWriteLine ($f_hhc, $ligne4)
FileWriteLine ($f_hhc, $ligne5)
FileWriteLine ($f_hhc, $ligne6)
FileWriteLine ($f_hhc, $ligne7)
FileWriteLine ($f_hhc, $ligne8)
FileWriteLine ($f_hhc, $ligne9)
FileWriteLine ($f_hhc, $ligne10)
FileWriteLine ($f_hhc, $ligne11)
FileWriteLine ($f_hhc, '<UL>')
FileWriteLine ($f_hhc, '<LI> <OBJECT type="text/sitemap">')
FileWriteLine ($f_hhc, '<param name="Name" value="' & $niveau1 & '">')
FileWriteLine ($f_hhc, '</OBJECT>')
FileWriteLine ($f_hhc, '<UL>')
for $i=1 to $nf
$s=StringSplit ($ListeDossiers[$i], "\")
FileWriteLine ($f_hhc, '<LI> <OBJECT type="text/sitemap">')
FileWriteLine ($f_hhc, '<param name="Name" value="' & $s[2] & '">')
FileWriteLine ($f_hhc, '</OBJECT>')
FileWriteLine ($f_hhc, '<UL>')
$ListeCategorys=_FileListToArray3 ($chemin & $s[2] & "\", $categorys, 2, 2, 2)
if FileExists ($ListeCategorys[1]) == 0 Then
$ListeFichiers=_FileListToArray3($chemin & $s[2] & "\", $fichiers, 1, 1, 1)
$nfc=$ListeFichiers[0]
for $j=1 to $nfc
$k=StringSplit ($listeFichiers[$j], "\")
FileWriteLine ($f_hhc, '<LI> <OBJECT type="text/sitemap">')
FileWriteLine ($f_hhc, '<param name="Name" value="' &StringTrimRight ($k[$k[0]], 5) & '">')
FileWriteLine ($f_hhc, '<param name="Local" value="' & $ListeFichiers[$j] & '">')
FileWriteLine ($f_hhc, '</OBJECT>')
Next
FileWriteLine ($f_hhc, '</UL>')
Else
$nc=$ListeCategorys[0]
for $r=1 to $nc
$c=StringSplit ($ListeCategorys[$r], "\")
FileWriteLine ($f_hhc, '<LI> <OBJECT type="text/sitemap">')
FileWriteLine ($f_hhc, '<param name="Name" value="' & $c[$c[0]] & '">')
FileWriteLine ($f_hhc, '</OBJECT>')
FileWriteLine ($f_hhc, '<UL>')
$ListeFichiers=_FileListToArray3($chemin & $s[2] & "\" & $c[$c[0]] & "\", $fichiers, 1, 1, 1)
$nfc=$ListeFichiers[0]
for $j=1 to $nfc
FileWriteLine ($f_hhc, '<LI> <OBJECT type="text/sitemap">')
$k=StringSplit ($ListeFichiers[$j], "\")
FileWriteLine ($f_hhc, '<param name="Name" value="' &StringTrimRight ($k[4], 5) & '">')
FileWriteLine ($f_hhc, '<param name="Local" value="' & $ListeFichiers[$j] & '">')
FileWriteLine ($f_hhc, '</OBJECT>')
Next
FileWriteLine ($f_hhc, '</UL>')
Next
FileWriteLine ($f_hhc, '</UL>')
EndIf
Next
FileWriteLine ($f_hhc, '</UL>')
FileWriteLine ($f_hhc, '</UL>')
FileWriteLine ($f_hhc, $ligne12)
FileWriteLine ($f_hhc, $ligne13)
FileClose ($f_hhc)
MsgBox (64, "Votre fichier HHC a bien été généré !", "Veuillez valider sur OK pour générer la création de votre fichier HHK")
EndIf
$ListeFichiers1=_FileListToArray3 ($chemin, $fichiers, 1, 1, 1)
if @error==1 then
Exit
Else
$nf1=$ListeFichiers1[0]
$f_hhk=FileOpen ($niveau1 & ".hhk", 10)
FileWriteLine ($f_hhk, $ligne1)
FileWriteLine ($f_hhk, $ligne2)
FileWriteLine ($f_hhk, $ligne3)
FileWriteLine ($f_hhk, $ligne4)
FileWriteLine ($f_hhk, $ligne5)
FileWriteLine ($f_hhk, $ligne6)
FileWriteLine ($f_hhk, $ligne7)
FileWriteLine ($f_hhk, '<UL>')
for $k=1 to $nf1
$s1=StringSplit ($ListeFichiers1[$k], "\")
FileWriteLine ($f_hhk, '<LI> <OBJECT type="text/sitemap">')
FileWriteLine ($f_hhk, '<param name="Name" value="' & StringTrimRight ($s1[$s1[0]], 5) & '">')
FileWriteLine ($f_hhk, '<param name="Local" value="' & $ListeFichiers1[$k] & '">')
FileWriteLine ($f_hhk, '</OBJECT>')
Next
FileWriteLine ($f_hhk, '</UL>')
FileWriteLine ($f_hhk, $ligne12)
FileWriteLine ($f_hhk, $ligne13)
FileClose ($f_hhk)
MsgBox (64, "Votre fichier HHK a bien été généré !", " Veuillez valider sur OK pour générer la création de votre fichier HHP")
EndIf
$LigneHHP1= '[OPTIONS]'
$LigneHHP2='Compatibility=1.1 or later'
$LigneHHP3='Compiled file=' & $niveau1 & '.chm'
$LigneHHP4='Contents file=' & $niveau1 & '.hhc'
$LigneHHP5='Default topic='
$LigneHHP6='Full-text search=Yes'
$LigneHHP7='Display compile progress=No'
$LigneHHP8='Index file=' & $niveau1 & '.hhk'
$LigneHHP9='Language=0x40c Français (France)'
$LigneHHP10='Title=' & $niveau1
$LigneHHP11='[FILES]'
$LigneHHP12=$chemin & "*"
$LigneHHP13='[INFOTYPES]'
$f_hhp=FileOpen ($niveau1 & ".hhp", 10)
FileWriteLine ($f_hhp, $LigneHHP1)
FileWriteLine ($f_hhp, $LigneHHP2)
FileWriteLine ($f_hhp, $LigneHHP3)
FileWriteLine ($f_hhp, $LigneHHP4)
FileWriteLine ($f_hhp, $LigneHHP5)
FileWriteLine ($f_hhp, $LigneHHP6)
FileWriteLine ($f_hhp, $LigneHHP7)
FileWriteLine ($f_hhp, $LigneHHP8)
FileWriteLine ($f_hhp, $LigneHHP9)
FileWriteLine ($f_hhp, $LigneHHP10)
FileWriteLine ($f_hhp, $LigneHHP11)
FileWriteLine ($f_hhp, $LigneHHP12)
FileWriteLine ($f_hhp, $LigneHHP13)
FileClose ($f_hhp)
MsgBox (64, "Confirmation du fichier HHP", "Votre fichier HHP a bien été généré !" & "Validez sur OK pour générer votre fichier CHM")
$execute=Run(@ComSpec & " /c " & 'hhc ' & $niveau1 & '.hhp', "", @SW_HIDE) ; don't forget " " before "/c"
if $execute <> 0 Then
MsgBox(64, "Création du fichier CHM", "C'est bon, votre fichier chm a bien été généré !")
Exit
Else
MsgBox(64, "Création de votre fichier CHM", "Erreur, votre fichier CHM n'a pas pu être généré !")
Exit
EndIf