Data de criacao do arquivo

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Data de criacao do arquivo

Mensagem por TerraSoftware »

Caros colegas.
Preciso descobrir a data de criacao de um determinado arquivo, nao estou conseguindo pois as unicas 2 maneiras que eu conheco, ambas retornam a data da ultima modificacao do arquivo. Sao elas:

Código: Selecionar todos

*****
aData:=filedate("clientes.cdx")
****
dData:=directory("clientes.cdx")
aData:=dData[1,3]
*****
Agradeco a ajuda desde já.
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Re: Data de criacao do arquivo

Mensagem por lugab »

TerraSoftware,

A dificuldade q vc está enfrentando , pode significar uma facilidade para mim e por isso me levou a pensar o seguinte :

"Se através desse código q vc postou, eu posso saber a data e a hora em que um DBF foi atualizado, bastaria então eu ter um código para saber a data e a hora em que o CDX tb foi atualizado, pra saber se o índice do referido arquivo está (ou não) atualizao"...

Esse devaneio meu faz algum sentido ?

Se faz sentido, então vem a segunda pergunta:

"Existe tb um código para descobrir a data e a hora da autalização de um CDX ????"

Gabriel
lugab
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Data de criacao do arquivo

Mensagem por alxsts »

Olá!

Caros, vejam este exemplo de utilização da função FileStats() do xHarbour, extraído do manual xHarbour's Language Reference Guide:

Código: Selecionar todos

// The example shows how to retrieve statistical information about
// a single file, and how to convert the time values from Seconds
// to a hh:mm:ss time formatted string.

   PROCEDURE Main
      LOCAL cFileName := "FILESTATS.PRG"
      LOCAL cFileAttr  , nFileSize
      LOCAL dCreateDate, nCreateTime
      LOCAL dChangeDate, nChangeTime

      ? FileStats( cFileName, @cFileAttr  , @nFileSize  , ;
                              @dCreateDate, @nCreateTime, ;
                              @dChangeDate, @nChangeTime  )

      ? "File statistiscs"
      ? "File Name :", cFileName
      ? "Attributes:", cFileAttr
      ? "File Size :", nFileSize
      ? "Created   :", dCreateDate, TString( nCreateTime )
      ? "Changed   :", dChangeDate, TSTring( nChangeTime )
   RETURN
[]´s
Alexandre Santos (AlxSts)
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Re: Data de criacao do arquivo

Mensagem por TerraSoftware »

Caro colega lugab, seu "devaneio" tem todo o sentido. Vc pode fazer sim tal teste usando as seguintes funcoes:

Código: Selecionar todos

DataDbf:=filedate("clientes.dbf")
HoraDbf:=filetime("clientes.dbf")
DataCdx:=filedate("clientes.cdx")
HoraCdx:=filetime("clientes.cdx")
if (DataDbf # DataCdx) .or. (HoraDbf # HoraCdx)
   alert("Arquivo de indice diverente.")
endif
Caro colega alxsts, era exatamente isso que eu precisava, muito obrigado.
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Data de criacao do arquivo

Mensagem por Maligno »

E se estiver em rede, com vários computadores sem qualquer sincronismo de relógio?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Re: Data de criacao do arquivo

Mensagem por lugab »

TerraSoft,
Muito obrigado. Foi uma òtima ajuda ...


MAligno,
Acredito q isso não faz mal e mesmo q um PC esteja dissincronizada dos demais PCs de uma rede, basta o PC q atualizar o DBFe seu CDX com data e hora idênticos , que é isso q acho que nos importa checar.

Veja o ex de uma Rede com 6 PCs, 5 pcs normais e 1 com data/hora errado..

Pc1 a PC5 (normais) : Se eles atualizaram dados em 16/09/2010 , as 12:08,
O DBF e o CDX estarão tb com as datas 16/09/2010, 12:08, e nada de corrupção.

Se o Pc6 (dissincronizado) atualizar o mesmo dbf dia 16/09/2010 e hora 11:00,
e Se O DBF e CDX que ele atualizou estiverer tb com 16/09/2010 e 11:00, tb não houve corrupção.

Não sei se me expressei com clareza, então, diz ai o q pensas !!!
lugab
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Re: Data de criacao do arquivo

Mensagem por TerraSoftware »

Caros colegas, fiz alguns testes com o que o maligno falou.
Em uma rede com servidor win 2003 e terminais xp, a data e hora de criação dos arquivos compartilhados na rede é sempre a data e hora do servidor. Logo o teste que o amigo Gabriel pretende fazer dará certo.
Eu nao entendo muito sobre estrutura de rede, mas acredito que isso deva ser um padrao para todo tipo de servidor. Os arquivos criados dentro do servidor devem pegar sempre a data e hora do mesmo. Até por que isso faz toda a logica.
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Data de criacao do arquivo

Mensagem por Maligno »

lugab escreveu:então, diz ai o q pensas !!!
Nunca usei nada do tipo. Nunca me apeguei muito a esses detalhes de rede. Por isso me surgiu essa dúvida. Como o colega "TerraSoftware" fez os testes e ele verificou que a data/hora utilizada foi a do servidor, acho que sua checagem pode ser considerada confiável. Mas acho que não deveria ser necessário verificar isso. Se é necessário para você, posso dizer que não é algo normal. Eu mesmo nunca precisei de algo parecido. Até porque, há métodos para verificar e corrigir automaticamente problemas de sincronismo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Re: Data de criacao do arquivo

Mensagem por lugab »

Devaneio destroçado, pessoal...

Basta precisar reindexar instantes depois da últuma inclusão/alteração/deleção no dbf , que a hora do cdx já fica diferente da do dbf, apesar de não estar desatualizada nem corrompida.

Em suma, o buraco é bem mais embaixo.

Mas eu aprendi novas funções e só isso já valeu pra mim...

Grato,

gabriel
lugab
Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Data de criacao do arquivo

Mensagem por Linguagemclipper »

Eu queria pegar a data de criação de um arquivo que está na nuvem, em um servidor web, com o TIpClientHttp, mas só vejo como abrir e baixar.
Não vejo função para ver a data do arquivo. Quero saber a data ANTES de baixar, ou seja, baixar apenas se o arquivo for mais recente.
Objetivo: Quero testar se o manual do sistema que está na web é mais recente do que o que tem no cliente e, se for o caso baixar o mais recente.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Data de criacao do arquivo

Mensagem por Itamar M. Lins Jr. »

Olá!
Quero saber a data ANTES de baixar,
Procurou os comandos FTP ?
Pq neste caso precisa entrar e sair(dentro e fora) da concha(SHELL) FTP.
https://www.cs.colostate.edu/helpdocs/ftp.html
O comando ls deve resolver seu caso.
ls to list the names of the files in the current remote directory

Código: Selecionar todos

ls -ls * &> saidat.txt 
Criar, baixar saida.txt, analisar e fazer download...

Não testei...

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Data de criacao do arquivo

Mensagem por alxsts »

Olá!

Encontrei este artigo na web, relacionado ao tema do tópico.

O código é para uma das primeiras versões do MS FoxPro. Tem algumas chamadas a API do Windows. Não sei converter estas chamadas para Harbour. Seria interessante, se alguém souber, converter para Harbour.
KnowledgeBase Archive
An Archive of Early Microsoft KnowledgeBase Articles
View on GitHub
Q188977: HOWTO: Use the Win32 API to Access File Dates and Times
Article: Q188977
Product(s): Microsoft FoxPro
Version(s): WINDOWS:3.0,3.0b,5.0,5.0a
Operating System(s):
Keyword(s):
Last Modified: 30-JUL-1999

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 5.0, 5.0a
-------------------------------------------------------------------------------

SUMMARY
=======

Visual FoxPro's FDATE() and FTIME() functions can be used to determine the date
and time that a file was last written. However, the Win32 file system also
stores the creation date and time in addition to the last access date and time.
To find these dates and times, it is necessary to use the Win32 functions
GetFileTime(), FileTimeToLocalFileTime() and FileTimeToSystemTime().

GetFileTime accepts a handle to an open file, and returns FILETIME structures for
the creation time, last access time and last write time. The FILETIME structure
is somewhat difficult to work with, because it contains two 32-bit values
representing the number of 100 nanosecond intervals since January 1, 1601.
Therefore, we want to convert it to a SYSTEMTIME structure. However, Win32
represents all times internally as Greenwich times, so you first apply a local
timezone correction by calling FileTimeToLocalFileTime().

Files written by or used by 16-bit Windows or DOS applications may not store all
these date and time values.

The FoxPro function GetFTime() illustrates the use of these calls.

MORE INFORMATION
================

1. Create and save the following program:

Código: Selecionar todos

        *********************************************************
        * Function getftime
        *
        * Return the create date and time, last access date and time,
        *   last write date and time from a passed filename.
        *
        * Passed:
        *   lcFileName (by value): fully-qualified filename
        *
        * Returns:
        *   Logical .t. if completed successfully, .f. if not.
        *
        * Return variables:
        *   ldCreateDate (date, by reference): Creation date
        *   lcCreateTime (character, by reference): Creation time
        *      (HH:MM:SS.mm)
        *   ldAccessDate (date, by reference): Last access date
        *   lcAccessTime (character, by reference): Last access time
        *      (HH:MM:SS.mm)
        *   lcLastWriteDate (date, by reference): Last write date
        *   lcLastWriteTime (character, by reference): Last write time
        *      (HH:MM:SS.mm)
        *
        *
        * Usage example: (assumes C:\Test.txt exists)
        m.createdate = {}
        m.createtime = ""
        m.accessdate = {}
        m.accesstime = ""
        m.lastwritedate = {}
        m.lastwritetime = ""
        m.OK = getftime("C:\Test.txt", @m.createdate, @m.createtime, ;
              @m.accessdate, @m.accesstime, @m.lastwritedate, ;
              @m.lastwritetime)
        IF m.OK
              ? "Create date: ", m.createdate
              ? "Create time: " , m.createtime
              ? "Last access date: ", m.accessdate
              ? "Last access time: ", m.accesstime
              ? "Last write date: ", m.lastwritedate
              ? "Last write time: ", m.lastwritetime
        ELSE
              ? "Error getting file times"
        ENDIF
        *
        * End of usage example.

        FUNCTION getftime

        PARAMETERS lcFileName, ldCreateDate, lcCreateTime, ldAccessDate,;
              lcAccessTime, ldLastWriteDate, lcLastWriteTime

        * Blank filename or nonexistent file, no need to continue.
        IF EMPTY(lcFileName) OR NOT FILE(lcFileName)
              RETURN .F.
        ENDIF

        * DEFINEs for file share mode.
        #DEFINE FILE_SHARE_READ 1
        #DEFINE FILE_SHARE_WRITE 2

        * DEFINEs for access right
        #DEFINE GENERIC_READ hex2dec("80000000")
        #DEFINE GENERIC_WRITE hex2dec("40000000")

        * DEFINES for Create Mode.
        #DEFINE CREATE_NEW  1
        #DEFINE CREATE_ALWAYS 2
        #DEFINE OPEN_EXISTING 3
        #DEFINE OPEN_ALWAYS 4
        #DEFINE TRUNCATE_EXISTING 5

        * File flag.
        #DEFINE FILE_ATTRIBUTE_NORMAL hex2dec("80")

        DECLARE INTEGER CreateFile IN kernel32 ;
              STRING lpFileName, ;
              INTEGER dwDesiredAccess, ;
              INTEGER dwShareMode, ;
              INTEGER lpSecurityAttributes, ;
              INTEGER dwCreationDisposition, ;
              INTEGER dwFlagsAndAttributes, ;
              INTEGER hTemplateFile

        DECLARE INTEGER GetFileTime IN kernel32 ;
              INTEGER hFile, ;
              STRING @lpCreationTime, ;
              STRING @lpLastAccessTime, ;
              STRING @lpLastWriteTime

        DECLARE INTEGER FileTimeToLocalFileTime IN kernel32 ;
              STRING @lpFileTime, ;
              STRING @lpLocalFileTime

        DECLARE INTEGER FileTimeToSystemTime IN kernel32 ;
              STRING @lpFileTime, ;
              STRING @lpSystemTime

        DECLARE INTEGER GetLastError IN kernel32

        DECLARE INTEGER CloseHandle IN kernel32 ;
              INTEGER hObject

        * 2 DWORDs * 4 bytes each = an 8-byte buffer.
        CreationTime = SPACE(8)
        LastAccessTime = SPACE(8)
        lastwritetime = SPACE(8)

        * Same buffers for local time.
        LocalCreationTime = SPACE(8)
        LocalLastAccessTime = SPACE(8)
        LocalLastWriteTime = SPACE(8)

        * 16-byte buffers for when we convert from the FILETIME
        * structs to the more human-readable SYSTEMTIME structures.
        ctSystemTime = SPACE(16)
        laSystemTime = SPACE(16)
        lwSystemTime = SPACE(16)

        * Open an existing file.
        lhFileHandle = CreateFile(lcFileName, GENERIC_READ, ;
              FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)

        IF lhFileHandle <= 0
              =MESSAGEBOX ("Error in CreateFile: Error code - " + ;
                    LTRIM(STR(GetLastError())))
              RETURN .F.
        ENDIF

        * Make the GetFileTime call, to get Create, Access and Update times.
        m.retval = GetFileTime(lhFileHandle, CreationTime, ;
              @LastAccessTime, @lastwritetime)
        IF m.retval = 0
              =MESSAGEBOX("Error calling GetFileTime. Error code: " + ;
                    LTRIM(STR(GetLastError())))
              RETURN .F.
        ENDIF

        * Successfully performed the GetFileTime call -
        * now convert each of the three times to local time.
        * If any of them fail, then exit.
        IF FileTimeToLocalFileTime(@CreationTime, @LocalCreationTime)=0 OR ;
         FileTimeToLocalFileTime(@LastAccessTime,@LocalLastAccessTime)=0 OR ;
         FileTimeToLocalFileTime(@lastwritetime, @LocalLastWriteTime)=0
              =MESSAGEBOX("FileTimeToLocalFileTime Failed. Error code: " + ;
                    LTRIM(STR(GetLastError())))
              RETURN .F.
        ENDIF

        * Now you have a local filetime, convert each to a systemtime that
        * you can work with.
        * If any of the calls fail, then exit.
        IF FileTimeToSystemTime(@LocalCreationTime, @ctSystemTime) = 0 OR ;
         FileTimeToSystemTime(@LocalLastAccessTime, @laSystemTime) = 0 OR ;
         FileTimeToSystemTime(@LocalLastWriteTime, @lwSystemTime) = 0
              =MESSAGEBOX("FileTimeToSystemTime call failed. Error code: " ;
                    + LTRIM(STR(GetLastError())))
              RETURN .F.
        ENDIF

        * Unpack the integers in creation time SystemTime structure.
        ctstYear = Str2Word(LEFT(ctSystemTime, 2))
        ctstMonth = Str2Word(SUBSTR(ctSystemTime, 3, 2))
        ctstDayofWeek = Str2Word(SUBSTR(ctSystemTime, 5, 2))
        ctstDay = Str2Word(SUBSTR(ctSystemTime, 7, 2))
        ctstHour = Str2Word(SUBSTR(ctSystemTime, 9, 2))
        ctstMinute = Str2Word(SUBSTR(ctSystemTime, 11, 2))
        ctstSecond = Str2Word(SUBSTR(ctSystemTime, 13, 2))
        ctstMilliSecond = Str2Word(SUBSTR(ctSystemTime, 15, 2))

        * Unpack the integers in last access time SystemTime structure.
        lastYear = Str2Word(LEFT(laSystemTime, 2))
        lastMonth = Str2Word(SUBSTR(laSystemTime, 3, 2))
        lastDayofWeek = Str2Word(SUBSTR(laSystemTime, 5, 2))
        lastDay = Str2Word(SUBSTR(laSystemTime, 7, 2))
        lastHour = Str2Word(SUBSTR(laSystemTime, 9, 2))
        lastMinute = Str2Word(SUBSTR(laSystemTime, 11, 2))
        lastSecond = Str2Word(SUBSTR(laSystemTime, 13, 2))
        lastMilliSecond = Str2Word(SUBSTR(laSystemTime, 15, 2))

        * Unpack the integers in last write time SystemTime structure.
        lwstYear = Str2Word(LEFT(lwSystemTime, 2))
        lwstMonth = Str2Word(SUBSTR(lwSystemTime, 3, 2))
        lwstDayofWeek = Str2Word(SUBSTR(lwSystemTime, 5, 2))
        lwstDay = Str2Word(SUBSTR(lwSystemTime, 7, 2))
        lwstHour = Str2Word(SUBSTR(lwSystemTime, 9, 2))
        lwstMinute = Str2Word(SUBSTR(lwSystemTime, 11, 2))
        lwstSecond = Str2Word(SUBSTR(lwSystemTime, 13, 2))
        lwstMilliSecond = Str2Word(SUBSTR(lwSystemTime, 15, 2))

        * Close the file handle.
        llRetCode = CloseHandle(lhFileHandle)

        * Format the return variables.
        ldCreateDate = CTOD(LTRIM(STR(ctstMonth)) + "/" + ;
            LTRIM(STR(ctstDay))+ ;
            "/" + LTRIM(STR(ctstYear)))
        lcCreateTime = PADL(LTRIM(STR(ctstHour)), 2, "0") + ":" + ;
            PADL(LTRIM(STR(ctstMinute)), 2, "0") + ":" + ;
            PADL(LTRIM(STR(ctstSecond)), 2, "0") + "." + ;
            PADL(LTRIM(STR(ctstMilliSecond)), 3, "0")
        ldAccessDate = CTOD(LTRIM(STR(lastMonth)) + "/" + ;
            LTRIM(STR(lastDay))+ ;
            "/" + LTRIM(STR(lastYear)))
        lcAccessTime = PADL(LTRIM(STR(lastHour)), 2, "0") + ":" + ;
              PADL(LTRIM(STR(lastMinute)), 2, "0") + ":" + ;
              PADL(LTRIM(STR(lastSecond)), 2, "0") + "." + ;
              PADL(LTRIM(STR(lastMilliSecond)), 3, "0")
        ldLastWriteDate = CTOD(LTRIM(STR(lwstMonth))+ ;
              "/"+LTRIM(STR(lwstDay))+ ;
              "/" + LTRIM(STR(lwstYear)))
        lcLastWriteTime = PADL(LTRIM(STR(lwstHour)), 2, "0") + ":" + ;
              PADL(LTRIM(STR(lwstMinute)), 2, "0") + ":" + ;
              PADL(LTRIM(STR(lwstSecond)), 2, "0") + "." + ;
              PADL(LTRIM(STR(lwstMilliSecond)), 3, "0")

        * Function hex2dec - Convert a character hex value into decimal.
        * Handy for dealing with Hex declarations in API calls.
        * Passed: m.hex (character hex value)
        * Returns: Decimal value
        FUNCTION hex2dec

        PARAMETER m.hex

        m.decimal = 0
        FOR i = LEN(m.hex) TO 1 STEP -1
              m.decimal = m.decimal + (AT(SUBSTR(m.hex, i, 1), ;
                 "0123456789ABCDEF") - 1) * 16 ^ (i - 1)
        NEXT
        RETURN m.decimal

        * Function str2word - Converts low-high format string representation
        *    to a 16-bit integer (word) value. Useful for unrolling structure
        *    members containg WORD types.
        *
        * Passed: Low-high string representation of 16-bit integer
        * Returns: numeric value
        FUNCTION Str2Word

        PARAMETERS m.wordstr

        PRIVATE i, m.retval

        m.retval = 0
        FOR i = 0 TO 8 STEP 8
           m.retval = m.retval + (ASC(m.wordstr) * (2^i))
           m.wordstr = RIGHT(m.wordstr, LEN(m.wordstr) - 1)
        NEXT
        RETURN m.retval

2. Create a file named Test.txt in the C:\ root for testing purposes.

3. Run the program. It should display the creation, last access and last write
dates and times on the Visual FoxPro desktop.

REFERENCES
==========

Win32 API Help; (included with the Platform SDK) topics: "GetFileTime",
"FileTimeToLocalTime", "FileTimeToSystemTime", "SYSTEMTIME" and "FILETIME"

Additional query words: GetFileTime FileTimeToLocalFileTime FileTimeToSystemTime FILETIME SYSTEMTIME time update kbnokeyword

======================================================================
Keywords :
Technology : kbVFPsearch kbAudDeveloper kbVFP300 kbVFP300b kbVFP500 kbVFP500a
Version : WINDOWS:3.0,3.0b,5.0,5.0a
Issue type : kbhowto

=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.

KnowledgeBase Archive is maintained by PCjs.
This page was generated by GitHub Pages.
Fonte: KnowledgeBase Archive - An Archive of Early Microsoft KnowledgeBase Articles
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Data de criacao do arquivo

Mensagem por JoséQuintas »

Que eu saiba já tem isso no Harbour, ou é só no Harbour 3.4 ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Data de criacao do arquivo

Mensagem por alxsts »

Olá!
JoséQuintas escreveu:Que eu saiba já tem isso no Harbour, ou é só no Harbour 3.4 ?
Qual função?

hb_FGetDateTime() retorna a data e hora da última atualização do arquivo...
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Data de criacao do arquivo

Mensagem por JoséQuintas »

Se estamos falando de FTP, é nas funções de FTP.
Se estamos falando direto do Harbour, TALVEZ funções hb_vf*
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder