une petite question sur les propriétés des dossiers ?
j'arrive à récupérer les propriétés des fichiers, mais pour les dossiers, je
sais pas comment faire ?
(je cherche à récupérer la date de création du répertoire ... ou, si c'est
possible, la date de modification des fichiers qu'il contient, et je ne sais
vers où me retourner ...
...à part la solution très lourde de parcourir tout le répertoire et de
comparer les dates de modification de chacun des fichiers ... ??
une idée ?
merci d'avance...
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
scraper wrote:
(Re-)Bonjour à tous !
une petite question sur les propriétés des dossiers ?
j'arrive à récupérer les propriétés des fichiers, mais pour les dossiers, je sais pas comment faire ? (je cherche à récupérer la date de création du répertoire ... ou, si c'est possible, la date de modification des fichiers qu'il contient, et je ne sais vers où me retourner ... ...à part la solution très lourde de parcourir tout le répertoire et de comparer les dates de modification de chacun des fichiers ... ??
une idée ?
merci d'avance...
Salut,
As-tu essayé avec l'API getFileTime() ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
scraper wrote:
(Re-)Bonjour à tous !
une petite question sur les propriétés des dossiers ?
j'arrive à récupérer les propriétés des fichiers, mais pour les
dossiers, je sais pas comment faire ?
(je cherche à récupérer la date de création du répertoire ... ou, si
c'est possible, la date de modification des fichiers qu'il contient,
et je ne sais vers où me retourner ...
...à part la solution très lourde de parcourir tout le répertoire et
de comparer les dates de modification de chacun des fichiers ... ??
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
scraper wrote:
(Re-)Bonjour à tous !
une petite question sur les propriétés des dossiers ?
j'arrive à récupérer les propriétés des fichiers, mais pour les dossiers, je sais pas comment faire ? (je cherche à récupérer la date de création du répertoire ... ou, si c'est possible, la date de modification des fichiers qu'il contient, et je ne sais vers où me retourner ... ...à part la solution très lourde de parcourir tout le répertoire et de comparer les dates de modification de chacun des fichiers ... ??
une idée ?
merci d'avance...
scraper
Bonjour ng (dans news:) tu nous disais :
Salut,
As-tu essayé avec l'API getFileTime() ?
hello !
merci de ta réponse ...
à priori, cette API ne fonctionne pas pour les dossiers ...
je vois pas trop comment faire ?
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Bonjour ng
(dans news:eFgauIqxEHA.1404@TK2MSFTNGP11.phx.gbl)
tu nous disais :
Salut,
As-tu essayé avec l'API getFileTime() ?
hello !
merci de ta réponse ...
à priori, cette API ne fonctionne pas pour les dossiers ...
je vois pas trop comment faire ?
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
à priori, cette API ne fonctionne pas pour les dossiers ...
je vois pas trop comment faire ?
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
ng
Salut,
Si théoriquement cela fonctionne, mais tu peux faire autrement (plus simple), regarde mon post : http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4
Sinon pour utiliser getFileTIme() : http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
scraper wrote:
Bonjour ng (dans news:) tu nous disais :
Salut,
As-tu essayé avec l'API getFileTime() ?
hello !
merci de ta réponse ...
à priori, cette API ne fonctionne pas pour les dossiers ...
je vois pas trop comment faire ?
Salut,
Si théoriquement cela fonctionne, mais tu peux faire autrement (plus
simple), regarde mon post :
http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4
Sinon pour utiliser getFileTIme() :
http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
scraper wrote:
Bonjour ng
(dans news:eFgauIqxEHA.1404@TK2MSFTNGP11.phx.gbl)
tu nous disais :
Salut,
As-tu essayé avec l'API getFileTime() ?
hello !
merci de ta réponse ...
à priori, cette API ne fonctionne pas pour les dossiers ...
Si théoriquement cela fonctionne, mais tu peux faire autrement (plus simple), regarde mon post : http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4
Sinon pour utiliser getFileTIme() : http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
scraper wrote:
Bonjour ng (dans news:) tu nous disais :
Salut,
As-tu essayé avec l'API getFileTime() ?
hello !
merci de ta réponse ...
à priori, cette API ne fonctionne pas pour les dossiers ...
je vois pas trop comment faire ?
Patrice Henrio
Si les choses continuent à fonction comme au temps du bon vieux DOS, à la création du dossier il se crée automatiquement un fichier nommé "." et un autre nommé "..", en regardant les heures de créations de l'un de ces deux fichiers on a la date de création du répertoire.
PS : je n'ai pas vérifié et ce que je viens de dire est peut-être complêtement obsolète.
"ng" a écrit dans le message de news: Ot%
Salut,
Si théoriquement cela fonctionne, mais tu peux faire autrement (plus simple), regarde mon post : http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4
Sinon pour utiliser getFileTIme() : http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
scraper wrote:
Bonjour ng (dans news:) tu nous disais :
Salut,
As-tu essayé avec l'API getFileTime() ?
hello !
merci de ta réponse ...
à priori, cette API ne fonctionne pas pour les dossiers ...
je vois pas trop comment faire ?
Si les choses continuent à fonction comme au temps du bon vieux DOS, à la
création du dossier il se crée automatiquement un fichier nommé "." et un
autre nommé "..", en regardant les heures de créations de l'un de ces deux
fichiers on a la date de création du répertoire.
PS : je n'ai pas vérifié et ce que je viens de dire est peut-être
complêtement obsolète.
"ng" <ng@ngsoft-fr.com> a écrit dans le message de news:
Ot%232p58xEHA.3844@TK2MSFTNGP09.phx.gbl...
Salut,
Si théoriquement cela fonctionne, mais tu peux faire autrement (plus
simple), regarde mon post :
http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4
Sinon pour utiliser getFileTIme() :
http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
scraper wrote:
Bonjour ng
(dans news:eFgauIqxEHA.1404@TK2MSFTNGP11.phx.gbl)
tu nous disais :
Salut,
As-tu essayé avec l'API getFileTime() ?
hello !
merci de ta réponse ...
à priori, cette API ne fonctionne pas pour les dossiers ...
Si les choses continuent à fonction comme au temps du bon vieux DOS, à la création du dossier il se crée automatiquement un fichier nommé "." et un autre nommé "..", en regardant les heures de créations de l'un de ces deux fichiers on a la date de création du répertoire.
PS : je n'ai pas vérifié et ce que je viens de dire est peut-être complêtement obsolète.
"ng" a écrit dans le message de news: Ot%
Salut,
Si théoriquement cela fonctionne, mais tu peux faire autrement (plus simple), regarde mon post : http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4
Sinon pour utiliser getFileTIme() : http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
scraper wrote:
Bonjour ng (dans news:) tu nous disais :
Salut,
As-tu essayé avec l'API getFileTime() ?
hello !
merci de ta réponse ...
à priori, cette API ne fonctionne pas pour les dossiers ...
je vois pas trop comment faire ?
scraper
Bonjour Patrice Henrio (dans news:) tu nous disais :
Si les choses continuent à fonction comme au temps du bon vieux DOS, à la création du dossier il se crée automatiquement un fichier nommé "." et un autre nommé "..", en regardant les heures de créations de l'un de ces deux fichiers on a la date de création du répertoire.
PS : je n'ai pas vérifié et ce que je viens de dire est peut-être complêtement obsolète.
merci à tous les 2, je vais explorer ces pistes, et je vous tiens au courant
merci :-)
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Bonjour Patrice Henrio
(dans news:ODG08U9xEHA.2876@TK2MSFTNGP12.phx.gbl)
tu nous disais :
Si les choses continuent à fonction comme au temps du bon vieux DOS,
à la création du dossier il se crée automatiquement un fichier nommé
"." et un autre nommé "..", en regardant les heures de créations de
l'un de ces deux fichiers on a la date de création du répertoire.
PS : je n'ai pas vérifié et ce que je viens de dire est peut-être
complêtement obsolète.
merci à tous les 2, je vais explorer ces pistes, et je vous tiens au courant
merci :-)
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
Bonjour Patrice Henrio (dans news:) tu nous disais :
Si les choses continuent à fonction comme au temps du bon vieux DOS, à la création du dossier il se crée automatiquement un fichier nommé "." et un autre nommé "..", en regardant les heures de créations de l'un de ces deux fichiers on a la date de création du répertoire.
PS : je n'ai pas vérifié et ce que je viens de dire est peut-être complêtement obsolète.
merci à tous les 2, je vais explorer ces pistes, et je vous tiens au courant
merci :-)
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
scraper
Bonjour Patrice Henrio (dans news:) tu nous disais :
Si les choses continuent à fonction comme au temps du bon vieux DOS, à la création du dossier il se crée automatiquement un fichier nommé "." et un autre nommé "..", en regardant les heures de créations de l'un de ces deux fichiers on a la date de création du répertoire.
ben je sais pas si ces fichiers existent tjs (je crois que oui, n éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??
tant pis
merci quand même ...
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Bonjour Patrice Henrio
(dans news:ODG08U9xEHA.2876@TK2MSFTNGP12.phx.gbl)
tu nous disais :
Si les choses continuent à fonction comme au temps du bon vieux DOS,
à la création du dossier il se crée automatiquement un fichier nommé
"." et un autre nommé "..", en regardant les heures de créations de
l'un de ces deux fichiers on a la date de création du répertoire.
ben je sais pas si ces fichiers existent tjs (je crois que oui, n
éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??
tant pis
merci quand même ...
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
Bonjour Patrice Henrio (dans news:) tu nous disais :
Si les choses continuent à fonction comme au temps du bon vieux DOS, à la création du dossier il se crée automatiquement un fichier nommé "." et un autre nommé "..", en regardant les heures de créations de l'un de ces deux fichiers on a la date de création du répertoire.
ben je sais pas si ces fichiers existent tjs (je crois que oui, n éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??
tant pis
merci quand même ...
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Jean-Marc
"scraper" a écrit dans le message de news:%
Bonjour Patrice Henrio (dans news:) tu nous disais :
> Si les choses continuent à fonction comme au temps du bon vieux DOS, > à la création du dossier il se crée automatiquement un fichier nommé > "." et un autre nommé "..", en regardant les heures de créations de > l'un de ces deux fichiers on a la date de création du répertoire.
ben je sais pas si ces fichiers existent tjs (je crois que oui, n éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??
Hello,
ce ne sont pas des fichiers mais des répertoires. "." représente "moi même" ".." représente "le répertoire dont je suis un des sous répertoires"
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't.">
"scraper" <scraper@pasdespam.fr> a écrit dans le message de
news:%238faLHByEHA.2540@TK2MSFTNGP09.phx.gbl...
Bonjour Patrice Henrio
(dans news:ODG08U9xEHA.2876@TK2MSFTNGP12.phx.gbl)
tu nous disais :
> Si les choses continuent à fonction comme au temps du bon vieux DOS,
> à la création du dossier il se crée automatiquement un fichier nommé
> "." et un autre nommé "..", en regardant les heures de créations de
> l'un de ces deux fichiers on a la date de création du répertoire.
ben je sais pas si ces fichiers existent tjs (je crois que oui, n
éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??
Hello,
ce ne sont pas des fichiers mais des répertoires.
"." représente "moi même"
".." représente "le répertoire dont je suis un des sous répertoires"
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't.">
Bonjour Patrice Henrio (dans news:) tu nous disais :
> Si les choses continuent à fonction comme au temps du bon vieux DOS, > à la création du dossier il se crée automatiquement un fichier nommé > "." et un autre nommé "..", en regardant les heures de créations de > l'un de ces deux fichiers on a la date de création du répertoire.
ben je sais pas si ces fichiers existent tjs (je crois que oui, n éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??
Hello,
ce ne sont pas des fichiers mais des répertoires. "." représente "moi même" ".." représente "le répertoire dont je suis un des sous répertoires"
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't.">
scraper
Bonjour Jean-Marc (dans news:4193bb9b$0$21238$) tu nous disais :
ben je sais pas si ces fichiers existent tjs (je crois que oui, n éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??
Hello,
ce ne sont pas des fichiers mais des répertoires. "." représente "moi même" ".." représente "le répertoire dont je suis un des sous répertoires"
crotte !!
et en plus, je le savais !(que c'étaient des répertoires, je veux dire) :-)
merci ...
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Bonjour Jean-Marc
(dans news:4193bb9b$0$21238$ba620e4c@news.skynet.be)
tu nous disais :
ben je sais pas si ces fichiers existent tjs (je crois que oui, n
éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??
Hello,
ce ne sont pas des fichiers mais des répertoires.
"." représente "moi même"
".." représente "le répertoire dont je suis un des sous répertoires"
crotte !!
et en plus, je le savais !(que c'étaient des répertoires, je veux dire)
:-)
merci ...
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
en fait, j'utilisais la fonction trouvé dans l'API Guide ... qui, fonctionnait pas mal ... mais ceci m'a permis d'y voir plus clair ... :-)
si j'ajoute le fait que mes résultats étaient faussés parce que je vérifiais la date de création sur un fichier qui était modifié 'donc, réécrit, mais pas écrit => la date changeait pas !) eh bien je suis arrivé à un résultat globalement satisfaisant ...
(en testant la date de chaque fichier du répertoire, et en conservant la plus récente)
merci
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Bonjour ng
(dans news:Ot%232p58xEHA.3844@TK2MSFTNGP09.phx.gbl)
tu nous disais :
Salut,
Si théoriquement cela fonctionne, mais tu peux faire autrement (plus
simple), regarde mon post :
en fait, j'utilisais la fonction trouvé dans l'API Guide ... qui,
fonctionnait pas mal ... mais ceci m'a permis d'y voir plus clair ... :-)
si j'ajoute le fait que mes résultats étaient faussés parce que je vérifiais
la date de création sur un fichier qui était modifié 'donc, réécrit, mais
pas écrit => la date changeait pas !) eh bien je suis arrivé à un résultat
globalement satisfaisant ...
(en testant la date de chaque fichier du répertoire, et en conservant la
plus récente)
merci
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
en fait, j'utilisais la fonction trouvé dans l'API Guide ... qui, fonctionnait pas mal ... mais ceci m'a permis d'y voir plus clair ... :-)
si j'ajoute le fait que mes résultats étaient faussés parce que je vérifiais la date de création sur un fichier qui était modifié 'donc, réécrit, mais pas écrit => la date changeait pas !) eh bien je suis arrivé à un résultat globalement satisfaisant ...
(en testant la date de chaque fichier du répertoire, et en conservant la plus récente)
merci
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Jean-Marc
"scraper" a écrit dans le message de news:%237$
en fait, j'utilisais la fonction trouvé dans l'API Guide ... qui, fonctionnait pas mal ... mais ceci m'a permis d'y voir plus clair ... :-)
si j'ajoute le fait que mes résultats étaient faussés parce que je
vérifiais
la date de création sur un fichier qui était modifié 'donc, réécrit, mais pas écrit => la date changeait pas !) eh bien je suis arrivé à un résultat globalement satisfaisant ...
(en testant la date de chaque fichier du répertoire, et en conservant la plus récente)
Hello, si tu n'as pas peur des méthodes un peu bourrines, et si tu veux connaitre la date et heure réelle de création de ton répertoire, voici pour toi: le principe est de créer un fichier batch pour DOS qui contient une commande DIR. Dans le fichier batch, on redirige la sortie du DIR vers un fichier. A la fin de l'exécution du batch, on ouvre le fichier de sortie et on le parse vite fait bien fait pour retouver la date et l'heure. C'est pas merveilleux comme technique, mais peu importe: ça fonctionne. Donc voici. le code est dans la SUB myGetDirDateTime() qui utilise en plus ExecCmd qu'il faut définir dans un module. Je place ici un exemple d'appel de ma sub, la sub elle même, et le code à placer dans un module.
' exemple d'appel Private Sub Command1_Click() Dim myDate As String Dim myTime As String
Call myGetDirDateTime("c:JM", myDate, myTime) MsgBox "repertoire créé le " & myDate & " à l'heure: " & myTime End Sub
' la sub elle même Private Sub myGetDirDateTime(sDirectory As String, ByRef theDate As String, ByRef theTime As String) Dim cmd As String Dim f As Integer Dim s As String Dim p As Integer Dim dat As String Dim tim As String
cmd = "command.com /C dir " & sDirectory & "* > c:dir.txt" cmd = cmd & vbCrLf & "exit" & vbCrLf f = FreeFile Open "c:mydir.bat" For Output As #f Print #f, cmd Close #f ExecCmd ("c:mydir.bat") f = FreeFile Open "c:dir.txt" For Input As #f While Not (EOF(f)) Line Input #f, s p = InStr(s, "<DIR>") If p Then dat = Trim$(Mid$(s, p + 5)) dat = Trim$(Mid$(dat, 1, InStr(dat, " "))) tim = Trim$(Mid$(s, InStr(s, dat) + Len(dat))) theDate = dat theTime = tim End If Wend Close #f End Sub
' et le execCmd à placer dans un module Private Type STARTUPINFO cb As Long lpReserved As String lpDesktop As String lpTitle As String dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Long hStdInput As Long hStdOutput As Long hStdError As Long End Type
Private Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessID As Long dwThreadID As Long End Type
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _ hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CreateProcessA Lib "kernel32" (ByVal _ lpApplicationName As String, ByVal lpCommandLine As String, ByVal _ lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _ ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _ ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As String, _ lpStartupInfo As STARTUPINFO, lpProcessInformation As _ PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib "kernel32" _ (ByVal hObject As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _ (ByVal hProcess As Long, lpExitCode As Long) As Long
Public Function ExecCmd(cmdline$) Dim proc As PROCESS_INFORMATION Dim start As STARTUPINFO Dim ret As Long ' Initialize the STARTUPINFO structure: start.cb = Len(start)
' Wait for the shelled application to finish: ret& = WaitForSingleObject(proc.hProcess, INFINITE) Call GetExitCodeProcess(proc.hProcess, ret&) Call CloseHandle(proc.hThread) Call CloseHandle(proc.hProcess) ExecCmd = ret& End Function
ouf, et voila!
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"scraper" <scraper@pasdespam.fr> a écrit dans le message de
news:%237$OxfCyEHA.1296@TK2MSFTNGP10.phx.gbl...
en fait, j'utilisais la fonction trouvé dans l'API Guide ... qui,
fonctionnait pas mal ... mais ceci m'a permis d'y voir plus clair ... :-)
si j'ajoute le fait que mes résultats étaient faussés parce que je
vérifiais
la date de création sur un fichier qui était modifié 'donc, réécrit, mais
pas écrit => la date changeait pas !) eh bien je suis arrivé à un résultat
globalement satisfaisant ...
(en testant la date de chaque fichier du répertoire, et en conservant la
plus récente)
Hello,
si tu n'as pas peur des méthodes un peu bourrines, et si tu veux
connaitre la date et heure réelle de création de ton répertoire,
voici pour toi: le principe est de créer un fichier batch pour DOS
qui contient une commande DIR. Dans le fichier batch, on redirige la
sortie du DIR vers un fichier. A la fin de l'exécution du batch, on
ouvre le fichier de sortie et on le parse vite fait bien fait pour
retouver la date et l'heure. C'est pas merveilleux comme technique,
mais peu importe: ça fonctionne. Donc voici. le code est dans la SUB
myGetDirDateTime() qui utilise en plus ExecCmd qu'il faut définir
dans un module. Je place ici un exemple d'appel de ma sub, la sub
elle même, et le code à placer dans un module.
' exemple d'appel
Private Sub Command1_Click()
Dim myDate As String
Dim myTime As String
Call myGetDirDateTime("c:JM", myDate, myTime)
MsgBox "repertoire créé le " & myDate & " à l'heure: " & myTime
End Sub
' la sub elle même
Private Sub myGetDirDateTime(sDirectory As String, ByRef theDate As String,
ByRef theTime As String)
Dim cmd As String
Dim f As Integer
Dim s As String
Dim p As Integer
Dim dat As String
Dim tim As String
cmd = "command.com /C dir " & sDirectory & "* > c:dir.txt"
cmd = cmd & vbCrLf & "exit" & vbCrLf
f = FreeFile
Open "c:mydir.bat" For Output As #f
Print #f, cmd
Close #f
ExecCmd ("c:mydir.bat")
f = FreeFile
Open "c:dir.txt" For Input As #f
While Not (EOF(f))
Line Input #f, s
p = InStr(s, "<DIR>")
If p Then
dat = Trim$(Mid$(s, p + 5))
dat = Trim$(Mid$(dat, 1, InStr(dat, " ")))
tim = Trim$(Mid$(s, InStr(s, dat) + Len(dat)))
theDate = dat
theTime = tim
End If
Wend
Close #f
End Sub
' et le execCmd à placer dans un module
Private Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type
Private Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessID As Long
dwThreadID As Long
End Type
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CreateProcessA Lib "kernel32" (ByVal _
lpApplicationName As String, ByVal lpCommandLine As String, ByVal _
lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _
ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _
ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As String, _
lpStartupInfo As STARTUPINFO, lpProcessInformation As _
PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
Public Function ExecCmd(cmdline$)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
Dim ret As Long
' Initialize the STARTUPINFO structure:
start.cb = Len(start)
' Wait for the shelled application to finish:
ret& = WaitForSingleObject(proc.hProcess, INFINITE)
Call GetExitCodeProcess(proc.hProcess, ret&)
Call CloseHandle(proc.hThread)
Call CloseHandle(proc.hProcess)
ExecCmd = ret&
End Function
ouf, et voila!
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
en fait, j'utilisais la fonction trouvé dans l'API Guide ... qui, fonctionnait pas mal ... mais ceci m'a permis d'y voir plus clair ... :-)
si j'ajoute le fait que mes résultats étaient faussés parce que je
vérifiais
la date de création sur un fichier qui était modifié 'donc, réécrit, mais pas écrit => la date changeait pas !) eh bien je suis arrivé à un résultat globalement satisfaisant ...
(en testant la date de chaque fichier du répertoire, et en conservant la plus récente)
Hello, si tu n'as pas peur des méthodes un peu bourrines, et si tu veux connaitre la date et heure réelle de création de ton répertoire, voici pour toi: le principe est de créer un fichier batch pour DOS qui contient une commande DIR. Dans le fichier batch, on redirige la sortie du DIR vers un fichier. A la fin de l'exécution du batch, on ouvre le fichier de sortie et on le parse vite fait bien fait pour retouver la date et l'heure. C'est pas merveilleux comme technique, mais peu importe: ça fonctionne. Donc voici. le code est dans la SUB myGetDirDateTime() qui utilise en plus ExecCmd qu'il faut définir dans un module. Je place ici un exemple d'appel de ma sub, la sub elle même, et le code à placer dans un module.
' exemple d'appel Private Sub Command1_Click() Dim myDate As String Dim myTime As String
Call myGetDirDateTime("c:JM", myDate, myTime) MsgBox "repertoire créé le " & myDate & " à l'heure: " & myTime End Sub
' la sub elle même Private Sub myGetDirDateTime(sDirectory As String, ByRef theDate As String, ByRef theTime As String) Dim cmd As String Dim f As Integer Dim s As String Dim p As Integer Dim dat As String Dim tim As String
cmd = "command.com /C dir " & sDirectory & "* > c:dir.txt" cmd = cmd & vbCrLf & "exit" & vbCrLf f = FreeFile Open "c:mydir.bat" For Output As #f Print #f, cmd Close #f ExecCmd ("c:mydir.bat") f = FreeFile Open "c:dir.txt" For Input As #f While Not (EOF(f)) Line Input #f, s p = InStr(s, "<DIR>") If p Then dat = Trim$(Mid$(s, p + 5)) dat = Trim$(Mid$(dat, 1, InStr(dat, " "))) tim = Trim$(Mid$(s, InStr(s, dat) + Len(dat))) theDate = dat theTime = tim End If Wend Close #f End Sub
' et le execCmd à placer dans un module Private Type STARTUPINFO cb As Long lpReserved As String lpDesktop As String lpTitle As String dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Long hStdInput As Long hStdOutput As Long hStdError As Long End Type
Private Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessID As Long dwThreadID As Long End Type
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _ hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CreateProcessA Lib "kernel32" (ByVal _ lpApplicationName As String, ByVal lpCommandLine As String, ByVal _ lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _ ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _ ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As String, _ lpStartupInfo As STARTUPINFO, lpProcessInformation As _ PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib "kernel32" _ (ByVal hObject As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _ (ByVal hProcess As Long, lpExitCode As Long) As Long
Public Function ExecCmd(cmdline$) Dim proc As PROCESS_INFORMATION Dim start As STARTUPINFO Dim ret As Long ' Initialize the STARTUPINFO structure: start.cb = Len(start)
' Wait for the shelled application to finish: ret& = WaitForSingleObject(proc.hProcess, INFINITE) Call GetExitCodeProcess(proc.hProcess, ret&) Call CloseHandle(proc.hThread) Call CloseHandle(proc.hProcess) ExecCmd = ret& End Function
ouf, et voila!
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."