Save and Get Settings
by Rob Parsons - Eyecan Publishing
SaveSetting and GetSetting make writing application settings a breeze.
Here are two utility functions to retrieve and store the current form's position, just as an example.
Public Sub FormPosition_Get(F As Form)
' Retrieve Form F's position from an ini/reg file and position it accordingly
Dim buf As String
Dim l, t, h, w As Integer
Dim pos As Integer
buf = GetSetting(app.EXEName, "FormPosition", F.Tag, "")
If buf = "" Then ' default with centering the form
F.Move (Screen.Width - F.Width) \ 2, (Screen.Height - F.Height) \ 2
Else ' extract l,t,w,h and move form
pos = InStr(buf, ",")
l = CInt(Mid(buf, 1, pos - 1))
buf = Mid(buf, pos + 1)
pos = InStr(buf, ",")
t = CInt(Mid(buf, 1, pos - 1))
buf = Mid(buf, pos + 1)
pos = InStr(buf, ",")
w = CInt(Mid(buf, 1, pos - 1))
h = CInt(Mid(buf, pos + 1))
F.Move l, t, w, h
End If
End Sub
Public Sub FormPosition_Put(F As Form)
' Write forms F top,left,height and width properties to
' the reg/ini file for the application
Dim buf As String
buf = F.left & "," & F.top & "," & F.Width & "," & F.Height
SaveSetting app.EXEName, "FormPosition", F.Tag, buf
End Sub
These utilities should be placed in a module and called from the forms load and unload events respectively. Note that you must place the name of the form in its Tag property for these utilites to work.
Sub Form_Load()
FormPosition_Get Me
End Sub
Sub Form_Unload()
FormPosition_Put Me
End Sub