Usability updates for filters and wizards
This commit is contained in:
@@ -194,24 +194,23 @@ Public Class frmAddWizard
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub DoSave()
|
Private Sub DoSave()
|
||||||
Dim oGames As New List(Of clsGame)
|
|
||||||
Dim hshDupeCheck As New Hashtable
|
Dim hshDupeCheck As New Hashtable
|
||||||
Dim sExistingGame As String
|
Dim sNewGame As String = oGameToSave.ProcessName & ":" & oGameToSave.Name
|
||||||
Dim sNewGame As String = oGameToSave.Name & ":" & oGameToSave.ProcessName
|
|
||||||
|
|
||||||
For Each o As clsGame In GameData.Values
|
For Each o As clsGame In GameData.Values
|
||||||
oGames.Add(o)
|
hshDupeCheck.Add(o.CompoundKey, String.Empty)
|
||||||
sExistingGame = o.Name & ":" & o.ProcessName
|
|
||||||
hshDupeCheck.Add(sExistingGame, String.Empty)
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
If hshDupeCheck.Contains(sNewGame) Then
|
If hshDupeCheck.Contains(sNewGame) Then
|
||||||
MsgBox("The monitor list already contains a game with this exact name and process.", MsgBoxStyle.Exclamation, "Game Backup Monitor")
|
MsgBox("A game with this exact name and process already exists.", MsgBoxStyle.Exclamation, "Game Backup Monitor")
|
||||||
Else
|
Else
|
||||||
mgrMonitorList.DoListAdd(oGameToSave)
|
mgrMonitorList.DoListAdd(oGameToSave)
|
||||||
MsgBox(oGameToSave.Name & " has been added to the monitor list.", MsgBoxStyle.Exclamation, "Game Backup Monitor")
|
If MsgBox(oGameToSave.Name & " has been saved." & vbCrLf & vbCrLf &
|
||||||
|
"Would you like to add tags for " & oGameToSave.Name & "?", MsgBoxStyle.YesNo, "Game Backup Monitor") = MsgBoxResult.Yes Then
|
||||||
|
OpenTags(oGameToSave)
|
||||||
|
End If
|
||||||
Me.Close()
|
Me.Close()
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ValidateBack()
|
Private Sub ValidateBack()
|
||||||
@@ -397,6 +396,16 @@ Public Class frmAddWizard
|
|||||||
txtBox.Text = frm.BuilderString
|
txtBox.Text = frm.BuilderString
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub OpenTags(ByVal oGame As clsGame)
|
||||||
|
Dim frm As New frmGameTags
|
||||||
|
Dim sMonitorIDs As New List(Of String)
|
||||||
|
sMonitorIDs.Add(oGame.ID)
|
||||||
|
|
||||||
|
frm.IDList = sMonitorIDs
|
||||||
|
frm.GameName = oGame.Name
|
||||||
|
frm.ShowDialog()
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
|
Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
|
||||||
ValidateBack()
|
ValidateBack()
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
+10
-6
@@ -1,12 +1,14 @@
|
|||||||
Public Class frmFilter
|
Public Class frmFilter
|
||||||
|
|
||||||
Public Enum eFilterType As Integer
|
Public Enum eFilterType As Integer
|
||||||
Any = 1
|
NoFilter = 1
|
||||||
All = 2
|
AnyTag = 2
|
||||||
|
AllTags = 3
|
||||||
|
NoTags = 4
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Dim oFilters As New List(Of clsTag)
|
Dim oFilters As New List(Of clsTag)
|
||||||
Dim eCurrentFilterType As eFilterType = eFilterType.Any
|
Dim eCurrentFilterType As eFilterType = eFilterType.AnyTag
|
||||||
Dim hshTags As New Hashtable
|
Dim hshTags As New Hashtable
|
||||||
Dim bShutdown As Boolean = False
|
Dim bShutdown As Boolean = False
|
||||||
|
|
||||||
@@ -103,10 +105,12 @@
|
|||||||
Next
|
Next
|
||||||
|
|
||||||
'Set Filter Type
|
'Set Filter Type
|
||||||
If optAll.Checked Then
|
If Filters.Count = 0 Then
|
||||||
eCurrentFilterType = eFilterType.All
|
eCurrentFilterType = eFilterType.NoTags
|
||||||
|
ElseIf optAll.Checked Then
|
||||||
|
eCurrentFilterType = eFilterType.AllTags
|
||||||
Else
|
Else
|
||||||
eCurrentFilterType = eFilterType.Any
|
eCurrentFilterType = eFilterType.AnyTag
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
+28
-11
@@ -16,6 +16,8 @@ Public Class frmGameManager
|
|||||||
Private oRemoteBackupData As SortedList
|
Private oRemoteBackupData As SortedList
|
||||||
Private bIsDirty As Boolean = False
|
Private bIsDirty As Boolean = False
|
||||||
Private bIsLoading As Boolean = False
|
Private bIsLoading As Boolean = False
|
||||||
|
Private oCurrentFilters As New List(Of clsTag)
|
||||||
|
Private eCurrentFilter As frmFilter.eFilterType = frmFilter.eFilterType.NoFilter
|
||||||
|
|
||||||
Private Enum eModes As Integer
|
Private Enum eModes As Integer
|
||||||
View = 1
|
View = 1
|
||||||
@@ -201,22 +203,25 @@ Public Class frmGameManager
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub LoadData()
|
Private Sub LoadData(Optional ByVal bRetainFilter As Boolean = True)
|
||||||
Dim oRestoreData As New SortedList
|
Dim oRestoreData As New SortedList
|
||||||
Dim oGame As clsGame
|
Dim oGame As clsGame
|
||||||
Dim oBackup As clsBackup
|
Dim oBackup As clsBackup
|
||||||
Dim frm As frmFilter
|
Dim frm As frmFilter
|
||||||
Dim oFilters As New List(Of clsTag)
|
|
||||||
Dim eCurrentFilter As frmFilter.eFilterType = frmFilter.eFilterType.Any
|
|
||||||
|
|
||||||
If optTag.Checked Then
|
If optTag.Checked Then
|
||||||
frm = New frmFilter
|
If Not bRetainFilter Then
|
||||||
frm.ShowDialog()
|
frm = New frmFilter
|
||||||
oFilters = frm.Filters
|
frm.ShowDialog()
|
||||||
eCurrentFilter = frm.FilterType
|
oCurrentFilters = frm.Filters
|
||||||
|
eCurrentFilter = frm.FilterType
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
oCurrentFilters.Clear()
|
||||||
|
eCurrentFilter = frmFilter.eFilterType.NoFilter
|
||||||
End If
|
End If
|
||||||
|
|
||||||
AppData = mgrMonitorList.ReadFilteredList(oFilters, eCurrentFilter)
|
AppData = mgrMonitorList.ReadFilteredList(oCurrentFilters, eCurrentFilter)
|
||||||
|
|
||||||
If optPendingRestores.Checked Then
|
If optPendingRestores.Checked Then
|
||||||
oRestoreData = mgrRestore.CompareManifests
|
oRestoreData = mgrRestore.CompareManifests
|
||||||
@@ -492,7 +497,18 @@ Public Class frmGameManager
|
|||||||
frm.IDList = sMonitorIDs
|
frm.IDList = sMonitorIDs
|
||||||
frm.GameName = CurrentGame.Name
|
frm.GameName = CurrentGame.Name
|
||||||
frm.ShowDialog()
|
frm.ShowDialog()
|
||||||
FillTags(CurrentGame.ID)
|
|
||||||
|
'Only update visible tags if one item is selected
|
||||||
|
If lstGames.SelectedItems.Count = 1 Then FillTags(CurrentGame.ID)
|
||||||
|
|
||||||
|
'If a tag filter is enabled, reload list to reflect changes
|
||||||
|
If optTag.Checked Then
|
||||||
|
LoadData()
|
||||||
|
End If
|
||||||
|
|
||||||
|
'If the selected game(s) no longer match the filter, disable the form
|
||||||
|
If lstGames.SelectedIndex = -1 Then eCurrentMode = eModes.Disabled
|
||||||
|
ModeChange()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub GetBackupInfo(ByVal oApp As clsGame)
|
Private Sub GetBackupInfo(ByVal oApp As clsGame)
|
||||||
@@ -801,7 +817,6 @@ Public Class frmGameManager
|
|||||||
WipeControls(grpExtra.Controls)
|
WipeControls(grpExtra.Controls)
|
||||||
WipeControls(grpStats.Controls)
|
WipeControls(grpStats.Controls)
|
||||||
pbIcon.Image = My.Resources.Unknown
|
pbIcon.Image = My.Resources.Unknown
|
||||||
lblTags.Text = String.Empty
|
|
||||||
lblSync.Visible = False
|
lblSync.Visible = False
|
||||||
btnSave.Enabled = False
|
btnSave.Enabled = False
|
||||||
btnCancel.Enabled = False
|
btnCancel.Enabled = False
|
||||||
@@ -816,6 +831,7 @@ Public Class frmGameManager
|
|||||||
btnRestore.Enabled = False
|
btnRestore.Enabled = False
|
||||||
btnMarkAsRestored.Enabled = False
|
btnMarkAsRestored.Enabled = False
|
||||||
btnTags.Enabled = False
|
btnTags.Enabled = False
|
||||||
|
lblTags.Visible = False
|
||||||
btnInclude.Text = "In&clude Items..."
|
btnInclude.Text = "In&clude Items..."
|
||||||
btnExclude.Text = "E&xclude Items..."
|
btnExclude.Text = "E&xclude Items..."
|
||||||
Case eModes.MultiSelect
|
Case eModes.MultiSelect
|
||||||
@@ -840,6 +856,7 @@ Public Class frmGameManager
|
|||||||
btnRestore.Enabled = True
|
btnRestore.Enabled = True
|
||||||
btnMarkAsRestored.Enabled = True
|
btnMarkAsRestored.Enabled = True
|
||||||
btnTags.Enabled = True
|
btnTags.Enabled = True
|
||||||
|
lblTags.Visible = False
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
IsLoading = False
|
IsLoading = False
|
||||||
@@ -1257,7 +1274,7 @@ Public Class frmGameManager
|
|||||||
lstGames.ClearSelected()
|
lstGames.ClearSelected()
|
||||||
eCurrentMode = eModes.Disabled
|
eCurrentMode = eModes.Disabled
|
||||||
ModeChange()
|
ModeChange()
|
||||||
LoadData()
|
LoadData(False)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub btnInclude_Click(sender As Object, e As EventArgs) Handles btnInclude.Click
|
Private Sub btnInclude_Click(sender As Object, e As EventArgs) Handles btnInclude.Click
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ Public Class frmStartUpWizard
|
|||||||
Private Sub DownloadSettings()
|
Private Sub DownloadSettings()
|
||||||
If MsgBox("Would you like to import from the latest pre-configured game list?", MsgBoxStyle.YesNo, "Game Backup Monitor") = MsgBoxResult.Yes Then
|
If MsgBox("Would you like to import from the latest pre-configured game list?", MsgBoxStyle.YesNo, "Game Backup Monitor") = MsgBoxResult.Yes Then
|
||||||
If mgrMonitorList.DoImport(mgrPath.OfficialImportURL) Then
|
If mgrMonitorList.DoImport(mgrPath.OfficialImportURL) Then
|
||||||
oGameData = mgrMonitorList.ReadList(mgrMonitorList.eListTypes.ScanList)
|
oGameData = mgrMonitorList.ReadList(mgrMonitorList.eListTypes.FullList)
|
||||||
If oSettings.Sync Then mgrMonitorList.SyncMonitorLists()
|
If oSettings.Sync Then mgrMonitorList.SyncMonitorLists()
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -80,7 +80,7 @@ Public Class frmStartUpWizard
|
|||||||
|
|
||||||
Private Sub LoadGameSettings()
|
Private Sub LoadGameSettings()
|
||||||
'Load Game XML
|
'Load Game XML
|
||||||
oGameData = mgrMonitorList.ReadList(mgrMonitorList.eListTypes.ScanList)
|
oGameData = mgrMonitorList.ReadList(mgrMonitorList.eListTypes.FullList)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OpenGameWizard()
|
Private Sub OpenGameWizard()
|
||||||
|
|||||||
@@ -39,12 +39,19 @@ Public Class mgrMonitorList
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Shared Sub ExportMonitorList(ByVal sLocation As String)
|
Public Shared Sub ExportMonitorList(ByVal sLocation As String)
|
||||||
Dim frm As New frmFilter
|
|
||||||
Dim oList As List(Of Game)
|
Dim oList As List(Of Game)
|
||||||
Dim bSuccess As Boolean = False
|
Dim bSuccess As Boolean = False
|
||||||
|
Dim oFilters As New List(Of clsTag)
|
||||||
|
Dim eCurrentFilter As frmFilter.eFilterType = frmFilter.eFilterType.NoFilter
|
||||||
|
|
||||||
frm.ShowDialog()
|
If MsgBox("Would you like to apply a filter to your export?", MsgBoxStyle.YesNo, "Game Backup Monitor") = MsgBoxResult.Yes Then
|
||||||
oList = ReadListForExport(frm.Filters, frm.FilterType)
|
Dim frm As New frmFilter
|
||||||
|
frm.ShowDialog()
|
||||||
|
oFilters = frm.Filters
|
||||||
|
eCurrentFilter = frm.FilterType
|
||||||
|
End If
|
||||||
|
|
||||||
|
oList = ReadListForExport(oFilters, eCurrentFilter)
|
||||||
|
|
||||||
bSuccess = mgrXML.SerializeAndExport(oList, sLocation)
|
bSuccess = mgrXML.SerializeAndExport(oList, sLocation)
|
||||||
|
|
||||||
@@ -266,37 +273,38 @@ Public Class mgrMonitorList
|
|||||||
Dim hshParams As New Hashtable
|
Dim hshParams As New Hashtable
|
||||||
Dim iCounter As Integer = 0
|
Dim iCounter As Integer = 0
|
||||||
|
|
||||||
If oFilters.Count > 0 Then
|
|
||||||
Select Case eFilterType
|
|
||||||
Case frmFilter.eFilterType.Any
|
|
||||||
sSQL = "SELECT DISTINCT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist "
|
|
||||||
sSQL &= "NATURAL JOIN gametags WHERE gametags.TagID IN ("
|
|
||||||
|
|
||||||
For Each oTag As clsTag In oFilters
|
Select Case eFilterType
|
||||||
sSQL &= "@TagID" & iCounter & ","
|
Case frmFilter.eFilterType.NoFilter
|
||||||
hshParams.Add("TagID" & iCounter, oTag.ID)
|
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist ORDER BY Name Asc"
|
||||||
iCounter += 1
|
Case frmFilter.eFilterType.AnyTag
|
||||||
Next
|
sSQL = "SELECT DISTINCT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist "
|
||||||
|
sSQL &= "NATURAL JOIN gametags WHERE gametags.TagID IN ("
|
||||||
|
|
||||||
sSQL = sSQL.TrimEnd(",")
|
For Each oTag As clsTag In oFilters
|
||||||
sSQL &= ") ORDER BY Name Asc"
|
sSQL &= "@TagID" & iCounter & ","
|
||||||
Case frmFilter.eFilterType.All
|
hshParams.Add("TagID" & iCounter, oTag.ID)
|
||||||
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist WHERE MonitorID IN "
|
iCounter += 1
|
||||||
|
Next
|
||||||
|
|
||||||
For Each oTag As clsTag In oFilters
|
sSQL = sSQL.TrimEnd(",")
|
||||||
sSQL &= "(SELECT MonitorID FROM gametags WHERE monitorlist.MonitorID = gametags.MonitorID And TagID = @TagID" & iCounter & ")"
|
sSQL &= ") ORDER BY Name Asc"
|
||||||
If iCounter <> oFilters.Count - 1 Then
|
Case frmFilter.eFilterType.AllTags
|
||||||
sSQL &= " AND MonitorID IN "
|
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist WHERE MonitorID IN "
|
||||||
End If
|
|
||||||
hshParams.Add("TagID" & iCounter, oTag.ID)
|
|
||||||
iCounter += 1
|
|
||||||
Next
|
|
||||||
|
|
||||||
sSQL &= " ORDER BY Name Asc"
|
For Each oTag As clsTag In oFilters
|
||||||
End Select
|
sSQL &= "(SELECT MonitorID FROM gametags WHERE monitorlist.MonitorID = gametags.MonitorID And TagID = @TagID" & iCounter & ")"
|
||||||
Else
|
If iCounter <> oFilters.Count - 1 Then
|
||||||
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist ORDER BY Name Asc"
|
sSQL &= " AND MonitorID IN "
|
||||||
End If
|
End If
|
||||||
|
hshParams.Add("TagID" & iCounter, oTag.ID)
|
||||||
|
iCounter += 1
|
||||||
|
Next
|
||||||
|
|
||||||
|
sSQL &= " ORDER BY Name Asc"
|
||||||
|
Case frmFilter.eFilterType.NoTags
|
||||||
|
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist WHERE MonitorID NOT IN (SELECT MonitorID FROM gametags) ORDER BY Name Asc"
|
||||||
|
End Select
|
||||||
|
|
||||||
oData = oDatabase.ReadParamData(sSQL, hshParams)
|
oData = oDatabase.ReadParamData(sSQL, hshParams)
|
||||||
|
|
||||||
@@ -382,37 +390,37 @@ Public Class mgrMonitorList
|
|||||||
Dim hshParams As New Hashtable
|
Dim hshParams As New Hashtable
|
||||||
Dim iCounter As Integer = 0
|
Dim iCounter As Integer = 0
|
||||||
|
|
||||||
If oFilters.Count > 0 Then
|
Select Case eFilterType
|
||||||
Select Case eFilterType
|
Case frmFilter.eFilterType.NoFilter
|
||||||
Case frmFilter.eFilterType.Any
|
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist ORDER BY Name Asc"
|
||||||
sSQL = "SELECT DISTINCT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist "
|
Case frmFilter.eFilterType.AnyTag
|
||||||
sSQL &= "NATURAL JOIN gametags WHERE gametags.TagID IN ("
|
sSQL = "SELECT DISTINCT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist "
|
||||||
|
sSQL &= "NATURAL JOIN gametags WHERE gametags.TagID IN ("
|
||||||
|
|
||||||
For Each oTag As clsTag In oFilters
|
For Each oTag As clsTag In oFilters
|
||||||
sSQL &= "@TagID" & iCounter & ","
|
sSQL &= "@TagID" & iCounter & ","
|
||||||
hshParams.Add("TagID" & iCounter, oTag.ID)
|
hshParams.Add("TagID" & iCounter, oTag.ID)
|
||||||
iCounter += 1
|
iCounter += 1
|
||||||
Next
|
Next
|
||||||
|
|
||||||
sSQL = sSQL.TrimEnd(",")
|
sSQL = sSQL.TrimEnd(",")
|
||||||
sSQL &= ") ORDER BY Name Asc"
|
sSQL &= ") ORDER BY Name Asc"
|
||||||
Case frmFilter.eFilterType.All
|
Case frmFilter.eFilterType.AllTags
|
||||||
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist WHERE MonitorID IN "
|
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist WHERE MonitorID IN "
|
||||||
|
|
||||||
For Each oTag As clsTag In oFilters
|
For Each oTag As clsTag In oFilters
|
||||||
sSQL &= "(SELECT MonitorID FROM gametags WHERE monitorlist.MonitorID = gametags.MonitorID And TagID = @TagID" & iCounter & ")"
|
sSQL &= "(SELECT MonitorID FROM gametags WHERE monitorlist.MonitorID = gametags.MonitorID And TagID = @TagID" & iCounter & ")"
|
||||||
If iCounter <> oFilters.Count - 1 Then
|
If iCounter <> oFilters.Count - 1 Then
|
||||||
sSQL &= " AND MonitorID IN "
|
sSQL &= " AND MonitorID IN "
|
||||||
End If
|
End If
|
||||||
hshParams.Add("TagID" & iCounter, oTag.ID)
|
hshParams.Add("TagID" & iCounter, oTag.ID)
|
||||||
iCounter += 1
|
iCounter += 1
|
||||||
Next
|
Next
|
||||||
|
|
||||||
sSQL &= " ORDER BY Name Asc"
|
sSQL &= " ORDER BY Name Asc"
|
||||||
End Select
|
Case frmFilter.eFilterType.NoTags
|
||||||
Else
|
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist WHERE MonitorID NOT IN (SELECT MonitorID FROM gametags) ORDER BY Name Asc"
|
||||||
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly FROM monitorlist ORDER BY Name Asc"
|
End Select
|
||||||
End If
|
|
||||||
|
|
||||||
oData = oDatabase.ReadParamData(sSQL, hshParams)
|
oData = oDatabase.ReadParamData(sSQL, hshParams)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user