WINAPI Filehandlingby Wil van Antwerpen
Windows FilehandlingThe vWin32fh package is a wrapper for standard windows API calls used for file handling. The download includes a small example program that shows you how-to use some of these functions. The wrapperfunctions declared in this package all support long file and foldernames. . Supported methods Function vSelect_File Global String sSupportedFileTypes String sCaptionText String sInitial_Folder Returns String This function opens the Windows standard file open dialog and returns the selected file_name. Returns '' if the user didn't make a selection. Procedure vDDE_Error_Handler Integer iErrorID (obsolete)This method shows the error message for the passed DDE Error ID. Please use the DDE_Error_To_String function instead Function DDE_Error_To_String Integer iErrorID Returns String This function returns error message for the passed DDE Error ID. Function vFolderExists Global String sFolderName returns Integer Does the directory exist? - No= 0, Yes= 1 This also works with UNC path encoding and wildcards Function vSHBrowseForFolder Global String sDialogTitle returns String returns folder name if a folder was selected, otherwise returns "" Function vCreateDirectory Global String sNewFolder Returns Integer returns:
Function vRemoveDirectory Global String sFolder Returns Integer With this function one can remove a directory. returns:
Function vVerifyNewFolder Global String sFolderName Returns Integer This function informs the user that he entered a yet unknown folder and asks if he/she wants to create the folder (Yes/No) Choice: "Yes" - this creates the folder, if successful, the function returns false else it will be true. Choice: "No" - returns TRUE, This allows the programmer to take action, for example: to stop a save Precondition: A foldername must be entered. We do not check for empty paths This function returns a non-zero value if the folder isn't created afterwards Procedure vShellExecute global String sOperation String sDocument String sParameters String sPath This will perform an operation on a file (e.g. open) with the application registered in the Windows Registry to open that type of file (via its extension) sOperation would be "OPEN" (it could also be "PRINT" etc). Function vDeleteFile Global String sFileName Returns Integer Uses WinAPI to delete the file with sFileName. Returns a nonzero value if the operation failed. Function vCopyFile Global String sSource String sDestination returns Integer Uses WinAPI to copy the file sSource to the folder in sDestination. Returns a nonzero value if the operation failed. Function vMoveFile Global String sSource String sDestination returns Integer Uses WinAPI to move the file sSource to the folder in sDestination. Returns a nonzero value if the operation failed. Function vRenameFile Global String sSource String sDestination returns Integer Uses WinAPI to rename the file or folder sSource into sDestination. Returns a nonzero value if the operation failed. Function vGetWindowsDirectory Returns String Returns the name of the folder where windows is installed. Function vMakeTempFile Returns String This function creates a temporary file. It will first try to create this in the normal temp-folder. If that one doesn't exist the tempfile is created in the current folder. The file is always prefixed with "tmp" and if succesful will return the name of the created file. In the case of errors, an empty string is returned. Function vCreateTempFileInPath String Path String Prefix Returns String Function vConvertFileDateTime Global Dword dwLowDateTime Dword dwHighDateTime Returns String This function can be used to convert WinAPI file datetimes into a string that returns the date/time in a readable fashion. Function vFilePathExists String sFilePathMask Returns Integer A windows replacement for the standard function FileExists. This version will also return (true) for a file when it is open by an application. Note that you can apply normal windows mask-signs in the filename such as * and ? Example: Get vFilePathExists "C:\config.sy?" This will return true if you have a file matching these conditions. (aka config.sys) Function vFolderFormat Global String sFolderName Returns String Formats a foldername by first trimming it and after that by sticking a directory separator (/\) to the end if it doesn't have one there already. The folder may contain a drive letter or UNC encoding. Downloadvwin32fh-20230808.zip DataFlex 23.0 support, moved including windows pkg file into windows only, not webapp area. vwin32fh-20211125.zip This fixes a few struct alignment issues for 64 bit support. vwin32fh-20210916.zip Unicode & 64 bit support for DataFlex 20, minimum version DF19.0, unicode fixes for vGetWindowsDirectory and vGetTempPath, better error handling, fixed DF19.0 support. vwin32fh-20210516.zip Unicode & 64 bit support for DataFlex 20, minimum version DF19.1 vwin32fh-20180716.zip Changed conditional compile logic around zerostring to use compiler version. The reason being that DF19.1 and higher always should use DAWs version and not our workaround. Removed DF18.0 and earlier support. vwin32fh-20180708.zip Fix warnings from Starzen's excellent code parser project. vwin32fh-20180618.zip The zerostring function wasn't introduced in DF19.0, but in DF19.1 and thus my redeclaration failed on DF19.0. vwin32fh-20180614.zip DF19.1 update broke Function vFolderFileCount due to a missing UCharArrayToString function call. vwin32fh-20180606.zip Fix warnings for DataFlex 19.1, using more modern code, consider this version BETA vwin32fh-20180404.zip Fix typos in define TIME_NOMIHUTESORSECONDS and DATE_SHORTDATE, Thanks Vincent for the report! <- Last version for DataFlex 18.0 and earlier! vwin32fh-20171031.zip fix vParentPath if parent subfolder also occurs in earlier part of path, add vPathIsDirectory vwin32fh-20170905.zip fix parsefoldername if filename part also part of path vwin32fh-20170411.zip Lot's of patches, DF19.0 support, it is now a library vWin32fh package March 13 2007 20Kb fixed parsefoldername bug, added vParentPath function, vSelectSaveFile function vWin32fh package March 10 2006 19Kb added a bunch of new CSIDL types vWin32fh package feb 28 2005 16Kb vWin32fh package (original) ~14kb zipfile Subversionhttp://svn.vdf-guidance.com/vwin32fh/trunk/ Project Pagehttp://projects.vdf-guidance.com/projects/vwin32fh-windows-file-handling AddendumIf you want to use the demo application under VDF8/VDF9 then please make the following changes: Insert the following (or a ws of your choice) in the demo src replace use dfpanel use dfbase with use globalallent use DFAbout #REPLACE CURRENT$WORKSPACE "yourworkspace.co" Register_Object Client_Area 1) use package for application workspace Use cApplication.pkg 2) Set date attributes as needed Set_Date_Attribute sysdate4_State to dftrue Set_Date_Attribute Date4_State to dftrue Set_Date_Attribute epoch_value to 60 3) Application Workspace - help type and name Object oApplication is a cApplication Procedure OnCreate Send DoOpenWorkspace CURRENT$WORKSPACE End_Procedure Set peHelpType to htHtmlHelp Set psHelpFile to 'KFPhelp.chm' Set pbEnterKeyAsTabKey to True Set psCompany to "Kirk Freeport" Set psProduct to "Kirknet" Set psVersion to "1.0" Set psProgram to (Module_Name(Self)) End_Object // oApplication Thanks to Dave Robinson for these notes. |
|||||||||||
Copyright © 1999 - 2024 VDF-GUIdance on all material published, for details see our Disclaimer. |