Code : Tout sélectionner
#region Variable Globale
;ou se trouvre votre fichier "dbf.js" : ici, même repertoire que le script
Global $pathFileJs = @ScriptDir&"\dbf.js"
Global $TypeComboChoix = "Doc NB Bureautique|Doc NB Support|Doc NB Specifique|Doc NB Metier" ; valeur a modifier pour vos "type"
Global $pathFileToIndex = ""
Global $pathFileParcourir = ""
#endregion Variable Globale
#Region ### START Koda GUI section ### Form=C:\Documents and Settings\maumener\Desktop\Form1_1.kxf
Global $Form1_1 = GUICreate("claw75", 521, 330, 801, 140)
Global $InputParcours = GUICtrlCreateInput("", 200, 152, 201, 21)
Global $Parcourir = GUICtrlCreateButton("Parcourir", 408, 152, 97, 25)
Global $EditMotCle = GUICtrlCreateEdit("", 40, 152, 145, 169)
Global $Mots = GUICtrlCreateLabel("Mots", 40, 128, 91, 17)
Global $InputDescription = GUICtrlCreateInput("", 224, 216, 233, 21)
Global $Indexer = GUICtrlCreateButton("Indexer", 239, 248, 185, 41)
Global $Description = GUICtrlCreateLabel("Descritpion", 224, 192, 57, 17)
Global $Fichier = GUICtrlCreateLabel("Fichier", 200, 128, 35, 17)
Global $ComboType = GUICtrlCreateCombo("", 40, 80, 153, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData($ComboType,$TypeComboChoix)
Global $Type = GUICtrlCreateLabel("Type", 40, 48, 28, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Parcourir
$pathFileParcourir = FileOpenDialog("claw75",@DesktopDir,"(*.*)")
GUICtrlSetData($InputParcours,$pathFileParcourir)
Case $Indexer
Local $text = ""
Local $type = GUICtrlRead($ComboType)
Local $motcle = StringReplace(GUICtrlRead($EditMotCle),@CRLF,",")
Local $descriptionTxt = GUICtrlRead($InputDescription)
If $type <> "" And $motcle <> "" And $descriptionTxt <> "" And $pathFileParcourir <> "" Then
; chemin du genre "Doc NB Bureautique/test.doc"
$pathFileToIndex = "Doc/"&$type&"/"&StringRegExpReplace($pathFileParcourir,".*\\(.*)","$1")
_writeFile($pathFileJs,$type,$pathFileToIndex,$motcle,$descriptionTxt)
If @error Then
Local $error[3]=["erreur ouverture de fichier","erreur d'ecriture de fichier","erreur, categorie introuvable"]
MsgBox(48,"erreur",$error[@error-1])
Else
MsgBox(64,"Job","Done ;-)")
EndIf
Else
MsgBox(48,"erreur","remplissez tout les champs")
EndIf
EndSwitch
WEnd
#cs _writeFile($pathFile,$type,$pathFileParcourir,$motcle,$description)
#Permet d'ecrire dans un fichier
@Param :
~ $pathFile : le fichier dans quoi ecrire
~ $type : dans quel catégorie écrire
~ $pathFileParcourir : parcours du fichier = path+nom fichier
~ $motcle : serie de mot cle
~ $description : la description
@Return:
~ @error = 1 : erreur pas trouvé de fichier
~ @error = 2 : erreur d'ecriture
~ @error = 3 : erreur de categorie introuvable
#ce
Func _writeFile($pathFile,$type,$pathFileIndex,$motcle,$description)
Local $hFile ; sera de mon fichier
Local $sRead ; ma lecture du fichier
Local $add ; mon "add(xxxx)"
Local $nLine = 1
$add&='add("'&"<a href='"&$pathFileIndex&"'>"&_fileName($pathFileIndex)&'</a>",'&'"'&$motcle&'","'&$description&'")'
Local $aArray,$sStr=""
_FileReadToArray($pathFile,$aArray)
If @error Then Return SetError(1,0,"")
While $nLine < UBound($aArray)
$sStr&=$aArray[$nLine]&@CRLF
If StringInStr($aArray[$nLine],$type) <> 0 Then
$sStr&=$add&@CRLF
For $i=$nLine+1 To UBound($aArray)-1
$sStr&=$aArray[$i]&@CRLF
Next
ExitLoop
EndIf
$nLine+=1
Wend
If $nLine >= UBound($aArray) Then Return SetError(3,0,"") ; on a pas trouver la categorie
$hFile = FileOpen($pathFile,2)
If $hFile = -1 Then return SetError(1,0,"")
FileWrite($hFile,$sStr)
If @error Then
FileClose($hFile)
Return SetError(2,0,"")
EndIf
FileClose($hFile)
EndFunc
Func _fileName($path)
Return StringRegExpReplace($path,"(?:.*\/)?(.*)\..*","$1")
EndFunc