CrackDate Method
Class: FTP_SERVICE
Description:Converting file system structure to system date
Internal method for converting file system structure to system date.
Object.CrackDate
Parameter
lcOutBuffer
Type Character
Direction Input
Example
See source code of method FTP_SERVICE::CrackFile()
See also
Expand/Collapse source code of procedure CrackDate Source Code
LPARAMETERS INP lcOutBuffer
      LOCAL lcInBuffer, fResult, lcBuild, ;
            lnDay, lnMonth, lnYear, lnHour, lnMinute, lnSecond
        
      lcInBuffer = SPACE(16)
        
      fResult = FileTimeToSystemTime(@m.lcOutBuffer, @m.lcInBuffer)
      This.GetExtendedError()
            
      IF m.fResult = 0   && Failed
         RETURN {^1901/01/01 00:00:01}
      ENDIF

      lnYear = ASC(SUBSTR(m.lcInBuffer, 1, 1)) + (ASC(SUBSTR(m.lcInBuffer, 2, 1)) * BYTE_2)
      lnMonth = ASC(SUBSTR(m.lcInBuffer, 3, 1)) + (ASC(SUBSTR(m.lcInBuffer, 4, 1)) * BYTE_2)
      lnDay = ASC(SUBSTR(m.lcInBuffer, 7, 1)) + (ASC(SUBSTR(m.lcInBuffer, 8, 1)) * BYTE_2)
      lnHour = ASC(SUBSTR(m.lcInBuffer, 9, 1)) + (ASC(SUBSTR(m.lcInBuffer, 10, 1)) * BYTE_2)
      lnMinute = ASC(SUBSTR(m.lcInBuffer, 11, 1)) + (ASC(SUBSTR(m.lcInBuffer, 12, 1)) * BYTE_2)
      lnSecond = ASC(SUBSTR(m.lcInBuffer, 13, 1)) + (ASC(SUBSTR(m.lcInBuffer, 13, 1)) * BYTE_2)
            
      lcBuild = "^" + ALLTRIM(STR(m.lnYear)) + '-' + ALLTRIM(STR(m.lnMonth)) + '-' + ALLTRIM(STR(m.lnDay)) + ' ' + ;
                ALLTRIM(STR(m.lnHour)) + ':' + ALLTRIM(STR(m.lnMinute)) + ':' + ALLTRIM(STR(m.lnSecond))
                      
      RETURN CTOT(m.lcBuild)