j'essaye difficilement et grace a l'aide de walkson de finir un petit script mais encore une fois je pense que je manque de connaissance, je veux aller plus vite que la musique
il me manque un seul truc pour le terminer , quand je rentre des données dans les deux input et clic sur ajouter cela m'affiche bien ma date du jour, et les deux input mais quand je quitte le programme il ne m'enregistre que la date et un seul input (et non les deux)
voici le script et le .ini
#include <GuiConstantsEx.au3>
#include <ListviewConstants.au3>
#include <Array.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
#include <GuiStatusBar.au3>
Global $ini = @ScriptDir & "\testini.ini"
Global $iniG = @ScriptDir & "\testiniG.ini"
If Not FileExists($iniG) Then FileWrite($iniG,"")
If Not FileExists($ini) Then FileWrite($ini,"")
Global $arrayG = _ReadZeIni($iniG)
Global $array = _ReadZeIni($ini) ; lecture du ini => 1ère array ($array) pour stocker les infos
Global $itemG = -1, $itemD = -1
$gui = GUICreate("liste des Litiges", 582, 280, -1, -1, -1)
GUISetBkColor(0x99B4D1)
Global $listview2 = GUICtrlCreateListView("||" & "soft", 370, 40, 200, 130, $LVS_NOCOLUMNHEADER, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
Global $listview = GUICtrlCreateListView("||" & "soft", 10, 40, 200, 130, $LVS_NOCOLUMNHEADER, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
GUICtrlSendMsg($listview, $LVM_SETCOLUMNWIDTH, 0, 80)
GUICtrlSendMsg($listview, $LVM_SETCOLUMNWIDTH, 1, 320)
GUICtrlSendMsg($listview2, $LVM_SETCOLUMNWIDTH, 0, 80)
GUICtrlSendMsg($listview2, $LVM_SETCOLUMNWIDTH, 1, 320)
_GUICtrlListView_AddArray ($listview,$array)
_GUICtrlListView_AddArray ($listview2,$arrayG)
$ajoute = GUICtrlCreateButton("Ajouter", 30, 220, 120, 25)
$degage = GUICtrlCreateButton("Supprimer", 250, 130, 80, 25)
$Nserie = GUICtrlCreateInput("", 30, 190, 120, 25)
$Commentaire = GUICtrlCreateInput("", 190, 190, 120, 25)
$Transferer = GUICtrlCreateButton("Tranférer >>>", 240, 70, 100, 25)
$TransfererG = GUICtrlCreateButton("<<< Tranférer", 240, 100, 100, 25)
$Label = GUICtrlCreateLabel("Litige à traiter", 40, 10, 200, 25)
$Label = GUICtrlCreateLabel("Litige Résolu", 400, 10, 200, 25)
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
$rep = MsgBox(4 + 32,"Fermeture du programme","Voulez vous enregistrer ?",0,$gui)
If $rep = 6 Then
$arrayList = LisviewToArray($listview)
_WriteInZeIni($ini,$arrayList)
$arrayList = LisviewToArray($listview2)
_WriteInZeIni($iniG,$arrayList)
EndIf
Exit
Case $Transferer
$itemG = _GUICtrlListView_GetNextItem($listview);item sélectionné
If $itemG > -1 Then
_GUICtrlListView_CopyItems(GUICtrlGetHandle($listview), GUICtrlGetHandle($listview2), 1)
EndIf
Case $TransfererG
$itemD = _GUICtrlListView_GetNextItem($listview2)
If $itemD > -1 Then
_GUICtrlListView_CopyItems(GUICtrlGetHandle($listview2), GUICtrlGetHandle($listview), 1)
EndIf
Case $degage
$itemS = _GUICtrlListView_GetNextItem($listview)
If $itemS > -1 Then _GUICtrlListView_DeleteItem ( $listview, $itemS )
$itemS = - 1
Case $ajoute
$var = GUICtrlRead($Nserie)
$var2 = GUICtrlRead($Commentaire)
If $var = "" Then
MsgBox(0, "Erreur", 'Veuillez Saisir un Litige')
Else
$TIME = @MDAY & "/" & @MON & "/" & @YEAR
$nbLigne = _GUICtrlListView_GetItemCount($listview)
_GUICtrlListView_AddItem($listview,$TIME )
_GUICtrlListView_AddSubItem($listview,$nbLigne, $var,1 )
_GUICtrlListView_AddSubItem($listview,$nbLigne, $var2,2 ); j'aimerai que $var2 soit enregistrer
GUICtrlSetData($Nserie, "")
GUICtrlSetData($Commentaire, "")
GUICtrlSetState($Nserie,$GUI_FOCUS )
EndIf
EndSwitch
WEnd
Func _WriteInZeIni($file, $array)
FileDelete($file)
FileWrite($file,"")
For $i = 0 To UBound($array) - 1
IniWrite($file, $i, $array[$i][0], $array[$i][1])
Next
EndFunc ;==>_WriteInZeIni
Func _ReadZeIni($file)
$var = IniReadSectionNames($file)
If @error Then
Return SetError(1)
EndIf
Dim $array[$var[0]][2]
For $i = 1 To $var[0]
$readsection = IniReadSection($file, $var[$i])
$array[$i - 1][0] = $readsection[1][0]
$array[$i - 1][1] = $readsection[1][1]
Next
Return $array
EndFunc ;==>_ReadZeIni
Func LisviewToArray($ListView)
$nbLigne = _GUICtrlListView_GetItemCount($ListView)
$nbCol = _GUICtrlListView_GetColumnCount ( $ListView )
Local $TT
If $nbCol > 1 Then
Local $arrayA[0][$nbCol];;;;;;;non
For $i = 0 To $nbLigne - 1
For $y = 0 To $nbCol - 1
$rep = _GUICtrlListView_GetItem ( $ListView, $i , $y )
$TT &= $rep[3] &"|"
Next
_ArrayAdd($arrayA, StringTrimRight($TT,1))
$TT = ""
Next
Else
Local $arrayA[0]
For $i = 0 To $nbLigne - 1
$rep = _GUICtrlListView_GetItem ( $ListView, $i )
_ArrayAdd($arrayA, $rep[3])
Next
EndIf
Return $arrayA
EndFunc
#include <ListviewConstants.au3>
#include <Array.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
#include <GuiStatusBar.au3>
Global $ini = @ScriptDir & "\testini.ini"
Global $iniG = @ScriptDir & "\testiniG.ini"
If Not FileExists($iniG) Then FileWrite($iniG,"")
If Not FileExists($ini) Then FileWrite($ini,"")
Global $arrayG = _ReadZeIni($iniG)
Global $array = _ReadZeIni($ini) ; lecture du ini => 1ère array ($array) pour stocker les infos
Global $itemG = -1, $itemD = -1
$gui = GUICreate("liste des Litiges", 582, 280, -1, -1, -1)
GUISetBkColor(0x99B4D1)
Global $listview2 = GUICtrlCreateListView("||" & "soft", 370, 40, 200, 130, $LVS_NOCOLUMNHEADER, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
Global $listview = GUICtrlCreateListView("||" & "soft", 10, 40, 200, 130, $LVS_NOCOLUMNHEADER, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
GUICtrlSendMsg($listview, $LVM_SETCOLUMNWIDTH, 0, 80)
GUICtrlSendMsg($listview, $LVM_SETCOLUMNWIDTH, 1, 320)
GUICtrlSendMsg($listview2, $LVM_SETCOLUMNWIDTH, 0, 80)
GUICtrlSendMsg($listview2, $LVM_SETCOLUMNWIDTH, 1, 320)
_GUICtrlListView_AddArray ($listview,$array)
_GUICtrlListView_AddArray ($listview2,$arrayG)
$ajoute = GUICtrlCreateButton("Ajouter", 30, 220, 120, 25)
$degage = GUICtrlCreateButton("Supprimer", 250, 130, 80, 25)
$Nserie = GUICtrlCreateInput("", 30, 190, 120, 25)
$Commentaire = GUICtrlCreateInput("", 190, 190, 120, 25)
$Transferer = GUICtrlCreateButton("Tranférer >>>", 240, 70, 100, 25)
$TransfererG = GUICtrlCreateButton("<<< Tranférer", 240, 100, 100, 25)
$Label = GUICtrlCreateLabel("Litige à traiter", 40, 10, 200, 25)
$Label = GUICtrlCreateLabel("Litige Résolu", 400, 10, 200, 25)
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case -3
$rep = MsgBox(4 + 32,"Fermeture du programme","Voulez vous enregistrer ?",0,$gui)
If $rep = 6 Then
$arrayList = LisviewToArray($listview)
_WriteInZeIni($ini,$arrayList)
$arrayList = LisviewToArray($listview2)
_WriteInZeIni($iniG,$arrayList)
EndIf
Exit
Case $Transferer
$itemG = _GUICtrlListView_GetNextItem($listview);item sélectionné
If $itemG > -1 Then
_GUICtrlListView_CopyItems(GUICtrlGetHandle($listview), GUICtrlGetHandle($listview2), 1)
EndIf
Case $TransfererG
$itemD = _GUICtrlListView_GetNextItem($listview2)
If $itemD > -1 Then
_GUICtrlListView_CopyItems(GUICtrlGetHandle($listview2), GUICtrlGetHandle($listview), 1)
EndIf
Case $degage
$itemS = _GUICtrlListView_GetNextItem($listview)
If $itemS > -1 Then _GUICtrlListView_DeleteItem ( $listview, $itemS )
$itemS = - 1
Case $ajoute
$var = GUICtrlRead($Nserie)
$var2 = GUICtrlRead($Commentaire)
If $var = "" Then
MsgBox(0, "Erreur", 'Veuillez Saisir un Litige')
Else
$TIME = @MDAY & "/" & @MON & "/" & @YEAR
$nbLigne = _GUICtrlListView_GetItemCount($listview)
_GUICtrlListView_AddItem($listview,$TIME )
_GUICtrlListView_AddSubItem($listview,$nbLigne, $var,1 )
_GUICtrlListView_AddSubItem($listview,$nbLigne, $var2,2 ); j'aimerai que $var2 soit enregistrer
GUICtrlSetData($Nserie, "")
GUICtrlSetData($Commentaire, "")
GUICtrlSetState($Nserie,$GUI_FOCUS )
EndIf
EndSwitch
WEnd
Func _WriteInZeIni($file, $array)
FileDelete($file)
FileWrite($file,"")
For $i = 0 To UBound($array) - 1
IniWrite($file, $i, $array[$i][0], $array[$i][1])
Next
EndFunc ;==>_WriteInZeIni
Func _ReadZeIni($file)
$var = IniReadSectionNames($file)
If @error Then
Return SetError(1)
EndIf
Dim $array[$var[0]][2]
For $i = 1 To $var[0]
$readsection = IniReadSection($file, $var[$i])
$array[$i - 1][0] = $readsection[1][0]
$array[$i - 1][1] = $readsection[1][1]
Next
Return $array
EndFunc ;==>_ReadZeIni
Func LisviewToArray($ListView)
$nbLigne = _GUICtrlListView_GetItemCount($ListView)
$nbCol = _GUICtrlListView_GetColumnCount ( $ListView )
Local $TT
If $nbCol > 1 Then
Local $arrayA[0][$nbCol];;;;;;;non
For $i = 0 To $nbLigne - 1
For $y = 0 To $nbCol - 1
$rep = _GUICtrlListView_GetItem ( $ListView, $i , $y )
$TT &= $rep[3] &"|"
Next
_ArrayAdd($arrayA, StringTrimRight($TT,1))
$TT = ""
Next
Else
Local $arrayA[0]
For $i = 0 To $nbLigne - 1
$rep = _GUICtrlListView_GetItem ( $ListView, $i )
_ArrayAdd($arrayA, $rep[3])
Next
EndIf
Return $arrayA
EndFunc