MODIFIER DATE ET HEURE D'UN FICHIER

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 28 oct. 2004 à 14:37
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017 - 9 janv. 2012 à 10:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27136-modifier-date-et-heure-d-un-fichier

Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
9 janv. 2012 à 10:08
Bonjour Galactus13
Merci beaucoup pour tes appréciations.
J'ai essayé de me mettre au VB.Net mais je n'apprécie pas cette abondance de dossiers et fichiers quand on fait un programme.
Le VB6 est beaucoup plus propre et on arrive à faire tellement de choses que j'en reste là pour programmer.
Par contre j'aime essayer les programmes écrits en VB.Net, par curiosité, mais sans plus.
En ce moment, je teste le futur Windows 8 et absolument tous mes programmes tournent sans aucun problème. Alors on peut continuer.
Evidemment,je comprends les jeunes qui n'ont pas connu VB6 et qui débutent avec VB.Net, c'est normal.
Galactus13 Messages postés 335 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 16 août 2023 1
8 janv. 2012 à 16:54
Bonjour,
Voilà un moment que j'avais télécharger ce source,
Franchement, propre ! Interface clair !
A part ce "end", rien a redire pour moi !
Et moi aussi, je ne suis pus un jeunot, donc content de trouver encore du VB5 ou 6 ! et toc ! ^^
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
17 janv. 2011 à 13:12
Bonjour MYNYROGER,
Merci pour ton appréciation.
Moi aussi je suis un autodidacte, j'ai commencé le Basic en 1982 sur un ZX 81 acheté en kit.
J'ai pousuivi la programmation sur ATARI avant de passer au PC.
Je faisais même programmer mes élèves sur Mo5 et To7. A l'époque peu de collègues croyaient à l'informatique...
On ne doit pas être les seuls à préférer continuer à programmer en VB6 et heureusement, pour le moment, on trouve encore pas mal de codes VB6 déposés sur VB France.
mynyroger Messages postés 20 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 1 février 2010
17 janv. 2011 à 07:28
Bonjour Sechaud,
Je suis content de ton dernier commentaire, car j'ai 76 ans et autodidacte, j'ai commencé en 1976 par Basic, Turbo basic puis Visual basic 4,5 et 6.
J'ai testé le VB.Net, mais je suis vite revenu à VB6 que je maitrise assez bien et avec lequel il est possible de réaliser de très bons logiciels.
Ton programme est très bien et surtout très utile.
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
13 janv. 2011 à 09:48
Bonjour BRETON51
Moi aussi j'ai vu ton programme et j'ai presque eu envie de tenter de le modifier pour qu'il gère, comme le mien, tous les fichiers d'une ListBox par exemple.
Seulement je n'arrive pas à me décider à me lancer dans le VB.Net.
J'aime beaucoup VB6 que je pratique depuis plusieurs années.
Je vais avoir 71 ans et je n'accroche pas avec la nouvelle programmation en VB.Net.
Rien ne t'empêche de t'inspirer de mon code pour que le tien, en VB.Net, soit comparable et même plus performant. Les codes que l'on dépose sur VBFrance sont faits pour être partagés.
Je regarderai avec plaisir la nouvelle version que tu déposeras.
cs_breton51 Messages postés 78 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 15 novembre 2018
12 janv. 2011 à 12:45
bonjour Sechaud,

je me permet de poster un message car je viens de voir ta source qui est bien plus abouti que la mienne mais qui au final a le même but, modifier les dates de création, modification et accès à un fichier. ma source est en Vb Net 2008 le lien est:
http://www.vbfrance.com/codes/MODIFIE-DATE-CREATION-ACCES-MODIFICATION-FICHIER_52715.aspx

bonne continuation.
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
20 sept. 2010 à 19:14
SIBOS,
J'ai constaté que vous venez juste de vous inscrire sur le site.
D'après votre message, il semblerait que vous n'avez sans doute jamais pratiqué la programmation.
Alors, mon programme permet de changer les dates et les heures des fichiers. Il a été écrit en Visual Basic. C'est un langage de programmation. Pour le pratiquer, il faut disposer d'un logiciel => Microsoft Visual Studio.
Hélas, ce logiciel est maintenant difficile à trouver, et il date.
Il a été remplacé par VB Net 2005 puis VB Net 2008 qui est même gratuit mais vous ne pourrez pas utiliser mon code avec.

Le contenu de mon Zip ne vous servira à rien, car ici, c'est un site d'échange de codes de programmation et sans un minimum de connaissances et la possession de Visual Studio on ne peut pas créer un exécutable à lancer avec mon code.
Bon courage si vous vous lancez dans la programmation.
C'est passionnant.
Il
SIBOS Messages postés 1 Date d'inscription lundi 20 septembre 2010 Statut Membre Dernière intervention 20 septembre 2010
20 sept. 2010 à 18:06
Je viens de télecharger le fichier "ZIP" comme cela m'était demandé. Ensuite, j'ai valider après avoir reçu le lien dans un mail de code source. Puis j'ai lu tout les commentaires ci-dessus. Pour moi, c'est du chinois. Je n'y comprend rien. Y a-t-il qq'un qui puisse m'expliquer en termes simples comment ça marche ?
Merci par avance.
Sibos
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
15 oct. 2009 à 12:21
Merci pour vos conseils.
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
15 oct. 2009 à 10:50
J'approuve Renfield pour l'histoire du END

Il ne fait que répondre en le masquant, un problème important.

Il suffit que la cause de la non fermeture soit un accès maintenu (non correctement libéré) sur un fichier important comme par exemple une base de données, l'utilisation du END provocant une fermeture brutale du soft avec libération en l'état des ressources, peut suffire à corrompre irrémédiablement le fichier en question.

Quand tout cela se solde par la perte définitive d'une grosse base de donnée avec plusieurs années d'archivage, cela te vaccine à jamais de l'utilisation du END pour terminer un programme.
C'est ainsi que ça plusieurs années que j'ai banni ce mot clé de mes codes. Et désormais, quand je dois approuvé des codes d'autres personnes, s'il s'y trouve, le code est rejetté sans même cherché à comprendre pourquoi il est là.
Avec l'expérience, je confirme qu'il est systématiquement possible de ce passer de END pour terminer un programme.

A bon entendeur ....
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 oct. 2009 à 10:38
CloseHandle appelé après chaque modif de la date liberera ledit fichier... sans attendre la fermeture du soft.

s'excutant encore en silence...

parce qu'ils ont mal été codés, tout simplement.

timer non éteint, par exemple.
ou du code s'executant après déchargement de la Form, faisant référence a la Form ou un de ses controles...
du coup, elle se recharge, pas forcément masquée.
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
15 oct. 2009 à 10:34
Bonjour Renfield, merci pour ton aide.
-Oui on peut mettre un Close Handle mais il ne résout pas le problème soulevé par TFLORIAN.Et comme tu dis, on ferme en sortant.
-C'est vrai, en 2004, date de création de mon code j'utilisais encore cette méthode de centrage, mais depuis longtemps je mets le StartUpPosition de la Form à CenterScreen. On voit encore beaucoup de sources pour lesquels la Forme n'est pas centrée.

-Exact, erreur pour
File1.Selected(1) = True ' Selecter 1er item
En réalité, le deuxième...

-La manipulation incriminée n'est là que pour éviter une entrée incorrecte. Je ne vois pas en quoi cela peut poser problème dans les calculs. C'est simple et efficace.

-Je sais que tu es, anti-anti End, mais moi j'ai de bonnes raisons de l'utiliser. J'ai essayé d'autres méthodes et je me suis aperçu plusieurs fois que des logiciels qu'on croit avoir arrêté, tournent encore en silence.
Pour s'en convaincre, on peut par exemple utiliser les excellents logiciels de chez Nirsoft, comme celui-ci par exemple:
http://www.nirsoft.net/utils/opened_files_view.html
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 oct. 2009 à 09:08
après lecture du code:

TFlorian a parfaitement raison.
un CreateFile alloue un handle vers un fichier qu'il te faut obligatoirement libérer. Si tu ne le fais pas, Windows le fait à la fermeture de ton programme, bien évidemment, mais à quoi bon le conserver ouvert, et locker le fichier ?

Form1.Top = (Screen.Height / 2) - (Form1.Height / 2)
Form1.Left = (Screen.Width / 2) - (Form1.Width / 2)

Form1.Top = (Screen.Height - Form1.Height) / 2
Form1.Left = (Screen.Width - Form1.Width) / 2
peut se faire en mettant la propriété StartUpPosition de ta Form à CenterScreen...

File1.Selected(1) = True ' Selecter 1er item
En réalité, le deuxième...

If Mid(txtHeureCreation, 1, 2) > 23 Or Mid(txtHeureCreation, 4, 2) > 59 Or Mid(txtHeureCreation, 7, 2) > 59 Then
NON ! on ne manipule pas les dates formatées... il faut utiliser Hour, Minute et Second.
C'est lourd, je sais, mais c'est fiable vis à vis des parametres regionnaux

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
End
End Sub
Outre le fait que l'instruction End est à BANNIR complètement...
j'avoue ne pas saisir l'interet...
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
15 oct. 2009 à 08:02
Bonjour TFLORIAN, merci pour ton intervention.
Il me semble que découvres une restriction qui est normale et qui, heureusement, existe dans Windows.
Tu imagines ce qui se passerait si un programme pouvait effacer un fichier que tu es entrain d'utiliser!
Par contre, on peut modifier un fichier, même s'il est affiché dans mon logiciel. J'ai testé avec un fichier texte. J'ai même sauvegardé. Seul l'effacement est impossible et c'est bien comme cela.
De toutes façons, je ne vois pas comment un CloseHandle va résoudre le problème.
TFlorian Messages postés 194 Date d'inscription dimanche 3 mars 2002 Statut Membre Dernière intervention 19 décembre 2005 3
14 oct. 2009 à 23:43
Bonjour tout le monde,
bien content que on puisse faire de tel chose avec les API VB (Grâce à ca je vais pouvoir développer ...)
Par contre j'ai remarquer que les fichiers que on modifiait ne pouvaient plus êtres supprimées / modifiés tant que le programme était ouvert
en fait lorsque on change les dates de plusieurs fichiers le code n'est pas déroulé comme il faut et on ne fait jamais aucun CloseHandle(hFile) (on a un "Exit Sub" )

il faudrait donc un CloseHandle après chaque SetFileTime

En tout cas un grand merci pour ton code il vas m'être bien utile
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
13 juin 2008 à 17:13
Bonjour THIERYLAURENT,
Alors, regarde dans mon code et tu verras que j'utilise
le FSO (File System Objet)
Pour l'utiliser, dans le programme Microsoft VisualBasic 6, tu ouvres le menu Projet et tu choisis l'option Références.Là, recherche et valide Microsoft Scripting RunTime ce qui rendra active la dll "scrrun.dll"
Ensuite tu peux utiliser toutes les possibilités du FSO et elles sont nombreuses.
Ainsi regarde pour avoir la date de modification on a:

'Variables
Dim Fichier As File 'Variable retour informations fichier
Dim fso As FileSystemObject 'Variable de l'objet
'Afficher dans la partie modifiable

'Créer le FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
Set Fichier = fso.GetFile(fName)

.............................................

txtDateEcriture = Left(Fichier.DateLastModified, 10)
If Len(Str(Fichier.DateLastModified)) > 10 Then
txtHeureEcriture = Right(Fichier.DateLastModified, 8)
Else
txtHeureEcriture = "00:00:00"
End If
Si tu veux des explications supplémentaires, va chez Microsoft ici par exemple:
http://support.microsoft.com/kb/186118
ou cherche sur VBFRance des programmes qui utilisent le FSO ou utilise Google pour chercher des articles sur le FSO.
Bonne programmation.
thierylaurent Messages postés 45 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 23 juin 2008
13 juin 2008 à 15:51
salut pas mal ta source mais j'ai pas bien compris comment fait tu réellement pour récupérer la date de modification du fichier?
jetshoot Messages postés 5 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 23 avril 2008
23 avril 2008 à 20:34
Merci pour ta réponse.
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
23 avril 2008 à 11:41
JETSHOOT, PCPT que je remercie, a dit ce que j'étais prêt à écrire.
Je sais qu'il devient difficile de se procurer le programme VB6 et que bien qu'il soit maintenant abandonné
par Microsoft, le prix reste toujours élevé.Cependant, va faire un tour sur Ebay, tape Visual Basic 6, et tu verras que l'on peut en acheter d'occasion à un prix abordable.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 avril 2008 à 00:13
jetshoot -> je comprends ta réaction, c'est vrai que les réponses sont un peu sèches.
maintenant il faut aussi prendre en compte que (même si google ne le précise pas) on est sur un site de développement - ce qui est sensé laisser penser que les "utilisateurs" sont développeurs même amateurs - et non pas sur telecharger.com...

de plus normalement la page d'inscription précise certains points, et nul n'est sensé ne pas lire les chartes et faq, à valider à chaque post ;)

bref petit rappel : codes-SOURCES est là pour fournir des SOURCES, lisibles avec les IDE appropriés aux langages les ayant conçu

@+
PCPT [AFCK]
jetshoot Messages postés 5 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 23 avril 2008
22 avril 2008 à 15:42
Je suis mort de rire, un débutant demande juste comment faire pour l'utiliser et on l'envoie bouler avec des réponses comme "ben c'est du vb6".
Sachez que je cherche aussi ce genre de logiciel et que google m'a renvoyez ici.
Je trouve ce genre d'attitude complètement lamentable.
Je remercie le concepteur du logiciel ainsi que celui qui a donné le liens de la FAQ.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 avril 2008 à 00:00
FAQ :
Q : Comment accéder au contenu d'une source que j'ai téléchargé sur VbFrance.com
http://www.vbfrance.com/doc/faq.aspx#vb_src
cs_ccclooo Messages postés 2 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 7 avril 2008
7 avril 2008 à 23:32
Vous dites "on ne doit plus mettre les exe, depuis pas mal de temps, pour nous éviter de cliquer sur un éventuel virus".
Mais sans exécutable, on fait comment pour installer ce logiciel ?
Merci pour la réponse.
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
10 juil. 2007 à 14:26
Merci YM_TRAINZ.Content de savoir que cela sera utile.
cs_ym_trainz Messages postés 160 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 21 avril 2015
5 juil. 2007 à 09:24
Bravo SECHAUD !

Ce programme me sera très utile.
10
Cordialement,
ym_trainz
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
1 mai 2007 à 08:10
JNLEPLEY tu débutes, tu n'as jamais fait de Visual Basic?
jnLepley Messages postés 1 Date d'inscription lundi 30 avril 2007 Statut Membre Dernière intervention 30 avril 2007
30 avril 2007 à 23:08
Je n'ai pas trouvé pour faire fonctionner ...
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
21 avril 2007 à 09:31
AGHNARD ,drôle de question, la réponse est juste au-dessus de ton commentaire.
aghnard Messages postés 1 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 17 avril 2007
17 avril 2007 à 22:26
comment faire pour compiler le fichier et pouvoir s'en servir ???
je suis totalement novice désolé ;)
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
23 mars 2007 à 09:19
Salut ELJULI28
On le compile comme tout autre programme en VB6, c'est du VB6.
eljuli28 Messages postés 1 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 14 mars 2007
14 mars 2007 à 20:51
comment fait ton pour le compiler ton Zip please.

coordialement julio
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
8 mars 2007 à 19:35
Eh oui, PCPT a raison, on ne doit plus mettre les exe, depuis pas mal de temps, pour nous éviter de cliquer sur un éventuel virus.
Au passage, tardivement, merci à RABZA12 et BENJJG pour leurs appréciations.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 mars 2007 à 13:03
les exe sont supprimés pour éviter quelques soucis donc c'est normal
benjjg Messages postés 1 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 4 mars 2007
4 mars 2007 à 11:04
il n'y a pas d'exectuable dans le ZIP .
Bichwarrior Messages postés 8 Date d'inscription mercredi 25 juillet 2001 Statut Membre Dernière intervention 24 janvier 2008
22 févr. 2006 à 09:30
Franchement tres bon code Sechaud, ca m'a bien servi.
Merci
rabza12 Messages postés 2 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 27 avril 2005
27 avril 2005 à 19:41
bravo pour ce programme il est fun
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
18 avril 2005 à 11:24
Merci Casy d'avoir signalé ces bugs.
je n'ai jamais vu d'horloges digitales marquer
60 s 60 mn
Si tu y tiens, modifie le source ainsi:

' modification Date de creation
If Mid(txtHeureCreation, 1, 2) > 23
Or Mid(txtHeureCreation, 4, 2) > 59
Or Mid(txtHeureCreation, 7, 2) > 59 Then
MsgBox "Veuillez saisir une heure de création correcte!"
Exit Sub
End If
en le recréant pour les deux autres cas.

Par contre l'erreur de jour est un vrai problème.
Je vais essayer de trouver pourquoi c'est incorrect.
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
17 avril 2005 à 11:49
Très utile, marche pas mal, mais un petit bug quand même.

J'ai daté un fichier (les 3 dates) en 01/01/2001-00:00:00

La vérification (windows) m'indique bien la bonne date, mais ton logiciel indique lui dans les infos dimanche 31/12/2000

Il faut mettre 02:00:00 pour que le jour soit bon. Il peut se passer beaucoup de chose en 2 heures ;)

Attention, il n'y a aucune gestion de mauvaise saisie, si vous saisissez par ex 01:60:00 --> plantage du logiciel.


Pour ceux qui se plaignent de pas avoir l'exe, il suffit de recompiler, pas de pb sous VB6. (bon maintenant l'exe est dans le zip).
krystela Messages postés 2 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 8 décembre 2006
8 avril 2005 à 15:08
Bonjour,

Je suis dans le même problème et il semble répondre parfaitement à mes besoins.

Très peu compétente dans ce domaine, j'ai essayé de créer l'exe à partir de la version whidbey, malheureusement celle-ci plante lors de sa conversion.

Ce serait gentil si quelqu'un avait la solution.

Merci
cs_hugooooo Messages postés 1 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 6 avril 2005
6 avril 2005 à 12:27
Salut,

idem je ne comprend pas comment sa marche il ny a aucun Programme executable !! Kelkun pourrait expliker svp?
tch37 Messages postés 1 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 26 mars 2005
26 mars 2005 à 08:10
Bonjour,

Bien utile mais comment le faire fonctionner, je n'ai pas vu d'exécutable ?
merci
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
29 oct. 2004 à 01:27
L'interface est claire. Le concept sympa.
Et la source est bien utile ...
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
28 oct. 2004 à 14:37
il manque le fichier General.bas dans le zip
Rejoignez-nous