File "altdlgs.inc"
Path: /MaNo/inc/altdlgs.inc
File size: 4.7 KB
MIME-type:
Charset: 8 bit
'
MACRO define = MACRO
TYPE OPENFILENAMEA
lStructSize AS DWORD
hwndOwner AS DWORD
hInstance AS DWORD
lpstrFilter AS DWORD
lpstrCustomFilter AS DWORD
nMaxCustFilter AS DWORD
nFilterIndex AS DWORD
lpstrFile AS DWORD
nMaxFile AS DWORD
lpstrFileTitle AS DWORD
nMaxFileTitle AS DWORD
lpstrInitialDir AS DWORD
lpstrTitle AS DWORD
Flags AS DWORD
nFileOffset AS WORD
nFileExtension AS WORD
lpstrDefExt AS DWORD
lCustData AS DWORD
lpfnHook AS DWORD
lpTemplateName AS DWORD
END TYPE
define OFNST = OPENFILENAMEA
define path_size = 260
define AZ = ASCIIZ
define OFN_EXPLORER = &H00080000
define OFN_FILEMUSTEXIST = &H00001000
define OFN_LONGNAMES = &H00200000
define OFN_HIDEREADONLY = &H00000004
DECLARE FUNCTION GetOpenFileDialog LIB "COMDLG32.DLL" _
ALIAS "GetOpenFileNameA"(lpofn AS OFNST) AS LONG
DECLARE FUNCTION GetSaveFileDialog LIB "COMDLG32.DLL" _
ALIAS "GetSaveFileNameA"(lpofn AS OFNST) AS LONG
'
FUNCTION OpenFileDialog(BYVAL iinstance AS DWORD, _
BYVAL hParent AS DWORD, _
szbuffer AS ASCIIZ, _
sztitle AS ASCIIZ, _
szfilter AS ASCIIZ) AS DWORD
LOCAL cdir AS ASCIIZ * %MAX_PATH
LOCAL ofn AS OPENFILENAMEA
GetCurrentDirectory %MAX_PATH,cdir
ofn.lStructSize = SIZEOF(OPENFILENAMEA)
ofn.hWndOwner = hParent
ofn.hInstance = iinstance
ofn.lpstrFilter = VARPTR(szfilter)
ofn.lpstrFile = VARPTR(szbuffer)
ofn.nMaxFile = %MAX_PATH
ofn.lpstrTitle = VARPTR(sztitle)
ofn.lpstrInitialDir = VARPTR(cdir)
ofn.Flags = OFN_EXPLORER OR OFN_FILEMUSTEXIST OR _
OFN_LONGNAMES OR OFN_HIDEREADONLY
FUNCTION = GetOpenFileDialog(ofn)
END FUNCTION
'
FUNCTION SaveFileDialog(BYVAL iinstance AS DWORD, _
BYVAL hParent AS DWORD, _
szbuffer AS ASCIIZ, _
sztitle AS ASCIIZ, _
szfilter AS ASCIIZ) AS DWORD
LOCAL cdir AS ASCIIZ * %MAX_PATH
LOCAL ofn AS OPENFILENAMEA
GetCurrentDirectory %MAX_PATH,cdir
ofn.lStructSize = SIZEOF(OPENFILENAMEA)
ofn.hWndOwner = hParent
ofn.hInstance = iinstance
ofn.lpstrFilter = VARPTR(szfilter)
ofn.lpstrFile = VARPTR(szbuffer)
ofn.nMaxFile = %MAX_PATH
ofn.lpstrTitle = VARPTR(sztitle)
ofn.lpstrInitialDir = VARPTR(cdir)
ofn.Flags = OFN_EXPLORER OR OFN_LONGNAMES OR OFN_HIDEREADONLY
FUNCTION = GetSaveFileDialog(ofn)
END FUNCTION
'
FUNCTION File_Exist(BYVAL fileOrFolder AS STRING) AS LONG
LOCAL FindFileData AS WIN32_FIND_DATA
LOCAL hdl AS DWORD
LOCAL found AS LONG
hdl = FindFirstFile((fileOrFolder), BYVAL VARPTR(FindFileData))
found = (hdl <> %INVALID_HANDLE_VALUE)
IF found THEN FindClose hdl
FUNCTION = found
END FUNCTION
'
FUNCTION Load_File(BYVAL pName AS DWORD) AS STRING
LOCAL ff AS LONG
LOCAL buf AS STRING
LOCAL pFile AS ASCIIZ PTR
pFile = pName
IF ISFALSE File_Exist((@pFile)) THEN EXIT FUNCTION
ff = FREEFILE
OPEN (@pFile) FOR BINARY ACCESS READ LOCK SHARED AS #ff
GET$ #ff,LOF(#ff),buf
CLOSE #ff
FUNCTION = buf
END FUNCTION
'
SUB Save_File(BYVAL pName AS DWORD, BYVAL buf AS STRING)
LOCAL ff AS LONG
LOCAL pFile AS ASCIIZ PTR
pFile = pName
KILL (@pFile)
ff = FREEFILE
OPEN (@pFile) FOR BINARY AS #ff
PUT$ #ff,buf
CLOSE #ff
END SUB
'
FUNCTION Get_Resource(BYVAL rid AS LONG) AS STRING
LOCAL L1, L2 AS LONG
LOCAL D1, D2 AS DWORD
L1 = FindResource(hInstance,"#"+FORMAT$(rid),BYVAL %RT_RCDATA)
D2 = SizeofResource(hInstance,L1)
L2 = LoadResource(hInstance,L1)
D1 = LockResource(L2)
FUNCTION = PEEK$(D1,D2)
END FUNCTION
'