CLASSE DE GESTION DES FICHIERS/DOSSIERS ==> INFOS (DATES, COPYRIGHT...), LISTING

violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 9 déc. 2006 à 00:57
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 26 avril 2007 à 18:00
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/40646-classe-de-gestion-des-fichiers-dossiers-infos-dates-copyright-listing-copier-corbeille-boites-de-dialogue-le-tout-par-apis

violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
26 avril 2007 à 18:00
(Note : cette source est entièrement contenue dans cette nouvelle source : http://www.vbfrance.com/codes/FILESYSTEMLIBRARY-TOUT-FSO-SUR-FICHIERS-DOSSIERS-DISQUES_42404.aspx

De plus, de nombreuses fonctions et d'autres classes (objets) sont présentes.)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
6 févr. 2007 à 21:06
Nouvelle MAJ au gré de l'avancement de Hex Editor VB :

-affiche boite de dialogue Run (executer)
-affiche boite de dialogue Sauvegarder (renvoie le nom du fichier choisi et affecte automatiquement l'extension désirée sans doublons)
-affiche boite de dialogue Ouvrir (renvoie le path du fichier choisi)
-sauvegarde directe d'un fichier texte (ou binaire) à l'aide d'une string contenant les données à sauvegarder ==> il s'agit de spécifier un path, une booléenne d'overwrite et du texte à sauvegarder, c'est un gain de temps pour la sauvegarde des fichiers de texte par exemple (SaveStringInFile "c:\montext.txt",Text1.Text,True)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
14 janv. 2007 à 17:18
Merci pour le commentaire (que je vois après coup, dsl) !


Sinon, je viens dire que j'ai fait une MAJ :

-correction de quelques bugs

ajout des fonctions qui manquaient, à savoir :

-supprimer un dossier
-envoyer à la corbeille fichier/dossier
-déplacer fichier/dossier
(le tout avec les boites de dialogue Windows, donc faites confiance à ma classe, elle ne risque pas de vous faire perdre un fichier !)

et ajout de deux autres fonctions :

-affiche boite de dialogue "Propriétés" pour un fichier/dossier/drive
-affiche boite de dialogue "Choix d'un répertoire"



Petit commentaite : FolderExists marche aussi pour les Drives. Donc la fonction DriveExists de FileSystemObject est remplacée par FolderExists dans ma source.

Voilà ! Bientôt çà remplacera complètement FSO ;)
Si vous avez des idées de fonctions à rajouter, dites le !
Merci, @+
SamsonTam Messages postés 3 Date d'inscription samedi 30 décembre 2006 Statut Membre Dernière intervention 31 décembre 2006
31 déc. 2006 à 01:50
Salut,

ce projet est fantastique, il donne une foule d'exemples clairs et commentés sur la manipulation de fichiers.
Ce dernier m'apparraît plus comme un tutorial que comme un simple projet. (Lecture, renommage, recherche, listing de fichier et dossiers. En plus des classes et des apis.)


Personnelemment, je ne savais rien sur les dlls et j'ai compris le fonctionnement seulement en lisant le code source!
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 déc. 2006 à 21:50
Salut, et çà marche ?

Autrement, pour info, j'ai mis à jour.... j'avais pas vu que l'on ne devais pas passer
GENERIC_READ
GENERIC_WRITE
FILE_SHARE_READ
FILE_SHARE_WRITE
en même temps pour avoir un accès le plus complet possible au fichier/dossier.


Donc maintenant, c'est possible d'obtenir des infos sur les fichiers système également.

@+
cs_drissou Messages postés 160 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 14 janvier 2009
14 déc. 2006 à 08:43
Merci VIOLENT_KEN

je teste tout cela

Drissou
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
13 déc. 2006 à 19:27
Salut, oui, cette API n'est pas compatible avec Win98 (Requires Windows 2000 or later; Win9x/ME: Not supported).


Mais il est possible de la remplacer par

Declare Function GetFileSize Lib "kernel32" Alias "GetFileSize" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long

et dans ce cas, il faudra transformer la valeur renvoyée par la fonction (qui est la LowPart d'une LargeInteger) et la valeur lpFileSizeHigh (qui est la HighPart de la LargeInteger) en une seule valeur (type Currency par exemple).



Donc :
Tu peux utiliser cette fonction pour convertir les deux parties renvoyées par GetFileSize en une seule variable (de type Currency)
'-------------------------------------------------------
'rassemble de long pour former une currency
'-------------------------------------------------------
Public Function GetCurrency(ByVal lngLowPart As Long, ByVal lngHighPart As Long) As Currency
GetCurrency = 2 ^ 32 * lngHighPart + lngLowPart
End Function

et ainsi remplacer l'API non compatible avec Win98.


@+
cs_drissou Messages postés 160 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 14 janvier 2009
13 déc. 2006 à 13:40
Précision : problème avec GetFileSizeEx..
cs_drissou Messages postés 160 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 14 janvier 2009
13 déc. 2006 à 13:35
Bonjour,

j'ai des problèmes pour l'utilisation sous W98..
lorsque je sélectionne un répartoire : pas de problème, je vois ses caractéristiques.
mais cela 'plante' pour un fichier.
Sans doute une API spécidique XP ?

Drissou
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
10 déc. 2006 à 11:25
Salut Violent_Ken,

Ok pour le conseil..
A+ au plaisir...
Exploreur
Profil bloqué
10 déc. 2006 à 11:15
"Pour la source de Pape0" : faute de frappe
Profil bloqué
10 déc. 2006 à 11:14
Ok pas de problème Violent_Ken
Poue la source de Pape0 sur les projets VB j'ai trouvé comment ouvrir son projet.Vas voir sur les commentaires de cette source

A+ et bonne prog
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
10 déc. 2006 à 11:12
Vala la MAJ est faite ^^

Explorer ==> Pour File System Object, c'est quelque chose de bien foutu et de très puissant, mais c'est malheureusement très loin d'être satisaisant au niveau de la vitesse d'exécution.
Donc si ton programme requiert de la vitesse, autant utiliser quelque chose comme ce qui est codé dans cette classe ^^

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
10 déc. 2006 à 11:04
Salut, merci à vous deux pour vos commentaires ^_^

Galain ==> je vais regarder et mettre à jour, merci.

@+
Profil bloqué
9 déc. 2006 à 14:21
Pour la première clsFic.FileDirectory devrait donner le nom du répertoire contenant le fichier et non du fichier lui-même
Profil bloqué
9 déc. 2006 à 14:15
Pour le point 2° l'erreur se trouve dans le module de classe clsFileInfos dans la fonction ci-dessous :
Public Function GetFile(ByVal sFile As String) As clsFile

Me.GetShortName sFile, sBuf
.ShortName = sBuf ( ligne corrigée)
Me.GetShortPath sFile, sBuf
.ShortPath = sBuf ( ligne corrigée)
Profil bloqué
9 déc. 2006 à 14:02
Bravo pour cette classe
Par contre j'ai relevé 2 erreurs
1° A la rubrique Répertoire tu mets le nom du fichier et non celui du répertoire
2° Tu as inversé nom court et dossier court
Rien de bien méchant mais tu fais de l'excellent travail
Allez 9/10 et bon courage
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 déc. 2006 à 11:10
Salut Violent_Ken,
Je vais bien regarder ta class ce soir, car moi j'utilise FileSystemObject, et vu ce que tu dis, il vaut mieux éviter...Donc je pense que ta source va m'être très utile..Cela est très sympas de ta part de faire partager tes connaissances, comme certains le font déjà et qui sont comme toi, des personnes qui savent de quoi elles parlent...Même si pour moi c'est pas toujours facile de comprendre, comme on dit "il vaut mieux un beau dessin qu'un long discourt"
Merci
A+
Exploreur
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
9 déc. 2006 à 00:57
Bon bah, à vous de tester, normalement aucun bug en vue ^_-

SVP laissez un commentaire, çà fait toujours plaisir et çà conforte dans l'idée que l'on a bien fait de partager sa source...

Merci, @+
Rejoignez-nous