Bonjour,
Je viens de créer une interface qui permet à mes utilisateurs d'enregistrer des produits dans un fichier csv en utilisant des codes barres.
Mon interface possède une input (avec plusieurs lignes possible)
J'ai un bouton "enregistrer" qui lorsque je clique dessus, vérifie les numéros et les enregistre dans un fichier CSV avec comme séparateur de champs un ";".
Mon problème est qu'avec plusieurs lecteurs de code barre, si je lis un code barre avec un chiffre en doublon (ex : 63977), le deuxième chiffre identique accolé disparait dans mon interface. Lorsque j'enregistre l'info, bien sur, mon fichier CSV n'a pas la bonne valeur.
Avez-vous une idée ?
Dernier point, existe t'il une BDD Autoit que je pourrai utiliser au lieu de sauvegarder dans un fichier CSV....
MErci.
Edouard
PS : je joins le code, si cela peut vous aider :
► Afficher le texte
Code : Tout sélectionner
;Include
#Include <Array.au3>
#include <Constants.au3>
#Include <Date.au3>
#include <File.au3>
#include-once
;Variables
$date = @mday&"-"&@mon&"-"&@year
global $erreur = 0
;Test la présence du dossier de sauvegarde des fichiers d'export
if not FileExists("c:\MS1") then DirCreate("c:\MS1")
if not FileExists("c:\MS1\archive") then DirCreate("c:\MS1\archive")
;Menu
$FormPhase1 = GUICreate("", 590,525,-1, -1,BitOR($WS_POPUP,$WS_BORDER))
GUISetBkColor(0xffffff,$FormPhase1)
GUICtrlCreateLabel("Caissons MS1 :",20,200,200)
GUICtrlSetFont(-1,15,400)
GUICtrlCreateLabel("Num Caisson :",59 , 232,100)
GUICtrlCreateLabel("Nomad Number :",47, 245,100)
$tableauCaisson = GUICtrlCreateInput("",130,230,120,35,bitor($ES_MULTILINE,$ES_WANTRETURN))
$SaveCaisson = GUICtrlCreateButton(" Enregistrer ",150,335)
$exit = GUICtrlCreateButton("Exit",10,495,100)
;Archivage des panneaux scannés
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
Exit
case $nMsg = $SaveCaisson
_saveCaisson()
case $nMsg = $exit
Exit
EndSelect
WEnd
;Début des fonctions
;-------------------------------------------------------------------------
func _eraseTableausaisie($tableau)
GUICtrlSetData($tableau,"")
EndFunc
;-------------------------------------------------------------------------
;Enregistrement des caissons
Func _saveCaisson()
;$erreur = 0
$heures = @hour&":"&@min&":"&@SEC
global $arrayCaisson
$file = "CaissonsMS1.csv"
$path = "C:\MS1\"
;Mise en forme des données
$tabl = StringSplit(guictrlread($tableauCaisson),@LF)
for $q = 1 to $tabl[0] step 1
$tabl[$q] = StringReplace($tabl[$q],@CR,"")
Next
;Lecture du fichier texte
if not Fileexists($path&$file) then
FileWriteLine($path&$file,$date&"-"&$heures&";"&$tabl[1]&";"&$tabl[2]&";")
SplashTextOn("Enregistrement","Fin de l'enregistrement",200,30)
sleep(1000)
SplashOff()
_eraseTableausaisie($tableauCaisson)
Else
_FileReadToArray($path&$file,$arrayCaisson)
;if $erreur = 0 Then
FileWriteLine($path&$file,$date&"-"&$heures&";"&$tabl[1]&";"&$tabl[2]&";")
SplashTextOn("Enregistrement","Fin de l'enregistrement",200,30)
sleep(1000)
SplashOff()
_eraseTableausaisie($tableauCaisson)
;EndIf
EndIf
EndFunc