#ifndef NO_MMSYSTEMH #define NO_MMSYSTEMH #endif #include /* added -sdj*/ /*---------------------------------------------------------------------------*/ /* Option Declarations - FileOpen() */ /*---------------------------------------------------------------------------*/ #define FO_GETFILE 0x0000 #define FO_PUTFILE 0x0001 #define FO_FILEEXIST 0x0002 #define FO_FORCEEXTENT 0x0004 /* mbbx 2.00: no forced extents */ #define FO_BATCHMODE 0x1000 #define FO_NONDOSFILE 0x2000 #define FO_REMOTEFILE 0x4000 #define FO_GETFILENAME2 0x8000 /*---------------------------------------------------------------------------*/ /* Constant Declarations */ /*---------------------------------------------------------------------------*/ #define FO_MAXPATHLENGTH 513 #define FO_MAXFILELENGTH 16 #define FO_MAXEXTLENGTH 16 /*---------------------------------------------------------------------------*/ /* Type Declarations */ /*---------------------------------------------------------------------------*/ #define FILEOPENDATA struct tagFileOpenData struct tagFileOpenData { BYTE file[FO_MAXPATHLENGTH]; BYTE file1[FO_MAXFILELENGTH]; BYTE file2[FO_MAXPATHLENGTH]; /* must be able to hold PATH */ BYTE extent[FO_MAXEXTLENGTH]; BYTE title[32]; /* mbbx 1.10: CUA... */ WORD wResID; DLGPROC lpFilter; /* mbbx 2.00: new FO hook */ WORD wMode; INT nType; /* mbbx 1.10: CUA */ }; /*---------------------------------------------------------------------------*/ /* Variable Declarations */ /*---------------------------------------------------------------------------*/ FILEOPENDATA *pFOData; /*---------------------------------------------------------------------------*/ /* Rescource ID Declarations */ /*---------------------------------------------------------------------------*/ #define FO_STR_ERRCAPTION 0x0300 #define FO_STR_WARNCAPTION 0x0301 #define FO_STR_BADFILENAME 0x0302 #define FO_STR_FILENOTFOUND 0x0303 #define FO_STR_REPLACEFILE 0x0304 #define FO_LBFILE 0x0000 /* list FILES only */ #define FO_LBDIR 0xC010 /* list DIRECTORIES only */ #define FO_DBFILEOPEN 601 #define FO_DBFILETYPE 602 #define FO_DBSNDTEXT 603 #define FO_DBSNDFILE 604 #define FO_DBCOMPILE 605 /* mbbx 2.00: auto save DCP */ #define FO_DBFILESAVE 611 #define FO_DBFILEAPPEND 612 #define FO_DBRCVTEXT 613 #define FO_DBRCVFILE 614 #define FO_IDTITLE 621 #define FO_IDPROMPT 631 #define FO_IDFILENAME 632 #define FO_IDPROMPT2 633 #define FO_IDFILENAME2 634 #define FO_IDPATH 635 #define FO_IDFILELIST 641 #define FO_IDDIRLIST 642 #define FO_IDSETTINGS 651 #define FO_IDSCRIPT 652 #define FO_IDMEMO 653 #define FO_IDAPPEND 691 #define FO_IDCTRL 692 #define FO_IDTABLE 693 #define FO_IDSNDLF 694 #define FO_IDSNDNOLF 695 /*---------------------------------------------------------------------------*/ /* Function Prototypes */ /*---------------------------------------------------------------------------*/ BOOL FileOpen(BYTE *, BYTE *, BYTE *, BYTE *, BYTE *, WORD, DLGPROC, WORD); /* mbbx 2.00: new FO hook scheme... */ /* BOOL FileOpen(HWND, HANDLE, BYTE *, BYTE *, BYTE *, BYTE *, BYTE *, WORD, WORD); */ INT_PTR APIENTRY dbFileOpen(HWND, UINT, WPARAM, LPARAM); BOOL NEAR FO_SaveFileName(HWND); /* mbbx 2.00 */ VOID NEAR FO_SetListItem(HWND, WORD, BOOL); VOID NEAR FO_NewFilePath(HWND, WORD, BYTE *, BYTE *); BOOL NEAR FO_AddFileType(BYTE *, BYTE *); VOID NEAR FO_StripFileType(BYTE *); BOOL NEAR FO_IsLegalDOSFN(BYTE *); /* mbbx 2.00: no forced extents... */ BOOL NEAR FO_IsLegalDOSCH(BYTE); BOOL NEAR FO_IsLegalFN(BYTE *); INT NEAR FO_ErrProc(WORD, WORD,HWND); BOOL NEAR FO_SetCtrlFocus(HWND, HWND); BOOL setPath(BYTE *, BOOL, BYTE *); BOOL setFilePath(BYTE *); VOID forceExtension(BYTE *, BYTE *, BOOL); /* mbbx 2.00: no forced extents... */ BOOL getFileType(BYTE *, BYTE *); /*---------------------------------------------------------------------------*/ /* mbbx 2.00: new FO hook scheme... */ #ifdef ORGCODE BOOL APIENTRY FO_FileOpenType (HWND, WORD, WORD, LONG); /* mbbx 2.00: CUA */ VOID APIENTRY FO_SaveSelection(HWND, WORD, WORD, LONG); VOID APIENTRY FO_SendTextFile (HWND, WORD, WORD, LONG); VOID APIENTRY FO_RcvTextFile (HWND, WORD, WORD, LONG); VOID APIENTRY FO_ScriptCompile(HWND, WORD, WORD, LONG); /* mbbx 2.00: auto save DCP */ #else INT_PTR APIENTRY FO_FileOpenType (HWND, UINT, WPARAM, LPARAM); /* mbbx 2.00: CUA */ INT_PTR APIENTRY FO_SaveSelection(HWND, UINT, WPARAM, LPARAM); INT_PTR APIENTRY FO_SendTextFile (HWND, UINT, WPARAM, LPARAM); INT_PTR APIENTRY FO_RcvTextFile (HWND, UINT, WPARAM, LPARAM); INT_PTR APIENTRY FO_ScriptCompile(HWND, UINT, WPARAM, LPARAM); /* mbbx 2.00: auto save DCP */ #endif