Files

174 lines
6.2 KiB
VB.net
Raw Permalink Normal View History

2025-12-11 11:43:00 +08:00
Imports System.IO
Public Class CGirdInfo
Public Shared LoadBusy As Boolean = False
Public Shared Function SaveGirdInfo(ByVal gridName As String, ByRef grid As FlexCell.Grid) As Boolean
If LoadBusy = True Then Return False
Dim strPath As String = Application.StartupPath & "\GRID"
If System.IO.Directory.Exists(strPath) = False Then
System.IO.Directory.CreateDirectory(strPath)
End If
If System.IO.Directory.Exists(strPath) = True Then
strPath &= "\" & gridName & ".ini"
Dim fs As New StreamWriter(strPath, False, System.Text.Encoding.Default)
'保存列宽
For col As Integer = 0 To grid.Cols - 1
fs.WriteLine("C" & col & "=" & grid.Column(col).Width)
Next
'For row As Integer = 0 To grid.Rows - 1
' fs.Write("R" & row & "=" & grid.Row(row).Height)
'Next
fs.Close()
End If
Return True
End Function
Public Shared Function LoadGridInfo(ByVal gridName As String, ByRef grid As FlexCell.Grid) As Boolean
LoadBusy = True
Dim strPath As String = Application.StartupPath & "\GRID\" & gridName & ".ini"
If System.IO.File.Exists(strPath) = True Then
Dim fs As New StreamReader(strPath, System.Text.Encoding.Default)
Dim strLine As String = ""
Dim strSplit() As String
Dim colNum As Integer = 0
Dim widthNum As Integer = 0
While fs.EndOfStream = False
strLine = fs.ReadLine()
If Not strLine Is Nothing AndAlso strLine.Length > 0 Then
strSplit = Split(strLine, "=")
If strSplit.Length >= 2 Then
Try
colNum = Strings.Mid(strSplit(0), 2)
widthNum = strSplit(1)
grid.Column(colNum).Width = widthNum
Catch ex As Exception
End Try
End If
End If
End While
fs.Close()
End If
LoadBusy = False
Return True
End Function
Public Shared Function SaveRecentList(ByVal saveName As String, ByRef RecentList As System.Windows.Forms.AutoCompleteStringCollection) As Boolean
Dim strPath As String = Application.StartupPath & "\GRID"
If System.IO.Directory.Exists(strPath) = False Then
System.IO.Directory.CreateDirectory(strPath)
End If
If System.IO.Directory.Exists(strPath) = True Then
strPath &= "\" & saveName & ".ini"
Dim fs As New StreamWriter(strPath, False, System.Text.Encoding.Default)
For Each pItem As String In RecentList
fs.WriteLine(pItem)
Next
fs.Close()
End If
Return True
End Function
Public Shared Function LoadRecentList(ByVal saveName As String, ByRef RecentList As System.Windows.Forms.AutoCompleteStringCollection) As Boolean
RecentList.Clear()
Dim strPath As String = Application.StartupPath & "\GRID\" & saveName & ".ini"
If System.IO.File.Exists(strPath) = True Then
Dim fs As New StreamReader(strPath, System.Text.Encoding.Default)
Dim strLine As String = ""
While fs.EndOfStream = False
strLine = fs.ReadLine()
If Not strLine Is Nothing AndAlso strLine.Length > 0 Then
RecentList.Add(strLine)
End If
End While
fs.Close()
End If
Return True
End Function
Public Shared Function AddToRecentList(ByVal newItem As String, ByRef RecentList As System.Windows.Forms.AutoCompleteStringCollection) As Boolean
If newItem Is Nothing OrElse newItem.Length = 0 Then Return False
Dim upperItem As String = newItem.ToLower
Dim isExist As Boolean = False
For Each pItem As String In RecentList
If upperItem = pItem.ToLower Then
isExist = True
Exit For
End If
Next
If isExist = False Then
RecentList.Insert(0, newItem)
Return True
End If
Return False
End Function
Public Class SUB_LIST_INFO
Public name As String = ""
Public list As New System.Windows.Forms.AutoCompleteStringCollection
End Class
Public Shared Function LoadRecentSubList(ByVal parentName As String, ByRef subList As ArrayList) As Boolean
Dim m_ParentList As New System.Windows.Forms.AutoCompleteStringCollection
If LoadRecentList(parentName, m_ParentList) = True Then
For Each pItem As String In m_ParentList
Dim mSubListItem As New SUB_LIST_INFO
mSubListItem.name = parentName & "_" & pItem
LoadRecentList(mSubListItem.name, mSubListItem.list)
subList.Add(mSubListItem)
Next
End If
Return True
End Function
Public Shared Function SaveRecentSubList(ByRef subList As ArrayList) As Boolean
For Each pItem As SUB_LIST_INFO In subList
SaveRecentList(pItem.name, pItem.list)
Next
Return True
End Function
Public Shared Function AddToRecentSubList(ByVal parentName As String, ByVal subName As String, ByVal addItem As String, ByRef subList As ArrayList) As Boolean
Dim addListName As String = parentName & "_" & subName
For Each pItem As SUB_LIST_INFO In subList
If pItem.name = addListName Then
AddToRecentList(addItem, pItem.list)
End If
Next
Return True
End Function
Public Shared Function GetRecentSubList(ByVal parentName As String, ByVal subName As String, ByRef subList As ArrayList, ByRef RecentList As System.Windows.Forms.AutoCompleteStringCollection) As Boolean
Dim subItemName As String = parentName & "_" & subName
RecentList = Nothing
For Each pItem As SUB_LIST_INFO In subList
If pItem.name = subItemName Then
RecentList = pItem.list
End If
Next
Return True
End Function
End Class