CODICE
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $dir_gta_sa = GetGTASAPath ()
Global $lst1, $lst2, $lst3, $lst4, $lst_t
Dim $s_g = "C:\Documents and settings\" & @UserName & "\Documenti\GTA San Andreas User Files\"
Dim $b_s = "C:\Documents and settings\" & @UserName & "\Documenti\GTA San Andreas User Files\Backup user file\Salvataggi\"
Dim $c_g = $dir_gta_sa & "\CLEO\"
Dim $b_c = "C:\Documents and settings\" & @UserName & "\Documenti\GTA San Andreas User Files\Backup user file\Mod CLEO\"
#Region ### START Koda GUI section ### Form=c:\documents and settings\giorgio\desktop\gestione gta sa koda.kxf
$parent = GUICreate ("Gestione GTA SA", 452, 717, 315, 124)
$lbl1 = GUICtrlCreateLabel ("Salvataggi in GTA SA", 8, 8, 107, 17)
$lst1 = GUICtrlCreateList ("", 8, 32, 209, 214)
$btn1_1 = GUICtrlCreateButton ("Backup", 27, 256, 65, 20)
$btn1_2 = GUICtrlCreateButton ("Elimina", 133, 256, 65, 20)
$lbl2 = GUICtrlCreateLabel ("Backup salvataggi GTA SA", 232, 8, 134, 17)
$lst2 = GUICtrlCreateList ("", 232, 32, 209, 214)
$btn2_1 = GUICtrlCreateButton ("Ripsristina", 256, 256, 65, 20)
$btn2_2 = GUICtrlCreateButton ("Elimina", 360, 256, 65, 20)
$lbl3 = GUICtrlCreateLabel ("Mod CLEO in GTA SA", 8, 296, 109, 17)
$lst3 = GUICtrlCreateList ("", 8, 320, 209, 214)
$btn3_1 = GUICtrlCreateButton ("Backup", 27, 543, 65, 20)
$btn3_2 = GUICtrlCreateButton ("Elimina", 128, 543, 65, 20)
$lbl4 = GUICtrlCreateLabel ("Backup mod CLEO GTA SA", 232, 296, 137, 17)
$lst4 = GUICtrlCreateList ("", 233, 320, 209, 214)
$btn4_1 = GUICtrlCreateButton ("Ripristina", 256, 543, 65, 20)
$btn4_2 = GUICtrlCreateButton ("Elimina", 359, 543, 65, 20)
$status_b = _GUICtrlStatusBar_Create ($parent)
_GUICtrlStatusBar_SetMinHeight ($status_b, 20)
GUISetState ()
#EndRegion ### END Koda GUI section ###
initialize ()
While 1
$msg = GUIGetMsg ()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $btn1_1
FileCopy ($s_g & GUICtrlRead ($lst1), $b_s)
ReloadFile ()
Case $msg = $btn1_2
If FileExists ($b_s & GUICtrlRead ($lst1)) Then
FileDelete ($s_g & GUICtrlRead ($lst1))
ReloadFile ()
Else
MsgBox (0, "Errore", "Deve rimanere almeno una copia del salvataggio")
EndIf
Case $msg = $btn2_1
FileCopy ($b_s & GUICtrlRead ($lst2), $s_g)
ReloadFile ()
Case $msg = $btn2_2
If FileExists ($s_g & GUICtrlRead ($lst2)) Then
FileDelete ($b_s & GUICtrlRead ($lst2))
ReloadFile ()
Else
MsgBox (0, "Errore", "Deve rimanere almeno una copia del salvataggio")
EndIf
Case $msg = $btn3_1
FileCopy ($c_g & GUICtrlRead ($lst3), $b_c)
ReloadFile ()
Case $msg = $btn3_2
If FileExists ($b_c & GUICtrlRead ($lst3)) Then
FileDelete ($c_g & GUICtrlRead ($lst3))
ReloadFile ()
Else
MsgBox (0, "Errore", "Deve rimanere almeno una copia del salvataggio")
EndIf
Case $msg = $btn4_1
FileCopy ($b_c & GUICtrlRead ($lst4), $c_g)
ReloadFile ()
Case $msg = $btn4_2
If FileExists ($c_g & GUICtrlRead ($lst4)) Then
FileDelete ($b_c & GUICtrlRead ($lst4))
ReloadFile ()
Else
MsgBox (0, "Errore", "Deve rimanere almeno una copia del salvataggio")
EndIf
Case GUICtrlRead ($lst1) = "Selezionami per cambiare di posizione"
_GUICtrlListBox_SetCurSel ($lst1, 1)
ChangeSavPosition ()
ReloadFile ()
EndSelect
WEnd
Func initialize ()
ReloadInfo ()
ReloadFile ()
EndFunc
Func ReloadFile ()
_GUICtrlListBox_ResetContent ($lst1)
_GUICtrlListBox_ResetContent ($lst2)
_GUICtrlListBox_ResetContent ($lst3)
_GUICtrlListBox_ResetContent ($lst4)
GUICtrlSetData ($lst1, "Selezionami per cambiare di posizione")
GetFileList ($s_g, "*.b", $lst1) ;Salvataggi in GTA SA
GetFileList ($b_s, "*.b", $lst2) ;Backup salvataggi GTA SA
GetFileList ($c_g, "*.cs", $lst3) ;Mod CLEO in GTA SA
GetFileList ($b_c, "*.cs", $lst4) ;Backup Mod CLEO GTA SA
EndFunc
Func ReloadInfo ()
_GUICtrlStatusBar_SetText ($status_b, "La dir di GTA SA è: " & $dir_gta_sa)
EndFunc
Func GetFileList ($dir, $ext, $lst)
$search = FileFindFirstFile ($dir & $ext)
If $search <> -1 Then
While 1
$file = FileFindNextFile ($search)
If @error Then ExitLoop
GUICtrlSetData ($lst, $file)
WEnd
EndIf
EndFunc
Func GetGTASAPath ()
Local $dir
$r_r = RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Rockstar Games\GTA San Andreas\Installation\", "ExePath")
$s_s = StringSplit (StringTrimLeft (StringTrimRight ($r_r, 1), 1), "\")
For $i = 1 To $s_s[0] - 1
$dir &= $s_s[$i] & "\"
Next
Return ($dir)
EndFunc
Func ChangeSavPosition ()
$child = GUICreate ("Imposta l'ordine dei salvataggi", 250, 170)
$lst_t = GUICtrlCreateList ("", 2, 2, 246, 120)
$inp_t = GUICtrlCreateInput ("1", 2, 140, 50, 20)
$btn_t = GUICtrlCreateButton ("Imposta", 57, 140, 50, 20)
GetFileListTemp ()
GUICtrlCreateLabel ("Inserisci la posizione da impostare", 2, 117)
GUISetState ()
While 1
$msg = GUIGetMsg ()
$read_inp = GUICtrlRead ($inp_t)
$read_n = GetItemN ()
Select
Case $msg = $GUI_EVENT_CLOSE
GUIDelete ($child)
ExitLoop
Case $msg = $btn_t
If Number ($read_inp) = 0 Then
MsgBox (0, "Errore", "Il valore inserito non è numerico")
ContinueLoop
ElseIf $read_inp < 1 Or $read_inp > 8 Then
MsgBox (0, "Errore", "Devi inserire un valore numerico fra 1 e 8")
ContinueLoop
ElseIf FileExists ($s_g & "GTASAsf" & $read_inp & ".b") Then
MsgBox (0, "Errore", "Non puoi sovrascrivere su un'altro salvataggio")
ContinueLoop
EndIf
_GUICtrlListBox_ResetContent ($lst_t)
FileMove ($s_g & "GTASAsf" & $read_n & ".b", $s_g & "GTASAsf" & $read_inp & ".b")
GetFileListTemp ()
EndSelect
WEnd
EndFunc
Func GetItemN ()
Return (StringLeft (_GUICtrlListBox_GetText ($lst_t, _GUICtrlListBox_GetCurSel ($lst_t)), 1))
EndFunc
Func GetFileListTemp ()
$file = FileFindNextFile (FileFindFirstFile ($s_g & "*.b"))
$s_s = StringSplit ($file, ".")
For $i = 1 To 8
If FileExists ($s_g & "GTASAsf" & $i & ".b") Then
GUICtrlSetData ($lst_t, $i & ". GTASAsf" & $i & ".b")
Else
GUICtrlSetData ($lst_t, $i & ". (Spazio vuoto)")
EndIf
Next
_GUICtrlListBox_SetCurSel ($lst_t, 0)
EndFunc