DECOUPEUR/FUSIONNEUR DE FICHIER RAPIDE

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 14 févr. 2007 à 16:29
KingCube Messages postés 1 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 26 octobre 2012 - 26 oct. 2012 à 21:54
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/41472-decoupeur-fusionneur-de-fichier-rapide

KingCube Messages postés 1 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 26 octobre 2012
26 oct. 2012 à 21:54
Comment on fait pour l'utiliser ? [Novice]
cs_webernard Messages postés 3 Date d'inscription dimanche 9 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007
10 déc. 2007 à 13:19
ok, encore merci, je vais continuer mes recherches sur d'autres sites, ici, c'est trop chaud pour moi, lol, bonne continuation, les programmeurs ^^
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
10 déc. 2007 à 08:28
Je crois que ce que tu cherches existe sur VBFrance, mais en tout cas, ce n'est pas cette source là.
cs_webernard Messages postés 3 Date d'inscription dimanche 9 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007
10 déc. 2007 à 04:45
Merci pour la réponse, je sens une légère ironie, justifiée, je n'en doute pas, mais tant qu'à faire, ce code source, il fait finalement ce que j'en attends, ou pas ? ( après pour ce qui est de le compiler, ça doit pouvoir se faire avec VB, je me donnerais la peine d'essayer de comprendre seul, mais je voudrais pas me casser la tête, alors que ce code ne fait pas le boulot que j'en attends...

(et oui, je cherchais plutôt un prog. servi sur un plateau sur un site à la téléchargez.com, car comme dit, la programmation ne m'as jamais attiré... )

malheureusement je n'ai pas trouvé ce que cherchais, je suis donc obligé d'élargir ma recherche ( je suis ouvert à toute suggestion... ^^ )
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 déc. 2007 à 00:40
Eclairons cette lanterne:
ici c'est CodeS-SourceS, site d'entre aide pour développeurs dont gens prêts à faire l'effort de recompiler pour obtenir l'exécutable.
Tu as du te tromper avec telechargez.com, petite erreur.
cs_webernard Messages postés 3 Date d'inscription dimanche 9 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007
9 déc. 2007 à 22:41
bonjour, je comprends pas grand chose à votre language, moi , je cherche juste un programme permettant par exemple de "fusionner 2 éxecutables en un seul, par exemple, je voudrait qu'un fichier setup.exe + un fichier patch.exe , se retrouvent tout deux dans un seul fichier.exe, qui, lorsqu'on le lance, lance en fait mes 2 fichiers originaux... je pensais que ce programme le faisait, est ce juste ?

si oui, question de super noob de la mort, comment fait on pour l'éxécuter ce fameux programme, car je l'ai téléchargé, et j'obtiens un zip, qui contient des fichiers bas, cls, etc... moi qui m'attendais à me retrouver avec un exe que je lance, et voilou... quelqu'un peut-il éclairer ma lanterne ?

Merci
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
17 févr. 2007 à 18:24
Je me suis permis de reprendre la source C# mentionnée ci-dessus afin de l'optimiser quelques peu (720Mo splitter en tranche de 100Mo avec un buffer de 4Mo réalisé en une grosse 30aine de secondes soit à peu pret 20Mo/sec).
http://www.csharpfr.com/codes/DECOUPER-FUSIONNER-FICHIERS_41506.aspx
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 févr. 2007 à 09:36
Bon, sur la limite des 2Go par fichier, j'aurais très pu l'enlever mais en contrepartie j'aurais du utiliser un type Currency sur plusieurs variables (donc réduction de la vitesse dasn une certaine mesure).

Et d'ailleurs, on peut découper un gros backup (quelque soit sa taille) en un nombre sans limite de fichiers de 700Mo (700<2000).

Voilà....^^ @+
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
17 févr. 2007 à 08:34
La source en C# ne possède pas ces limites, on peut donc transferer un gros backup via une pile de CDR pour dépanner.

> .net vise le public anciennement sur VB et ceux qu'on ramène de Java, qlqs millions de par le monde, cad le gros des troupes.

Bon on est au moins d'accord sur un point. Je reconnais aussi que DotNet est plus lent, mais pas moins que Java. Le débat est clot, donc.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
16 févr. 2007 à 18:21
Voilà, c'est corrigé.

Je précise que la taille max des fichiers est supérieure à 9 To (type currency) mais que la seule limitation est que les fichiers résultants doivent faire moins de 2 Go chacun.

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
16 févr. 2007 à 18:04
Mikaels35 ==> j'avoue que je n'ai pas réussi à reproduire le bug, mais j'ai quand même fait une gestion de cette erreur (merci pour l'avoir signalé).

Sinon, je vais pas rentrer dans le débat (pas assez de connaissances pour participer ^^) mais tout ce que je sais c'est que le C++ m'attire davantage et que j'en connais déjà les bases (au moins du C).

@+
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 févr. 2007 à 16:37
Ils avaient deja vocation à migrer depuis.... eh ben ils ont "oublié" de migrer.
.net vise le public anciennement sur VB et ceux qu'on ramène de Java, qlqs millions de par le monde, cad le gros des troupes.
Pour ce qui est du code et mode de fonctionnement, certain que c'est différent mais seulement dans le mode d'interprétation, VB était compilé "natif" en call vers sa VM, .net est en pseudo code interprété à chaque chargement dans une zone mémoire, ce qui d'ailleurs le rend encore plus lent à se lancer.
Je te rappelle que j'ai les sources Windows complètes depuis qlqs années (merci MS).
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
16 févr. 2007 à 16:22
Alors à ton avis DotNet ça représente quoi pour Microsoft ? comment expliquer la promotion de ce produit de développement à l'exclusion de tout autre ? pur coup de bluf ? ça n'a aucun sens de penser cela. Il est parfaitement clair que pour Microsfot seul DotNet à de l'avenir. Tu penses que DotNet n'est pas un vrai code car il est plus ou moins interprété ? tu n'as donc rien compris à la compilation Just-In-Time. Tu confonds les langages interprétés comme VB6 avec DotNet, cela n'est pas la même chose. C'est clair que DotNet n'est pas une plateforme de bas niveau comme la cible du C ou C++, mais c'est bien de but du système : il y a une couche d'abstraction qui facilite la vie des développeurs, et la perte de performance n'est pas si élevée que tu le penses. L'optimisation de la compilation pour un processeur particulier se fera toujours au détriment de la portabilité du code, c'est pour cela que le C ou C++ se cantonnera à des niches particulières, mais tous les logiciels Microsoft ont vocation à migrer en DotNet.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 févr. 2007 à 15:32
Office en .net, he he ne sont pas fous, c'est une des 2 principales sources de revenus de MS alors comme tout produit important il est en vrai code.
Manqué une grosse vague ??? L'échelle sociale, je ne la conçois que dans 1 seul sens, l'ascencion.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
16 févr. 2007 à 15:02
Aujourd'hui il ne reste plus que Java et DotNet qui ont de l'avenir, avec un avantage pour DotNet : il est multi-langages dont VB (ce qui est un avantage certain pour les débutants), Java# (plus anecdotique) et C++ DotNet. Oui, on se demande bien pourquoi Office n'a pas été développé entièrement en DotNet, ça m'intéresserait de le savoir, c'est peut être pour éviter de se faire désassembler (et donc piller) tout leur code, ou bien pour des raisons de compatibilité, allez savoir. Mais il n'est pas possible d'ignorer la nouvelle philosophie de développement de Microsoft, il semble que BruNews ait manqué une grosse vague.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
16 févr. 2007 à 14:23
je veux pas trop rentrer dans le débat, surtout "contre" brunews, mais le problème avec le c++ pour les jeunes et dans les petites boites comme la mienne, c'est qu'il (me) faudrait 3 jours pour ecrire la même chose qu'en .net en quelques heures... (pour certains cas bien sur, spécialement en info de gestion)
On a beau ne travailler qu'en c++ en cours, je n'arrive pas à accrocher pour mes projets persos/pro (pro est un grand mot dans mon cas)
Ma remarque n'apporte pas grand chose c'est vrai... et je n'ai rien à dire sur ta source violent_ken... je sors...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 févr. 2007 à 13:15
Pour les 10 mn, j'ai deja noté qu'il avait rectifié dans sa V2.

Ce n'est pas "rabaisser" que dire ce qui est, suffit d'un tour sur le forum et on est édifié. Je le fréquente depuis des années, je te garantis que personne ne fait jamais une analyse binaire d'un problème (et pas seulement le gamin débutant):
- un nbr est pair ? => faire un modulo 2.
Ce qui est bien entendu une totale anerie.
Il est clair que comme partout il y aura les exceptions qui sortent du lot, eh bien qu'ils en sortent vraiment. Je suis passé l'an dernier dans une boite spécialisée .net, j'y ai entendu des trucs à se taper le derrière par terre (devant 2 témoins d'ici).

Le code Vista dont tu parles, c'est du même acabit que le DirectX sauce .net, simple wrapper COM sur du binaire natif qui fait tout le boulot, comme d'hab rien d'autre.
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
16 févr. 2007 à 12:48
Pas tout à fait d'accord, Brunews.

Il est évident que les langages managés on des limites, et il faut les connaître. Ce n'est pas pour autant qu'il faut les rabaisser à des langages "utilisés par des non-informaticiens et langages qui s'apprennent en 15 jours de formation".

De plus, même si le noyau d'un OS est écrit dans un langage natif, ça n'implique pas que ça soit le cas pour l'ensemble du système. Je prendrai comme seul exemple Windows Vista dont une partie du code a été écrit en .NET (notemment MMC et Media Center si je ne fais erreur).

Pour terminer, la source écrite en C# donc vous avez parlé (www.csharpfr.com/code.aspx?ID=28107) a certainement été écrite par débutant, car même si on ne peut pas atteindre la rapidité d'un code natif, on arrive bien entendu à beaucoup mieux qu'un 10min pour 700 Mo (si j'ai le temps, je vais d'ailleurs reprendre cette source pour la corriger).
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
16 févr. 2007 à 11:46
Mikaels35 ==> Ok, je vais corriger çà.

Patrice99 ==> J'ai pas vraiment envie de faire du .Net, et de toutes façons, une grande partie des logiciels vendus sont codés en C++. Comme le dit Brunews, c'est sans doutes pas pour rien ^^

@+
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 févr. 2007 à 10:16
Allons un peu de sérieux et surtout garder le sens critique par rapport à tout ce qui se dit et s'écrit.
Je ne suis plus tout jeune et des interprétés j'en ai vu arriver des tas, tous devaient remplacer le natif en raison de leur facilité, maintenabilité, etc... Résultat des courses, on n'a jamais fait le moindre soft correct autrement qu'en natif.
Le .NET n'est que le Nieme d'une longue liste et ne changera en rien la réalité, personne n'acceptera jamais d'aller faire ses courses en attendant le résultat d'un tri sur Excel.
Pourquoi donc Office, Sql Server et tous produits MS depuis 2002 ne sont pas en .net ? Ce qui est bon pour les autres ne le serait pas pour MS, trop drole. Simplement parce qu'un interprété est fait pour applets que les SSII fournissent aux clients qu'ils ont en contrat et absolument rien de plus, sera vendu un max et reviendra 2 francs 6 sous "codé" par des non informaticiens.
Combien vaut celui qui fait ce que tout un chacun peut faire en 15 jours de formation ?
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
16 févr. 2007 à 08:29
> je me concentrerais par la suite davantage au C++.
Parce que tant qu'à faire, autant aller vers quelque chose de performant, non ?

Non ! la performance n'est pas tout : C++ est completement dépassé en terme de productivité et en terme de maintenabilité par rapport à C# ou VB.Net. Il faut considérer la performance seulement dans des cas particuliers (pilotes de periphérique, temps réel, ...).
Mikaels35 Messages postés 146 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 17 novembre 2009 2
16 févr. 2007 à 07:58
Je signale un petit bug, si on ouvre la boite de sélection du fichier à découper et qu'on la ferme en cliquant sur la croix ou sur "annuler" sans avoir sélectionné de fichier on obtient un message d'erreur à la ligne:

'récupère le FileName
ShowOpen = Left$(OFName.lpstrFile, InStr(OFName.lpstrFile, vbNullChar) - 1)

Une petite gestion de l'erreur s'impose donc !

Sinon c'est pas mal du tout !

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
16 févr. 2007 à 00:05
BruNews ==> Héhé oui, mais la route de l'apprentissage sera longue ;)

Galain ==> merci bien ;) bon, il manque encore pleins de fonctions et c'est pas vraiment optimisé, mais çà prend forme petit à petit ;)
Je posterai sur vbfrance quand ce sera terminé. Pour l'instant, sourceforge et subversion c'est plus pratique ^^

@+ et merci pour les commentaires
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 févr. 2007 à 23:55
SUR !!!
Tu verras comme c'est agréable de pouvoir envisager nimporte quoi sans limitation.
Profil bloqué
15 févr. 2007 à 23:54
J'ai regardé ton projet sur https://sourceforge.net/projects/hexeditorvb/
Je te félicite car c'est du travail de pro
Bravo ! 10/10
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 févr. 2007 à 23:50
Certes, tu as sans doutes raison.

Mais bon, je vais terminer mon projet en cours, et je pense que quand il sera terminé complètement (bon ok, pas avant un moment), je me concentrerais par la suite davantage au C++.
Parce que tant qu'à faire, autant aller vers quelque chose de performant, non ?

@+
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 févr. 2007 à 23:39
Pas évident que VB soit beaucoup plus lent que C#, il doit rivaliser dans de nombreux domaines.
Le C est un tout autre monde, aucune comparaison possible.

Ceci étant réglé, pense tout de même à migrer sur .net (VB ou C#) un de ces jours et le plus vite possible, c'est prendre du retard que rester sur une techno abandonnée et ce serait fort dommage pour toi.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 févr. 2007 à 23:25
Ah en fait la v2 EST la source dont je parle. Bah disons que je m'était arrêté aux commentaires sur "les 10 minutes" sans voir qu'une mise à jour avait réglé tout çà.

Mais de toutes façons, le VB est bien plus lent quand même ...
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 févr. 2007 à 23:10
Bah, c'est toi même qui le disait "Si c'est réellement 10 minutes alors "relativement" est un doux euphémisime, c'est carrément rédhibitoire. "
Après pour la v2, pas regardé donc je sais pas, moi je parle de la version postée sur le lien que je donne.

Et puis, je code en VB6, pas en C....
@+
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 févr. 2007 à 22:57
Oh le vilain moqueur...
Sa V2 en C# fait les mêmes temps.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 févr. 2007 à 22:43
Voilà, paré au plus pressé : gestion des erreurs des fichiers non accessibles, feuille "figée" lors du travail, progressbar et suppression des bugs qui apparaissaient lors de la découpe des gros fichiers (dépassement de capacité).

J'ai retesté la vitesse (plus lent car progressbar et quelques calculs en plus pour éviter les dépassement de capacité) ==> entre 10 et 15 Mo/s pour la découpe, et 15 Mo/s pour la fusion (autrement dit moins d'une minute pour 700Mo, bien plus rapide que www.csharpfr.com/code.aspx?ID=28107 ^^)

Il manque encore la gestion de l'erreur qui empeche de découper si on prévoit de faire des fichiers résultant >2Go, ce sera pour la prochaine MAJ (demain je pense) avec encore quelques optimisations (mais toujours avec des strings pour le moment)

@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 févr. 2007 à 13:15
Salut, alors :

- les fichiers peuvent avoir une taille > 5Go, la taille est limitée par le currency (plusieurs To ==> pas de limite).
Par contre les fichiers résultants (les morceaux) ne peuvent, je pense, pas faire plus de 2Go (limité par le type Long).
Je dis çà sans avoir testé (je n'ai testé en pratique qu'un ghost de 4.5Go)

- barre de progression ==> oui, en plus j'ai déjà codé un OCX ProgressBar pour çà ;)

- bloquer la feuille ==> en effet, se serait judicieux

- CreateFileEmpty inutile ==> hum, de mémoire (pas VB sur ce PC et flemme de download ma source ^^) je passe un argument OPEN_EXISTING dans CreateFile, donc pas de création possible du fichier (je n'ai pas mis de CREATE_ALWAYS ni autre chose parce que cette fonction me sert dans un autre projet à écrire dans des fichiers déjà existants, et uniquement existants (pas de création si inexistant)).
Donc à priori, je vais garder CreateEmptyFile.

- évite d'ouvrir/fermer n fois tes fichiers ==> Tu veux dire avec CreateFile pour la récupération du handle ?? Si c'est çà, je peux récupérer le handle un seule fois et passer dans les fonctions ReadBytes et WriteBytes le handle, et pas le path.

- "y'a un soucis majeur dans ta gestion d'erreur..." ==> Hum. lFile = -1 n'est possible que dans le cas où le fichier est utilisé par un autre processus. Donc faudra rajouter un test de vérification avant de commencer la découpe pour voir si le handle récupéré est <> de INVALID_HANDLE_VALUE.

- "rassemble GetBytesFromFile et WriteBytesToFile" ==> oui, pourquoi pas, je vais voir çà.

- "je le trouve encore assez lent... évite de passer par une String comme tampon" ==> ;)
Effectivement c'est optimisable, mais disons qu'avec des strings c'est la solution de facilité. J'ai codé çà assez (très) rapidement... Mais je vais voir ce que je peux faire...
par contre, niveau vitesse, bah moi je fusionne/découpe à 14-5Mo/s... alors que en copie de fichiers simple, mes disques durs limitent la vitesse à 20Mo/s, donc le gain ne pourra pas être énorme de toutes façons.

Merci pour les commentaires, @+
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
15 févr. 2007 à 08:27
En DotNet, la meilleure source que j'ai trouvé est ici, elle gère des tailles >= 5 Go :
FILESPLITTER, UN UTILITAIRE POUR DECOUPER ET JOINDRE DES FICHIERS
www.csharpfr.com/code.aspx?ID=28107
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 févr. 2007 à 07:44
ca a l'air sympa

quelques remarques rapides

une barre de progression / un sablier ne seraient pas du luxe...
il FAUT bloquer la feuille quand il bosse : j'ai reclické sur lancé => Crash

je le trouve encore assez lent... évite de passer par une String comme tampon, et rassemble
GetBytesFromFile et WriteBytesToFile

évite d'ouvrir/fermer n fois tes fichiers

CreateFileEmpty inutile, le CreateFile dans WriteBytesToFile pourrait créer ton fichier.

y'a un soucis majeur dans ta gestion d'erreur :
If lFile = -1 Then Exit Function 'fichier indisponible

c'est bien beau, mais le découpage, derrière, continue ; pour lui tout s'est bien passé... et l'utilisateur n'en sais rien. Il ne pourra pourtant pas regrouper ses fichiers.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
14 févr. 2007 à 23:01
v'là une première MAJ.
@+
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
14 févr. 2007 à 20:44
Salut, merci pour ce commentaire constructif.

Alors :
- INVALID_HANDLE_VALUE=-1 bien sur, faute stupide

- les On error Resume Next proviennent d'un vaste copier/coller, mais effectivement avec uniquement des APIs c'est inutile

- "WriteBytesToFile(...) et peut-être ailleurs, TOUJOURS vérifier si hfile -1 en retour de CreateFile."> oui

- Pour le mix API/fonctions VB, si tu veux parler de CreateEmptyFile, c'est une solution de rapidité. Généralement (dans tout mon code) l'argument curSize n'est jamais passé, donc sortie de fonction et donc uniquement API. Dans un seul endroit, il me faut une taille non nulle donc je remplit le fichier à l'arrache de zero bytes... c'est moche, je sais, j'ai codé vite.

- "FUITE MEMOIRE" ==> merci de m'avoir signalé ceci, je vais regarder

- EnumFolders, EnumFiles ==> ces fonctions ont été codées presque entièrement par ShareVB, donc je n'avais pas remarqué cette erreur (quoique pas dramatique). Je corrige.


Si tu as d'autres remarques, n'hésite surtout pas, çà permettra d'améliorer mon code.

Merci, @+
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 févr. 2007 à 20:34
Salut,
ben il y a du travail pour arranger tout cela, voila un début:

lFile = CreateFile(sFile,...)
If lFile = 0 Then ...
NON, CreateFile RETOURNE -1 SI ERREUR.

Enlève toute gestion d'erreur quand tu bosses en API car elle n'en génère jamais et ce sont donc plein de cycles perdus pour rien.

WriteBytesToFile(...) et peut-être ailleurs, TOUJOURS vérifier si hfile = -1 en retour de CreateFile.

Dans clsFileInfos.cls tu mixes dans une même fonction API et code VB sur un même fichier, faudrait faire du code cohérent soit l'un soit l'autre.
Appeler CreateFile pour créer le fichier, le fermer de suite et le réouvrir illico en VB, à quoi rime tout cela ???

lIDList = SHBrowseForFolder(...)
FUITE MEMOIRE !!! Si lIDList <> 0 faut libérer, voir CoTaskMemFree().

EnumFolders(ByVal ...)
"FindClose hFind" est placé hors du "If hFind <> -1 Then", c'est un non sens.
Idem dans EnumFiles().

Je stoppe ici.
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 févr. 2007 à 17:51
Thanks

A+
Exploreur
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
14 févr. 2007 à 17:21
Ne t'inquiètes pas, j'avais compris ce que tu avais voulu expliquer ^_-
C'est juste que moi, personnellement, je trouve l'utilité de ma source relative si l'on a un programme comme Winrar sur son PC (qui peut faire la même chose, en compressant, et aussi plus rapidement dans le niveau de compression bas).


En tout cas merci de poster des commentaires ^_^

@+
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 févr. 2007 à 17:13
Salut Violent_Ken,

Je me suis mal exprimer dans mon premier post...Ce que j'ai voulu dire, c'est que tes sources sont utiles, mais je ne trouver pas de mot à la fin de cette phrase(tes sources sont toujours d'une utilitées....), pour l'expliquer..lol..
Tu penses bien qu'a mon niveau(et même si j'avais un niveau supérieur)je ne me permettrai pas de te critiquer ou te critiquer les autres(je ne suis pas comme cela)

Excuse-moi pour ma mauvaise explication du premier post.

A+
Exploreur
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
14 févr. 2007 à 17:04
Salut, en fait cette source est assez utile quand on n'a pas Winrar ou équivalent.
Mais quand on l'a, bah, comme ma source est moins rapide (quand même lol) l'utilité retombe un peu...

Mais bon, j'ai codé çà comme un "Tool" de mon programme ;)
@+
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 févr. 2007 à 16:29
Salut,

Ben..Comme d'habitude Violent_Ken, tes sources sont toujours d'une utilitées....

A+
Exploreur
Rejoignez-nous