How the app can get its own date-time stamp ?
Thanks in advance.
Thanks in advance.
LOCAL szProg AS ASCIIZ * %MAX_ PATH , W32 AS WIN32_FIND_DATA, h AS LONG GetModuleFileName BYVAL %NULL, szProg, SIZEOF(szProg) h = FindFirstFile (szProg, W32) IF h <> %INVALID_HANDLE_VALUE THEN ' which it never will Print/MSGbox USING$ ("Executable file '&' is size #,", szProg, W32.nFileSizeLow) FindClose h ELSE Should never happen message END IF
FUNCTION FileInformation (szFileName AS ASCIIZ , szFileSize AS ASCIIZ, szCreateDate AS ASCIIZ,_ szCreateTime AS ASCIIZ, szModifyDate AS ASCIIZ, szModifyTime AS ASCIIZ) AS LONG ' returns: 0 = success, else error LOCAL szDF AS ASCIIZ * 36, szTF AS ASCIIZ * 36 LOCAL szSizeFormat AS ASCIIZ * 16, szDateFormat AS ASCIIZ * 36, szTimeFormat AS ASCIIZ * 36 LOCAL hSearch AS LONG '<< Note LONG not DWORD LOCAL W32 AS WIN32_FIND_DATA, systime AS SYSTEMTIME, ft AS FILETIME LOCAL DateBufferSize AS LONG, SizeBufferSize AS LONG DateBufferSize = 16 SizeBufferSize = 12 szDF = "MM'/'dd'/'yy" ' the formats in which dates and times are returned szTF = "hh':'mm':'ss tt" szSizeFormat = "###,###,###" ' null all the passed parameters szFileSize = "" szModifyDate = "" szModifyTime = "" szCreateDate = "" szCreateTime = "" FUNCTION = %TRUE ' default = failure ' if file IS available get file info... ' get formatted date and time hSearch = FindFirstFile(szFilename, W32) IF hSearch <> %INVALID_HANDLE_VALUE_LONG THEN ' the file was found, info is in W32 szFileSize = FORMAT$(W32.nFileSizeLow, szSizeFormat) FileTimeToLocalFileTime W32.ftLastWriteTime, ft FileTimeToSystemTime ft, SysTime GetDateFormat BYVAL %NULL, BYVAL %NULL, SysTime, szDf, szModifyDate, DateBufferSize GetTimeFormat BYVAL %NULL, BYVAL %NULL, SysTime, szTF, szModifyTime, DateBufferSize FileTimetoLocalFileTime W32.ftCreationTime, ft FileTimeToSystemTime ft, SysTime GetDateFormat BYVAL %NULL, BYVAL %NULL, SysTime, szDf, szCreateDate, DateBUfferSize GetTimeFormat BYVAL %NULL, BYVAL %NULL, SysTime, szTF, szCreateTime, DateBufferSize FindClose hSearch FUNCTION = %FALSE ' success! END IF ' if we even found the file END FUNCTION
#COMPILE EXE '#Win 8.04# #DIM ALL #INCLUDE "Win32Api.inc" '#2005-01-27# '______________________________________________________________________________ FUNCTION GetDateTimeFormat(FileDate AS FILETIME) AS STRING LOCAL LocalDate AS FILETIME LOCAL SystemDate AS SYSTEMTIME FileTimeToLocalFileTime FileDate, LocalDate 'Convert from UTC to local time FileTimeToSystemTime LocalDate, SystemDate 'Convert to human readeable format FUNCTION = _ 'Format the resulting date, time and weekday FORMAT$(SystemDate.wyear, "0000") & "/" & FORMAT$(SystemDate.wMonth, "00") & "/" & _ FORMAT$(SystemDate.wDay, "00") & " " & FORMAT$(SystemDate.wHour, "00") & ":" & _ FORMAT$(SystemDate.wMinute, "00") & ":" & FORMAT$(SystemDate.wSecond, "00") & " " & _ "(" & FORMAT$(SystemDate.wMilliSeconds, "000") & " milliseconds) " & _ CHOOSE$(SystemDate.wDayOfWeek + 1, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") END FUNCTION '______________________________________________________________________________ FUNCTION PBMAIN() LOCAL zFileName AS ASCIIZ * %Max_Path LOCAL FileNameLen AS LONG LOCAL hFile AS DWORD LOCAL CreationTime AS FILETIME LOCAL LastAccessTime AS FILETIME LOCAL LastWriteTime AS FILETIME FileNameLen = GetModuleFileName(BYVAL %NULL, zFileName, %Max_Path) 'Get this exe file name hFile = CreateFile(zFileName, %GENERIC_READ, %FILE_SHARE_READ, _ 'Get a file handle so we can query BYVAL 0, %OPEN_EXISTING, %FILE_ATTRIBUTE_NORMAL, 0) IF hFile <> %INVALID_HANDLE_VALUE THEN 'Check if handle is valid GetFileTime hFile, CreationTime, LastAccessTime, LastWriteTime 'Get dates info MessageBox %HWND_DESKTOP, zFileName & $CRLF & $CRLF & _ "CreationTime" & $CRLF & _ GetDateTimeFormat(CreationTime) & $CRLF & $CRLF & _ "LastAccessTime" & $CRLF & _ GetDateTimeFormat(LastAccessTime) & $CRLF & $CRLF & _ "LastWriteTime" & $CRLF & _ GetDateTimeFormat(LastWriteTime), _ "Time with mili-second and weekday", %MB_ICONINFORMATION OR %MB_OK CloseHandle hFile 'Release handle clean-up END IF END FUNCTION '______________________________________________________________________________ '
#COMPILE EXE '#Win 8.04# #DIM ALL #INCLUDE "Win32Api.inc" '#2005-01-27# '______________________________________________________________________________ FUNCTION GetDateTimeFormat(FileDate AS FILETIME) AS STRING LOCAL LocalDate AS FILETIME LOCAL SystemDate AS SYSTEMTIME FileTimeToLocalFileTime FileDate, LocalDate 'Convert from UTC to local time FileTimeToSystemTime LocalDate, SystemDate 'Convert to human readeable format FUNCTION = _ 'Format the resulting date, time and weekday FORMAT$(SystemDate.wyear, "0000") & "/" & FORMAT$(SystemDate.wMonth, "00") & "/" & _ FORMAT$(SystemDate.wDay, "00") & " " & FORMAT$(SystemDate.wHour, "00") & ":" & _ FORMAT$(SystemDate.wMinute, "00") & ":" & FORMAT$(SystemDate.wSecond, "00") & " " & _ "(" & FORMAT$(SystemDate.wMilliSeconds, "000") & " milliseconds) " & _ CHOOSE$(SystemDate.wDayOfWeek + 1, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") END FUNCTION '______________________________________________________________________________ FUNCTION PBMAIN() LOCAL zFileName AS ASCIIZ * %Max_Path LOCAL FileNameLen AS LONG LOCAL hFile AS DWORD LOCAL FileInfo AS WIN32_FIND_DATA FileNameLen = GetModuleFileName(BYVAL %NULL, zFileName, %Max_Path) 'Get this exe file name hFile = FindFirstFile(zFileName, FileInfo) 'Get file info IF hFile <> %INVALID_HANDLE_VALUE THEN 'Check if handle is valid MessageBox %HWND_DESKTOP, zFileName & $CRLF & $CRLF & _ "CreationTime" & $CRLF & _ GetDateTimeFormat(FileInfo.ftCreationTime) & $CRLF & $CRLF & _ "LastAccessTime" & $CRLF & _ GetDateTimeFormat(FileInfo.ftLastAccessTime) & $CRLF & $CRLF & _ "LastWriteTime" & $CRLF & _ GetDateTimeFormat(FileInfo.ftLastWriteTime), _ "Time with mili-second and weekday", %MB_ICONINFORMATION OR %MB_OK FindClose hFile 'Release handle clean-up END IF END FUNCTION '______________________________________________________________________________ '
#COMPILE EXE '#Win 8.04# #DIM ALL #INCLUDE "Win32Api.inc" '#2005-01-27# '______________________________________________________________________________ FUNCTION GetDateTimeFormat(FileDate AS FILETIME) AS STRING LOCAL LocalDate AS FILETIME LOCAL SystemDate AS SYSTEMTIME FileTimeToLocalFileTime FileDate, LocalDate 'Convert from UTC to local time FileTimeToSystemTime LocalDate, SystemDate 'Convert to human readeable format FUNCTION = _ 'Format the resulting date, time and weekday FORMAT$(SystemDate.wyear, "0000") & "/" & FORMAT$(SystemDate.wMonth, "00") & "/" & _ FORMAT$(SystemDate.wDay, "00") & " " & FORMAT$(SystemDate.wHour, "00") & ":" & _ FORMAT$(SystemDate.wMinute, "00") & ":" & FORMAT$(SystemDate.wSecond, "00") & " " & _ "(" & FORMAT$(SystemDate.wMilliSeconds, "000") & " milliseconds) " & _ CHOOSE$(SystemDate.wDayOfWeek + 1, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") END FUNCTION '______________________________________________________________________________ FUNCTION PBMAIN() LOCAL zFileName AS ASCIIZ * %Max_Path LOCAL FileNameLen AS LONG LOCAL hFile AS DWORD LOCAL FileInfo AS BY_HANDLE_FILE_INFORMATION FileNameLen = GetModuleFileName(BYVAL %NULL, zFileName, %Max_Path) 'Get this exe file name hFile = CreateFile(zFileName, %GENERIC_READ, %FILE_SHARE_READ, _ 'Get a file handle so we can query BYVAL 0, %OPEN_EXISTING, %FILE_ATTRIBUTE_NORMAL, 0) IF hFile <> %INVALID_HANDLE_VALUE THEN 'Check if handle is valid GetFileInformationByHandle hFile, FileInfo MessageBox %HWND_DESKTOP, zFileName & $CRLF & $CRLF & _ "CreationTime" & $CRLF & _ GetDateTimeFormat(FileInfo.ftCreationTime) & $CRLF & $CRLF & _ "LastAccessTime" & $CRLF & _ GetDateTimeFormat(FileInfo.ftLastAccessTime) & $CRLF & $CRLF & _ "LastWriteTime" & $CRLF & _ GetDateTimeFormat(FileInfo.ftLastWriteTime), _ "Time with mili-second and weekday", %MB_ICONINFORMATION OR %MB_OK CloseHandle hFile 'Release handle clean-up END IF END FUNCTION '______________________________________________________________________________ '
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, and to analyze site activity. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.
Comment