KingCube
Messages postés1Date d'inscriptionvendredi 26 octobre 2012StatutMembreDernière intervention26 octobre 2012 26 oct. 2012 à 21:54
Comment on fait pour l'utiliser ? [Novice]
cs_webernard
Messages postés3Date d'inscriptiondimanche 9 décembre 2007StatutMembreDernière intervention10 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és1221Date d'inscriptionjeudi 23 août 2001StatutMembreDerniè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és3Date d'inscriptiondimanche 9 décembre 2007StatutMembreDernière intervention10 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és3Date d'inscriptiondimanche 9 décembre 2007StatutMembreDernière intervention10 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és5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és1221Date d'inscriptionjeudi 23 août 2001StatutMembreDerniè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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és1221Date d'inscriptionjeudi 23 août 2001StatutMembreDerniè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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és1221Date d'inscriptionjeudi 23 août 2001StatutMembreDerniè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és939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és1221Date d'inscriptionjeudi 23 août 2001StatutMembreDerniè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és146Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention17 novembre 20092 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 15 févr. 2007 à 23:55
SUR !!!
Tu verras comme c'est agréable de pouvoir envisager nimporte quoi sans limitation.
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és1221Date d'inscriptionjeudi 23 août 2001StatutMembreDerniè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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 14 févr. 2007 à 23:01
v'là une première MAJ.
@+
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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 ???
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és4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 14 févr. 2007 à 17:51
Thanks
A+
Exploreur
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 14 févr. 2007 à 16:29
Salut,
Ben..Comme d'habitude Violent_Ken, tes sources sont toujours d'une utilitées....
26 oct. 2012 à 21:54
10 déc. 2007 à 13:19
10 déc. 2007 à 08:28
10 déc. 2007 à 04:45
(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... ^^ )
10 déc. 2007 à 00:40
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.
9 déc. 2007 à 22:41
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
17 févr. 2007 à 18:24
http://www.csharpfr.com/codes/DECOUPER-FUSIONNER-FICHIERS_41506.aspx
17 févr. 2007 à 09:36
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à....^^ @+
17 févr. 2007 à 08:34
> .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.
16 févr. 2007 à 18:21
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.
@+
16 févr. 2007 à 18:04
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).
@+
16 févr. 2007 à 16:37
.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).
16 févr. 2007 à 16:22
16 févr. 2007 à 15:32
Manqué une grosse vague ??? L'échelle sociale, je ne la conçois que dans 1 seul sens, l'ascencion.
16 févr. 2007 à 15:02
16 févr. 2007 à 14:23
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...
16 févr. 2007 à 13:15
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.
16 févr. 2007 à 12:48
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).
16 févr. 2007 à 11:46
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 ^^
@+
16 févr. 2007 à 10:16
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 ?
16 févr. 2007 à 08:29
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, ...).
16 févr. 2007 à 07:58
'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 !
@+
16 févr. 2007 à 00:05
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
15 févr. 2007 à 23:55
Tu verras comme c'est agréable de pouvoir envisager nimporte quoi sans limitation.
15 févr. 2007 à 23:54
Je te félicite car c'est du travail de pro
Bravo ! 10/10
15 févr. 2007 à 23:50
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 ?
@+
15 févr. 2007 à 23:39
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.
15 févr. 2007 à 23:25
Mais de toutes façons, le VB est bien plus lent quand même ...
@+
15 févr. 2007 à 23:10
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....
@+
15 févr. 2007 à 22:57
Sa V2 en C# fait les mêmes temps.
15 févr. 2007 à 22:43
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)
@+
15 févr. 2007 à 13:15
- 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, @+
15 févr. 2007 à 08:27
FILESPLITTER, UN UTILITAIRE POUR DECOUPER ET JOINDRE DES FICHIERS
www.csharpfr.com/code.aspx?ID=28107
15 févr. 2007 à 07:44
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.
14 févr. 2007 à 23:01
@+
14 févr. 2007 à 20:44
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, @+
14 févr. 2007 à 20:34
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.
14 févr. 2007 à 17:51
A+
Exploreur
14 févr. 2007 à 17:21
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 ^_^
@+
14 févr. 2007 à 17:13
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
14 févr. 2007 à 17:04
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 ;)
@+
14 févr. 2007 à 16:29
Ben..Comme d'habitude Violent_Ken, tes sources sont toujours d'une utilitées....
A+
Exploreur