Category : OS/2 Files
Archive   : FILDL2.ZIP
Filename : FILEDLG.TXT

 
Output of file : FILEDLG.TXT contained in archive : FILDL2.ZIP
.context List Categories
.list
File open/save dialog boxes
.context File open/save dialog boxes
.list
FileOpenDlg Displays the file open dialog box.
FileSaveDlg Displays the file save dialog box.
.context FileOpenDlg
.ref FileSaveDlg,DosOpen,DosQSysInfo
#define INCL_DOSFILEMGR
#include
#include

.paste Syntax
USHORT \bFileOpenDlg\p( \ihwndOwnder\p,\ipszTitle\p,\ipszIns\p,\ipszShowSpec\p,\iusShowAttr\p,
\ipfnHelpProc\p,\ipszFile\p,\iphf\p,\iulFileSize\p,\ipusAction\p,
\iusAttribute\p,\ifsOpeFlags\p,\ifsOpenMode\p,\iulReserved\p )
HWND \ihwndOwner\p; /* owner window handle */
PSZ \ipszTitle\p; /* dialog box title */
PSZ \ipszIns\p; /* dialog box instructions */
PSZ \ipszShowSpec\p; /* initial show file specification */
USHORT \iusShowAttr\p; /* attribute of files to be shown */
void (CALLBACK *\ipfnHelpProc\p)(HWND \ihDlg\p); /* help function */
PSZ \ipszFile\p; /* pointer to file opened */
PHFILE \iphf\p; /* pointer to variable for file handle */
ULONG \iulFileSize\p; /* file size if created or truncated */
PUSHORT \ipusAction\p; /* pointer to variable for action taken */
USHORT \iusAttribute\p; /* file attribute */
USHORT \ifsOpenFlags\p; /* action taken if file exists/does not exist */
USHORT \ifsOpenMode\p; /* open mode of file */
ULONG \iulReserved\p; /* must be zero */
.end

The \bFileOpenDlg\p function displays a dialog box and opens the file selected
by the user. This function returns a handle that can be used to read from
and write to the file, as well as to retrieve information about the file.

\bParameters Description\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\ihwndOwner\p Identifies the owner window.

\ipszTitle\p Points to the null-terminated string that specifies the
dialog box title. If \ipszTitle\p is NULL then the default value
"Open File" is used.

\ipszIns\p Points to the null-terminated string that specifies the
dialog box instructions. If \ipszIns\p is NULL then the default
value "Select file or type filename" is used.

\ipszShowSpec\p Points the the null-terminated string that specifies the
initial search specifications for the files that are to
be listed in the file list box.

\iusShowAttr\p Specifies the attribute(s) of the files that are to be
listed in the file list box. This parameter can be a
combination of the following values

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iFILE_NORMAL\p List all normal files.

\iFILE_READONLY\p List read-only files.

\iFILE_HIDDEN\p List hidden files.

\iFILE_SYSTEM\p List system files.

\iFILE_ARCHIVED\p List archived files.

\ipfnHelpProc\p Points to the user supplied help procedure. This procedure
is called whenever the help button or the F1 key is pressed.
The HelpProc function is defined as follows:

void CALLBACK HelpProc( HWND hDlg )
The hDlg parameter is a handle to the open file dialog box.

If no help is available, set the \ipfnHelpProc\p parameter to
NULL. This will cause the Help button to be removed from
the dialog box.

\ipszFileName\p Points to the location where the fully qualified filename of
the file selected by the user is to be stored. Use the
\bDosQSysInfo\p function to get the maximum path length in order
to determine how large to make the memory block pointed to
by \ipszFile\p.

\iphf\p Points to the variable that receives the handle of the opened
file.

\ipusAction\p Points to the variable receiving the value that specifies the
action taken by the FileOpenDlg function. If the dialog box is
cancelled then this value has no meaning. Otherwise, it is
one of the following values:

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iFILE_CREATED\p File was created.

\iFILE_EXISTED\p File already existed.

\iFILE_TRUNCATED\p File existed and was truncated.

\iulFileSize\p Specifies the file's new size (in bytes). This parameter
applies only if the file is created or truncated. The size
specification has no effect on a file that is opened only for
reading.

\iusAttribute\p Specifies the file attributes. This parameter can be a
combination of the following values:

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iFILE_NORMAL\p File can be read from or written to.

\iFILE_READONLY\p File can be read from, but not written to.

\iFILE_HIDDEN\p File is hidden and does not appear in a
directory listing.

\iFILE_SYSTEM\p File is a system file.

\iFILE_ARCHIVED\p File has been archived.

File attributes apply only if the file is created.

\ifsOpenFlags\p Specifies the action to take both when the file exists and when
it does not exist. This parameter may be one of the following
values:

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iFILE_CREATE\p Create a new file; fail if the
file already exists.

\iFILE_OPEN\p Open an existing file; fail if the
file does not exist.

\iFILE_OPEN | FILE_CREATE\p Open an existing file or create
the file if it does not exist.

\iFILE_TRUNCATE\p Open an existing file and change
to a given size.

\iFILE_TRUNCATE | FILE_CREATE\p Open an existing file and truncate
it, or create the file if it does
not exist.

\ifsOpenMode\p Specifies the modes with which to open the file. It consists of
one access mode and one share mode. The other values are option
and can be given in any combination:

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iOPEN_ACCESS_READONLY\p Data may be read from the file but
not written to it.

\iOPEN_ACCESS_READWRITE\p Data may be read from or written to
the file.

\iOPEN_ACCESS_WRITEONLY\p Data may be written to the file but
not read from it.

\iOPEN_SHARE_DENYNONE\p Other processes can open the file for
any access: read-only, write-only, or
read-write.

\iOPEN_SHARE_DENYREAD\p Other processes can open the file for
write-only access but they cannot
open it for read-only or read-write
access.

\iOPEN_SHARE_DENYREADWRITE\p The current process has exclusive
access to the file. The file cannot
be opened by any process (including
the current process).

\iOPEN_SHARE_DENYWRITE\p Other processes can open the file for
read-only access but they cannot open
it for write-only or read-write
access.

\iOPEN_FLAGS_FAIL_ON_ERROR\p Any function that uses the file
handle returns immediately with an
error value if there is an I/O
error--for example, when the drive
door is open or a sector is missing.
If this value is not specified, the
system passes the error to the system
critical-error handler, which then
reports the error to the user with a
hard-error popup. The fail-on-error
flag is not inherited by child
processes.

The fail-on-error flag applies to all
functions that use the file handle,
with the exception of the
DosDevIOCtl function.

\iOPEN_FLAGS_NOINHERIT\p The file handle is not available to
any child process started by the
current process. If this value is not
specified, any child process started
by the current process may use the
file handle.

\iOPEN_FLAGS_WRITE_THROUGH\p This flag applies to functions, such
as DosWrite, that write data to the
file. If this value is specified, the
system writes data to the device
before the given function returns.
Otherwise, the system may store the
data in an internal file buffer and
write the data to the device only
when the buffer is full or the file
is closed.

\iulReserved\p Specifies a reserved value; must be zero.

\bReturn Value\p

The return value may be one of the following:

FDLG_OK
FDLG_CANCEL



\bSee Also\p

\bFileSaveDlg\p, \bDosOpen\p, \bDosQSysInfo\p
.context FileSaveDlg
.ref FileOpenDlg,DosOpen,DosQSysInfo
#define INCL_DOSFILEMGR
#include
#include

.paste Syntax
USHORT FileSaveDlg( hwndOwner,pszTitle,pszIns,pfnHelpProc,pszDefault,
pszFile,phf,ulFileSize,pusAction,usAttribute,
fsOpenFlags,fsOpenMode,ulReserved )
HWND \ihwndOwner\p; /* owner window handle */
PSZ \ipszTitle\p; /* dialog box title */
PSZ \ipszIns\p; /* dialog box instructions */
void (CALLBACK *\ipfnHelpProc\p)(HWND \ihDlg\p); /* help function */
PSZ \ipszDefault\p; /* default file name */
PSZ \ipszFile\p; /* pointer to file opened */
PHFILE \iphf\p; /* pointer to variable for file handle */
ULONG \iulFileSize\p; /* file size if created or truncated */
PUSHORT \ipusAction\p; /* pointer to variable for action taken */
USHORT \iusAttribute\p; /* file attribute */
USHORT \ifsOpenFlags\p; /* action taken if file exists/does not exist */
USHORT \ifsOpenMode\p; /* open mode of file */
ULONG \iulReserved\p; /* must be zero */
.end

The \bFileSaveDlg\p function displays a dialog box and opens the file selected
by the user. This function returns a handle that can be used to read from
and write to the file, as well as to retrieve information about the file.

Parameters Description
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\ihwndOwner\p Identifies the owner window.

\ipszTitle\p Points to the null-terminated string that specifies the
dialog box title. If \ipszTitle\p is NULL then the default value
"Save File" is used.

\ipszIns\p Points to the null-terminated string that specifies the
dialog box instructions. If \ipszIns\p is NULL then the default
value "Type filename" is used.

\ipfnHelpProc\p Points to the user supplied help procedure. This procedure
is called whenever the help button or the F1 key is pressed.
The HelpProc function is defined as follows:

void CALLBACK HelpProc( HWND hDlg )
The hDlg parameter is a handle to the open file dialog box.

If no help is available, set the \ipfnHelpProc\p parameter to
NULL. This will cause the Help button to be removed from
the dialog box.

\ipszDefault\p Points to the null-terminated string that specifies the
default save file name.

\ipszFileName\p Points to the location where the fully qualified filename of
the file selected by the user is to be stored. Use the
\bDosQSysInfo\p function to get the maximum path length in order
to determine how large to make the memory block pointed to
by \ipszFile\p.

\iphf\p Points to the variable that receives the handle of the opened
file.

\ipusAction\p Points to the variable receiving the value that specifies the
action taken by the FileOpenDlg function. If the dialog box is
cancelled then this value has no meaning. Otherwise, it is
one of the following values:

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iFILE_CREATED\p File was created.

\iFILE_EXISTED\p File already existed.

\iFILE_TRUNCATED\p File existed and was truncated.

\iulFileSize\p Specifies the file's new size (in bytes). This parameter
applies only if the file is created or truncated. The size
specification has no effect on a file that is opened only for
reading.

\iusAttribute\p Specifies the file attributes. This parameter can be a
combination of the following values:

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iFILE_NORMAL\p File can be read from or written to.

\iFILE_READONLY\p File can be read from, but not written to.

\iFILE_HIDDEN\p File is hidden and does not appear in a
directory listing.

\iFILE_SYSTEM\p File is a system file.

\iFILE_ARCHIVED\p File has been archived.

File attributes apply only if the file is created.

\ifsOpenFlags\p Specifies the action to take both when the file exists and when
it does not exist. This parameter may be one of the following
values:

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iFILE_CREATE\p Create a new file; fail if the
file already exists.

\iFILE_OPEN\p Open an existing file; fail if the
file does not exist.

\iFILE_OPEN | FILE_CREATE\p Open an existing file or create
the file if it does not exist.

\iFILE_TRUNCATE\p Open an existing file and change
to a given size.

\iFILE_TRUNCATE | FILE_CREATE\p Open an existing file and truncate
it, or create the file if it does
not exist.

\ifsOpenMode\p Specifies the modes with which to open the file. It consists of
one access mode and one share mode. The other values are option
and can be given in any combination:

\bValue Meaning\p
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
\iOPEN_ACCESS_READONLY\p Data may be read from the file but
not written to it.

\iOPEN_ACCESS_READWRITE\p Data may be read from or written to
the file.

\iOPEN_ACCESS_WRITEONLY\p Data may be written to the file but
not read from it.

\iOPEN_SHARE_DENYNONE\p Other processes can open the file for
any access: read-only, write-only, or
read-write.

\iOPEN_SHARE_DENYREAD\p Other processes can open the file for
write-only access but they cannot
open it for read-only or read-write
access.

\iOPEN_SHARE_DENYREADWRITE\p The current process has exclusive
access to the file. The file cannot
be opened by any process (including
the current process).

\iOPEN_SHARE_DENYWRITE\p Other processes can open the file for
read-only access but they cannot open
it for write-only or read-write
access.

\iOPEN_FLAGS_FAIL_ON_ERROR\p Any function that uses the file
handle returns immediately with an
error value if there is an I/O
error--for example, when the drive
door is open or a sector is missing.
If this value is not specified, the
system passes the error to the system
critical-error handler, which then
reports the error to the user with a
hard-error popup. The fail-on-error
flag is not inherited by child
processes.

The fail-on-error flag applies to all
functions that use the file handle,
with the exception of the
DosDevIOCtl function.

\iOPEN_FLAGS_NOINHERIT\p The file handle is not available to
any child process started by the
current process. If this value is not
specified, any child process started
by the current process may use the
file handle.

\iOPEN_FLAGS_WRITE_THROUGH\p This flag applies to functions, such
as DosWrite, that write data to the
file. If this value is specified, the
system writes data to the device
before the given function returns.
Otherwise, the system may store the
data in an internal file buffer and
write the data to the device only
when the buffer is full or the file
is closed.

\iulReserved\p Specifies a reserved value; must be zero.

\bReturn Value\p

The return value may be one of the following:

FDLG_OK
FDLG_CANCEL


\bSee Also\p

\bFileOpenDlg\p, \bDosOpen\p, \bDosQSysInfo\p


  3 Responses to “Category : OS/2 Files
Archive   : FILDL2.ZIP
Filename : FILEDLG.TXT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/