Pliant talk forum

Pliant talk forum

Discussion: Win32 port details

Most of Pliant features are also available on Win32, also
some details are still missing on this plateform.
Message posted by hubert.tonneau on 2003/02/02 22:13:47
I'd like to complete the 'configure' method (near line 123 in module
/pliant/language/stream/native.pli) for Win32 through adding the capability
to set the file date and time.

Under Posix, it's done through 'utime' function.
How to do it using Win32 API ?
A working patch would even be better !
Message posted by michel.de-mendez on 2003/02/03 11:01:08
The two instructions "date" and "time" display the date and local time.
If you enter the instruction "set" you have no environement variable for "time" nor for "date" but
if you enter "set time=%time%", a new variable is defined and set time display :
"time = 11:55:57,23"
for the date the display is
"date=03/02/2003"
Please note that the difference between spaces really exists.
I dont know if that is a good answer but it seems that "%timt%" and "%date%"
can be asked from a script.
What can I try to do more ?
Message posted by szamo on 2003/03/01 22:48:52
The WIN32 API function for setting file date and time is SetFileTime. Below the
text from help file can be read about it, i hope it answers your question.
If you want to know more about it which is not described here, question and I
will try to answer. (I prefer email until i really start using Pliant, since
i can't check this forum too often.) By the way, i am glad such date and time
function is implemented in Pliant, it's useful sometimes.

From the MS help file:

The SetFileTime function sets the date and time that a file was created, last
accessed, or last modified. 

BOOL SetFileTime(

    HANDLE hFile, // identifies the file 
    CONST FILETIME *lpCreationTime, // time the file was created 
    CONST FILETIME *lpLastAccessTime, // time the file was last accessed 
    CONST FILETIME *lpLastWriteTime  // time the file was last written 
   );

Parameters

hFile
  Identifies the file for which to set the dates and times. The file handle must
have been created with GENERIC_WRITE access to the file. 

lpCreationTime
  Points to a FILETIME structure that contains the date and time the file was
created. This parameter can be NULL if the application does not need to set this
information. 

lpLastAccessTime
  Points to a FILETIME structure that contains the date and time the file was
last accessed. The last access time includes the last time the file was written
to, read from, or (in the case of executable files) run. This parameter can be
NULL if the application does not need to set this information. 

lpLastWriteTime
  Points to a FILETIME structure that contains the date and time the file was
last written to. This parameter can be NULL if the application does not want to
set this information.  

Return Values
  If the function succeeds, the return value is nonzero.
  If the function fails, the return value is zero. To get extended error
information, call GetLastError. 

Remarks
  The FAT and New Technology file systems support the file creation, last access, 
and last write time values. 

See Also
  FILETIME, GetFileSize, GetFileTime, GetFileType