violent_ken![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Bonsoir tout le monde ;) Comme je suis en train de coder un éditeur hexa en ce moment, j'ai énormément besoin de fonctions qui sont en rapports avec les fichiers, les dossiers et les disques. Par conséquent, j'ai déjà codé quelques classes déjà complètes sur le thème (disques, fichiers et dossiers). Donc je pense que au final, çà pourra faire avancer également toute la partie "fichiers" de la VBSystemLibrary puisque l'architecture sera très peu différente de ce qui existe déjà dans la library (donc copier coller de fou ^^). Donc bah, je vous dirai quand j'aurais codé çà ^^ @+ |
MadMatt
![]() Administrateur Inscrit le 11/10/2006 29 Message(s) |
Ok ça a l'air super cool, tiens nous au courant quand tu as avancé ;) |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Salut, je suis en plein coding de ces classes, j'aurais sans doutes fini demain ! J'ai prévu les classes : File, Files, Folder, Folders, Drive, Drives, PhysicalDisk, PhysicalDisks, clsDefs et FileSystem, les objets ayant un 's' à la fin représentant une collection d'objets. J'ai repris l'architecture de Microsoft Scripting Runtime, qui est très proche de celle de la vbSystemLibrary. Je pense que çà peut presque complètement remplacer la dll Microsoft Scripting Runtime, toutes les fonctions y sont (ou presque, en tout cas toutes les fonction sur les fichiers/dossiers/drives seront là), et en plus il y a la gestion complète de l'obtention d'infos sur les disques logiques et physiques, écriture/lecture et plein de nouvelles fonctions... Bref, une synthèse de tout mon travail sur les fonctions de gestion de fichiers et de disque, le tout bien évidemment par API exclusivement. (je reprend notamment http://www.vbfrance.com/codes/CLASSE-SUR-DISQUES-PARTITIONS-OBTENTIONS-INFOS-CLUSTERS-TAILLE_40383.aspx et http://www.vbfrance.com/codes/CLASSE-GESTION-FICHIERS-DOSSIERS-INFOS-DATES-COPYRIGHT-LISTING_40646.aspx.) Et çà facilitera l'implantation de ces fonctions dans la vbSystemLibrary ! @+ |
MadMatt
![]() Administrateur Inscrit le 11/10/2006 29 Message(s) |
Re, |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Pas de problèmes, j'attend, de toutes façons j'ai pas encore tout à fait fini ;) Sinon pour le 's' à la fin, j'ai repris la notation de Scripting (scrrun.dll) pour toutes les classes (File, Files, Folder, Folders...).
Et sinon, j'ai trouvé un code vraiment utile : c'est pour pouvoir utiliser For Each avec nos classes contenant des collections : http://www.vbfrance.com/tutoriaux/IMPLEMENTER-FOR-EACH_188.aspx Comme çà on peut faire par exemple : Dim cFil as File Set cFiles=clsFile.EnumFiles(...) For Each cFil in cFiles ... Next cFil
@+ |
sebdraluorg
![]() Administrateur Inscrit le 12/11/2006 6 Message(s) |
Salut, Eh pour la version 1.3 je vais essayer de la deposer today avec le ProcessViewer Sinon pour l'implementation du for each j'avais aussi pensé a cette solution mais ca doit manger quand meme pas mal de ressource par rapport a un simple tableau non ? De plus for each n'est pas tres utilisé en vb6 tellement il y a peu d'objets qui le gere donc les users sont habitues a utiliser des simple tableau... Enfin si tu veux on peut le faire et voir ce que ca donne niveau perf... Sinon en regardant tout ce que tu propose de rajouter et pensant qu'il va encore y avoir une classe pour la base de registre etc il faudrait peut etre qu'on refasse un shema global pour ne pas s'en meler les pinceaux ? En tout cas c'est cool pour les classes ^^ merci! ++ |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Salut, effectivement faudra peut être repenser le schéma global ^^ Pour la classe sur le registre, j'avais déjà un peu travaillé dessus : http://www.vbfrance.com/codes/CLASSE-GESTION-REGISTRE-LIRE-ECRIRE-SUPPRIMER-LISTER_40954.aspx Pour le For Each, l'implémentation est très simple, et on n'est pas obligé de l'utiliser. Donc çà peut être bien de rajouter cette fonctionnalité si l'user désire l'utiliser. Et même si c'est plus lent (ce qui doit effectivement être le cas), tant pis, à l'user de choisir la méthode traditionnelle ;) @+ |
sebdraluorg
![]() Administrateur Inscrit le 12/11/2006 6 Message(s) |
Eh ah vi si on garde le chois et qu'on est pas obliger de l'utiliser je signe tout suite ;) Pour la bdr j'avais deja commencé la classe au fait mais bon on peut mettre nos classe en commun Comme tu peux voir ici: http://www.vbfrance.com/codes/GESTION-BASE-REGISTRE-PRESQUE-COMPLETE_34202.aspx j'ai aussi beaucoup jouer avec la bdr ^^ (mais regarde pas le code l'est pas propre dutout! lol) ++ |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Pas de pb, si tu as déjà commencé, continue ;) @+ |
MadMatt
![]() Administrateur Inscrit le 11/10/2006 29 Message(s) |
Pour le shéma global, c'est vrai il faudrait définir clairement les objets. |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
FileSystem est le nom d'une classe contenant les fonctions sur les objets File/Files...etc. C'est l'équivalent de FileSystemObject de Scripting de Microsoft. Je l'ai nommé comme çà dans la dll pour coller au mieux à FSO, mais on peut bien sur changer de nom pour la vbSystemLibrary. Au niveau des fonctions, moi j'ai l'habitude d'utiliser clsProcesses comme nom de classe de fonctions, et cProcesses comme nom de variable de type clsProcesses. Donc perso, je préfère çà que LibProcesses, mais à vous de voir ;) Pour le For Each, le tuto de l'excellent ShareVB permet d'ajouter à l'user la possiblité de faire du For Each, mais on peut bien sur faire comme si cette possibilité n'existait pas et utiliser For x=1 to collection.count...etc ou toute autre méthode ^^ @+ |
MadMatt
![]() Administrateur Inscrit le 11/10/2006 29 Message(s) |
Pour le FileSystem effectivement ça serai mieux de l'appeler comme le reste des classes contenant des fonctions : clsFiles ou autre |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Oui, faudra changer de nom, mais peut être pas clsFiles (car aussi gestion des dossiers et des disques logiques/physiques) Pour info, j'ai fini les classes File,Files,Folder,Folders,FileSystem,PhysicalDisks et Drives donc il me reste plus que PhysicalDisk et Drive ^^ puis tester tout çà ! @+ |
MadMatt
![]() Administrateur Inscrit le 11/10/2006 29 Message(s) |
Ok c'est cool ^^ |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Re, je pense avoir terminé cette classe, elle fait 1900 lignes. Donc c'est pas tant énorme que çà ^^ Il y a 59 fonctions dans cette classe, et 2 propriétés. Et effectivement, clsFileSystem pourra être pas mal. (PS : je fait des sauts de ligne énormes, çà doit être un léger bug avec IE7^^) |
MadMatt
![]() Administrateur Inscrit le 11/10/2006 29 Message(s) |
mdr 1900 lignes |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Bah, il y a déjà 350 lignes de déclarations, donc plus que 1550 de code^^ J'ai vu bien pire : un module de ShareVB qui faisait plus de 3500 lignes il me semble ;)
Par contre, il faudra probablement renommer les fonctions et changer la mise en forme des commentaires pour l'ajuster à la library, exemple de commentaire :
Il faudra mettre des
en en tête de chaque fonction (pas eu le temps de le faire encore) @+ |
MadMatt
![]() Administrateur Inscrit le 11/10/2006 29 Message(s) |
lol tu m'étonne que ta pas encore eu le temps de le faire ^^ |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Re, voilà mes classes terminées... Note : je ne les ai PAS TESTEES en plein, et il se pourrait qu'il faille remanier la structure des objets (histoire du type privé dans chaque objet, et méthode de refresh des infos de chaque objet) Quoiqu'il en soit, téléchargeable ici (Madm@tt, c'est la version que je viens de t'envoyer). http://www.megaupload.com/?d=DJ8CUU23 @+ |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Ouch ! Je viens de faire quelques tests, pas mal de bugs résolus ! Par contre gros problèmes d'optimisation encore (surtout au niveau de la classe Drive) @+ |
violent_ken
![]() Administrateur Inscrit le 02/11/2006 30 Message(s) |
Salut à tous, les classes sur les fichiers sont terminées depuis quelques jours, et il y a de moins en moins de bugs. Toutes les fonctions ont été testées, et de nouvelles ont été ajoutées. Je me suis laissé convaincre d'inclure des trucs genre comparaison de fichiers, sanitization, découpe de fichiers, recherche...etc. Donc pas forcément en rapport avec la Library... La classe principale fait 4500 lignes à elle seule, la dll compilée 240Ko. Par conséquent il faudra peut être faire le ménage dans certaines fonctions ! Enfin voilà, on pourra bientôt inclure des morceaux dans la Library ^^ @+ |
MadMatt
![]() Administrateur Inscrit le 11/10/2006 29 Message(s) |
Salut, |
Vous devez vous connecter ou vous inscrire pour pouvoir répondre.