Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2956 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment modifier la date (creat ou modif) d'un fichier par prog ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment modifier la date (creat ou modif) d'un fichier par prog ?

n°188153
Styx0
Aware, abware !
Posté le 01-08-2002 à 18:23:27  profilanswer
 

j'aimerai savoir si il est possible de modifier la date de création d'un fichier ou celle de modification par le code (VB ou C# de préférence)
 
merci

mood
Publicité
Posté le 01-08-2002 à 18:23:27  profilanswer
 

n°188504
Styx0
Aware, abware !
Posté le 02-08-2002 à 09:14:10  profilanswer
 

bon ca passionne pas les foules ;)
mais pourtant c assez "chaud"
 
g trouvé une API qui le permettait TouchFileTimes
ze pb is que j'arrive pas à affecter la date comme je veux
 

Declare Function TouchFileTimes Lib "imagehlp.dll" (ByVal FileHandle As Long, ByRef pSystemTime As Any) As Long

n°188512
macray
Posté le 02-08-2002 à 09:22:04  profilanswer
 

Styx0 a écrit a écrit :

bon ca passionne pas les foules ;)
mais pourtant c assez "chaud"
 
g trouvé une API qui le permettait TouchFileTimes
ze pb is que j'arrive pas à affecter la date comme je veux
 

Declare Function TouchFileTimes Lib "imagehlp.dll" (ByVal FileHandle As Long, ByRef pSystemTime As Any) As Long





essay d'aller sur ce site tu auras la réponse à ton problème :
http://www.allapi.net/


---------------
;) Bienvenue sur le site...:)             http://perso.wanadoo.fr/rapport
n°188528
Styx0
Aware, abware !
Posté le 02-08-2002 à 09:44:27  profilanswer
 

Hehe je connais bien l'API guide ;) pas d'exemple bien me conernant
 
mais g trouvé dans l'API Viewer (un autre de leurs formidables produits) le type qu'il me manquait (à savoir la structure du SYSTEMTIME)
 
merci quand meme  
 
si quelqu'un veut la solution ...

n°188545
macray
Posté le 02-08-2002 à 10:15:15  profilanswer
 

ecoute tu n'as qu'a la mettre, on sait jamais, je le prendrais peut être, ;)


---------------
;) Bienvenue sur le site...:)             http://perso.wanadoo.fr/rapport
n°188549
Styx0
Aware, abware !
Posté le 02-08-2002 à 10:28:22  profilanswer
 

Les fichiers dont je veux changer la date ont le format suivant
<année><mois><jour>.<heure><min><second>.log
 

Private Sub m_ChangerFichierDateHeure(p_NomCheminFichier As String)
 
    Dim FileDate As SYSTEMTIME
    Dim FileName() As String
    Dim strFile As String
    Dim lngHandle As Long
     
    If InStr(1, p_NomFichier, "\" ) <> 0 Then
    ' il faut découper la chaine
        FileName = Split(p_NomFichier, "\" )
        strFile = FileName(UBound(FileName))
    End If
     
    FileDate.wDay = Mid(strFile, 5, 2)
    FileDate.wHour = Mid(strFile, 8, 2) - 2 ' pasque l'api est bizarre elle compte les heures - 2 !
    FileDate.wMilliseconds = 0
    FileDate.wMinute = Mid(strFile, 10, 2)
    FileDate.wMonth = Mid(strFile, 3, 2)
    FileDate.wSecond = Mid(strFile, 12, 2)
    FileDate.wYear = Year(Date)
 
     
    lngHandle = CreateFile(p_NomFichier, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
         
    Call TouchFileTimes(lngHandle, ByVal FileDate)
         
    CloseHandle lngHandle
 
 
End Sub


 
Vous pouvez initialiser votre FileDate avec les valeurs que vous voulez (moi je me suis basé sur le nom du fichier)
 
ah oui les déclarations API nécessaires sont


Private Const GENERIC_WRITE = &H40000000
Private Const OPEN_EXISTING = 3
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2
Private Declare Function TouchFileTimes Lib "imagehlp.dll" (ByVal FileHandle As Long, ByRef pSystemTime As Any) As Long
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
 
Private Type SYSTEMTIME
    wYear As Integer
    wMonth As Integer
    wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
    wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
 
End Type


 
enjoy ! ;) (jsuis pas sur que grand monde en ait l'utilité tout les jours)

n°188571
macray
Posté le 02-08-2002 à 11:03:27  profilanswer
 

non, je ne pense pas, mais c'est toujours non à prendre...Uitliser les API ca demande une certaines expérience dans le programmation et d'apprendre les bases élementaires, c'est un minimum pour pouvoir les utiliser correctement ! ;)


---------------
;) Bienvenue sur le site...:)             http://perso.wanadoo.fr/rapport

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment modifier la date (creat ou modif) d'un fichier par prog ?

 

Sujets relatifs
dll et fichier exp ainsi que lib c'est quoi???probleme de date dans les requete
modifier les bords d'un selecttypedef dans un fichier idl (com) sous vc++
Comment télécharger un fichier ?[HTML,JS,ActiveX] Accès concurrents (en R/W) à un fichier de données
Compter le nombre de fichier d'un répertoire en C (ss Linux)PHP : problème pour upload de fichier
Compresser un fichier en gzip à partir de code C ?Inclusion fichier , repertoire a la meme "hauteur"
Plus de sujets relatifs à : Comment modifier la date (creat ou modif) d'un fichier par prog ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR