'***************************************************************
'Type sructures for API's about to be declared...
TYPE BrowseInfo
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
END TYPE
DIM cr AS STRING
cr = chr$(10)
TYPE TNOTIFYICONDATA
cbSize AS DWORD
hWnd AS LONG
uID AS LONG
uFlags AS LONG
uCallbackMessage AS LONG
hIcon AS LONG
szTip AS STRING*64
END TYPE
TYPE TCHOOSECOLOR
lStructSize AS LONG
hWndOwner AS LONG
hInstance AS LONG
rgbResult AS LONG
CustColors(1 TO 16) AS LONG
Flags AS DWORD
lCustData AS LONG
lpfnHook AS LONG
lpTemplateName AS LONG
END TYPE
DIM CC AS TCHOOSECOLOR
DIM NI AS TNotifyIconData
TYPE TPOINT
X AS LONG
Y AS LONG
END TYPE
DIM Point AS TPOINT
TYPE MEMORYSTATUS
dwLength AS LONG
dwMemoryLoad AS LONG
dwTotalPhys AS LONG
dwAvailPhys AS LONG
dwTotalPageFile AS LONG
dwAvailPageFile AS LONG
dwTotalVirtual AS LONG
dwAvailVirtual AS LONG
END TYPE
DIM MStats AS MEMORYSTATUS
TYPE SYSTEM_INFO
dwOemID AS LONG
dwPageSize AS LONG
lpMinimumApplicationAddress AS LONG
lpMaximumApplicationAddress AS LONG
dwActiveProcessorMask AS LONG
dwNumberOfProcessors AS LONG
dwProcessorType AS LONG
dwAllocationGranularity AS LONG
dwReserved AS LONG
END TYPE
DIM SysInfo AS SYSTEM_INFO
'***************************************************************
'Declares for Windows API's...
DECLARE SUB SetFocus LIB "USER32" ALIAS "SetFocus" (HWnd AS LONG)
DECLARE FUNCTION ExitWindowsEx LIB "USER32" ALIAS "ExitWindowsEx" (uFlags As Long, dwReserved As Long) As Long
DECLARE FUNCTION RegisterHotKey LIB "USER32" ALIAS "RegisterHotKey" (hWnd AS LONG, ID AS LONG, fsModifiers AS LONG, vk AS LONG) AS LONG
DECLARE FUNCTION UnRegisterHotKey LIB "USER32" ALIAS "UnregisterHotKey" (hWnd AS LONG, ID AS LONG) AS LONG
DECLARE FUNCTION SetForegroundWindow LIB "USER32" ALIAS "SetForegroundWindow" (ByVal hwnd AS LONG) AS LONG
'DECLARE SUB SetForeGroundWindow LIB "USER32" ALIAS "SetForeGroundWindow" (HWnd AS LONG)
DECLARE FUNCTION GetForegroundWindow LIB "USER32" ALIAS "GetForegroundWindow" AS LONG
DECLARE SUB CoTaskMemFree Lib "ole32.dll" ALIAS "CoTaskMemFree" ( hMem As Long)
DECLARE FUNCTION lstrcat Lib "kernel32" ALIAS "lstrcatA" (lpString1 As String, lpString2 As String) As Long
DECLARE FUNCTION SHBrowseForFolder Lib "SHELL32" ALIAS "SHBrowseForFolder" (lpbi As BrowseInfo) As Long
DECLARE FUNCTION SHGetPathFromIDList Lib "SHELL32" ALIAS "SHGetPathFromIDList" (pidList As Long, lpBuffer As String) As Long
DECLARE FUNCTION Shell_NotifyIcon LIB "SHELL32" ALIAS "Shell_NotifyIconA" (dwMessage AS LONG, NIDATA AS TNOTIFYICONDATA) AS LONG
DECLARE FUNCTION ChooseColorDlg LIB "COMDLG32" ALIAS "ChooseColorA" (CC AS TCHOOSECOLOR) AS LONG
DECLARE FUNCTION DragAcceptFiles LIB "SHELL32" ALIAS "DragAcceptFiles" (hWnd AS LONG, Accept AS LONG) AS LONG
DECLARE FUNCTION DragFinish LIB "SHELL32" ALIAS "DragFinish" (hDrop AS LONG) AS LONG
DECLARE FUNCTION DragQueryFile LIB "SHELL32" ALIAS "DragQueryFileA" (hDrop AS LONG, iFile AS LONG, lpszFile AS LONG, cch AS LONG) AS LONG
DECLARE FUNCTION DragQueryPoint LIB "SHELL32" ALIAS "DragQueryPoint" (hDrop AS LONG, lppt AS TPOINT) AS LONG
'DECLARE FUNCTION GetDiskFreeSpaceEx LIB "KERNEL32" ALIAS "GetDiskFreeSpaceExA" (ByVal lpRootPathName AS STRING, ByRef lpFreeBytesAvailableToCaller AS SINGLE, ByRef lpTotalNumberOfBytes AS SINGLE, ByRef lpTotalNumberOfFreeBytes AS SINGLE) AS SINGLE
DECLARE FUNCTION GetDiskFreeSpace LIB "KERNEL32" ALIAS "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, ByRef lpSectorsPerCluster As Long, ByRef lpBytesPerSector As Long, ByRef lpNumberOfFreeClusters As Long, ByRef lpTtoalNumberOfClusters As Long) AS LONG
DECLARE SUB GlobalMemoryStatus LIB "KERNEL32" ALIAS "GlobalMemoryStatus" (lpBuffer As MEMORYSTATUS)
DECLARE SUB GetSystemInfo LIB "KERNEL32" ALIAS "GetSystemInfo" (lpSystemInfo AS SYSTEM_INFO)
'***************************************************************
'Declares for external DLL's...
DECLARE FUNCTION NViewLibLoad LIB "NVIEWLIB" ALIAS "NViewLibLoad" (FileName AS STRING, Progress AS INTEGER) AS INTEGER
'***************************************************************
'Internal declares...
'General declares...
DECLARE SUB Initialise
DECLARE SUB SetDefaultSettings
DECLARE SUB ProcessMessages(Hwnd%, Msg%, wParam%, lParam%)
DECLARE SUB AnimateUp
DECLARE SUB AnimateDown
DECLARE SUB AddHistory(History$ AS STRING, CType AS INTEGER)
DECLARE SUB ProcessCommandLine(Key AS WORD, Shift AS INTEGER)
DECLARE SUB ProcCmd2
DECLARE SUB LoadFile(FileName$ AS STRING)
DECLARE SUB SaveFile(FileName$ AS STRING)
DECLARE SUB CmdLineHelp
DECLARE SUB RunFillout
DECLARE SUB OpenFillout
DECLARE SUB ListBindings
'Other declares...
DECLARE SUB RepaintCanvas
DECLARE FUNCTION BrowseForFolder(hwndOwner As Long, sPrompt As String) As String
DECLARE SUB DrawFormBorder(Sender AS QForm)
DECLARE FUNCTION CMessageBox(Message$ AS STRING, MessageType AS INTEGER, Buttons AS INTEGER) AS INTEGER
DECLARE SUB CMBXBtnClick(Sender AS QButton)
DECLARE SUB MoveCMBXForm(X%, Y%, Shift%)
DECLARE SUB StopMoveCMBXForm(Button%, X%, Y%, Shift%)
DECLARE SUB StartMoveCMBXForm(Button%,X%,Y%,Shift%)
DECLARE SUB ExitProgram
DECLARE SUB ShowOptions
DECLARE SUB AcceptOptions
DECLARE SUB CancelOptions
DECLARE SUB UpdateTracks(Sender AS QTrackBar)
DECLARE SUB ChangePrevFont
DECLARE SUB ChooseSomething(Sender AS QButton)
DECLARE SUB PopulateCPanelList(List AS INTEGER)
DECLARE SUB HideForm
DECLARE SUB SplitString(Stringy$ AS STRING)
DECLARE SUB ShowAbout
DECLARE SUB CloseAbout
DECLARE SUB TrayExit
DECLARE SUB TrayShow
DECLARE FUNCTION Commarise$(InputNum AS INTEGER) AS STRING
DECLARE FUNCTION CmStr$(Inputst$ AS STRING) AS STRING
DECLARE SUB StartMoveForm(Button%,X%,Y%,Shift%,Sender AS QForm)
DECLARE SUB MoveForm(X%, Y%, Shift%,Sender AS QForm)
DECLARE SUB StopMoveForm(Button%, X%, Y%, Shift%,Sender AS QForm)
DECLARE SUB CheckRightClickOnCanvas(Button%, X%, Y%, Shift%)
'Databasing subs...
DECLARE FUNCTION CountTotalEntries(Null AS INTEGER) AS INTEGER
DECLARE SUB ShowBindForm
DECLARE SUB ShowBindFilled
DECLARE SUB CloseBindForm
DECLARE SUB BindFormSelectType(Sender AS QRadioButton)
DECLARE SUB ChooseFileFold(Sender AS QButton)
DECLARE SUB AddBinding
DECLARE SUB ShowBindEditor
DECLARE SUB CloseBindEditor
DECLARE SUB BindEditorBind
DECLARE SUB UpdateBindEditor
DECLARE SUB RemoveBinding
DECLARE SUB SortEntries
DECLARE SUB SecSort
DECLARE SUB ShowEditBox
DECLARE SUB AcceptEditBox
DECLARE SUB SelectControls
DECLARE SUB SelectFileFolder
DECLARE SUB StartImport
DECLARE SUB CancelImport
DECLARE SUB DoImport