cs_Thaeron
Messages postés202Date d'inscriptionvendredi 6 juillet 2001StatutMembreDernière intervention31 octobre 2007
-
17 nov. 2002 à 13:21
Utilisateur anonyme -
9 juin 2004 à 14:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Je t'arréte tout de suite dam. Au lieu d'avoir recours à un autre language, demandes toi si t'aurais pas besoin d'avoir recours à un autre cerveau.
EN tout cas, avec la source de cet auteur, qui est venu sur vbfrance pour y pourrir des sources en disant que le C puisse puisse c'est mieux.
Alors prends un fichier de 10 MO, en .dat, faut le faire ... puis écris ce code...
dim buffer() as string
dim i as long
open fichier for binary access read #pf
redim buffer(0)
buffer(0) = space(LOF(1))
get #1,, buffer(0)
close #1
buffer = split(buffer(0), ";")
msgbox "Fichier chargé en mémoire et splitté !"
Au passage, la fonction équivalente au split en C++ c'est explode.
Bonne prog à toi, akh
damdam04
Messages postés27Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention20 novembre 2006 9 juin 2004 à 11:20
salut
j'ai créé un spliter de fichier sous VB6 mais c'est super lent... donc je vais avoir recour au C++.
mon fichier est un .dat, chaque ligne du fichier contient des ";" et je voudrait récupérer toutes les données entre chaque ";".
es ce que quelqu'un peut me dire comment faire ou s'il existe une fonction "split" comme sous VB pour faire ça.
merci à tous
Ton prog plante sur 1,24 Mo ... c pas optimisé, alors quand on sais pas coder, on critique pas les autres, et surtout pas un language de prog qui pourrais être bcp rapide que la merde que t'as pondu là...
Ah oui, laisses le valeur en Octets car en Ko ou Mo il planterais surement :)
DevMotion
Messages postés12Date d'inscriptiondimanche 1 décembre 2002StatutMembreDernière intervention12 décembre 2002 1 déc. 2002 à 23:54
Il se trouve que j'ai aussi écrit un programme pour splitter les fichiers et il s'appelle Wincut. Il à été déposé le 04 sous le nom Découpage de fichiers. Je trouve que tu devrait prendre Taille*1024 et non Taille*1000; Il se trouve que l'opération de splittage est longue; modifie l'algorithme pour accélérer le processus.
Essaie d'ajouter une boîte de dialogue open et permet qu'on puisse présicer le chemin de destination. A part ça, l'interface est cool. Je connais maintenant le Kilo en trop. Il est vraiment en trop.
Ce ne sont que des observations. J'attends les votres pour Wincut 2.0.
24Karas
Messages postés233Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 juillet 2008 17 nov. 2002 à 19:41
@llez voir la nouvelle version
elle est beaucoup mieux (bon ok j'ai laissé 1000 au lieu de 1024) mais juste pour le fun. Mon truc je souhaite pas le vendre c juste pour l'algo.
@++ à tous
PS : TRINITACS >si tu as des probl.m pour débuter pose moi des questions et j'essaierai de t'aider
!! Je suis pas rankunié !!
cs_chmod777
Messages postés46Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 2 décembre 20061 17 nov. 2002 à 18:31
je me trompe peut etre mais je trouve qu'il y a un truc bizarre:
pour moi 1024 octets font 1 ko, je m'interroge donc lorsque je vois que tu utilise un facteur 1000 pour passer de l'un a l'autre [...]cele ou il y a taille * 1000[...]
bref a part ce petit truc cette source est bonne.
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 17 nov. 2002 à 16:36
Taehron >> merci
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 17 nov. 2002 à 16:33
24Karas >> Je ne me moquais pas du tout. Bon aller je vais essayer de bien prendre tout ce que tu m'a dis.
24Karas << "Peut-être est-ce parce ke tu es trops mauvais heuuuu NUL."
24Karas >> Sûrement.
24Karas << "Je vois que tu as un splitter en VB (WaouW)"
24Karas << Ce n'est pas moi qui l'ai fait. Je suis vraiment null alors je ne fais jamais de sources et même en vb.
24Karas << "Ce site est réservé aux critiques constructives"
24Karas >> Excuse moi d'avoir fait une constatation alieu de faire une remarque constructive.
24Karas << "(d'ailleur même sur vbfrance il n'y a pas de tes sources !!!)"
24Karas >> C'est normal je suistrop null pour programmer.
24Karas << "Envoie nous tes sources qu'on se marre :)))))"
24Karas >> Je te dis je suis trop null pour programer. Et puis il faut que je commence à apprendre le C++.
24Karas << "100/30 = 3 mais il reste 10 c con"
24Karas << Excuse moins je ne connais que l'addtion pour l'instant.
24Karas << "Et ouai p'tit gars fo réfléchir avant de parler :)"
24Karas >> Tout le monde n'a pas la chance d'être aussi intelligent que toi.
Pour le vb je pense la même chose que toi. Sauf que ça ta gonfléééééé mais moi ça m'a tué.
Pour les fichiers ton truc m'a sorti 14 fichiers avec des tailles soit de 980octects ou 1.04Ko etc.. Sache aussi que 1000 octects != 1ko. On compte en 1024 contrairement à ce que tu disait dans la description.
Franchement je voulais te dire bravo pour ta source propre et bien commentée, mais j'ai un peu moins envie maintenant.
ligne 151-155: J'ai pas compris pourquoi est ce que tu cherches à ouvrir le fichier de 2 manièeres?
ligne 148 et 165: Tu regarde 2 fois dans la même boucle si le pointeur est à la fin du fichier. Tu peux expliquer pourquoi?
Encore un autre truc quand on découpe: Pourquoi est ce que tu ouvres, met un char puis ferme aussitôt le fichier? C'est pas plus simple de l'ouvrir une fois jusqu'a ce qu'il fasse la bonne taille et ensuite on le ferme. Tu peux expliquer aussi pourquoi tu fais ça?
J'ai pas compris pourquoi est ceque tu n'as mal pris ce que j'ai dis?
Sans classe le.null
cs_Thaeron
Messages postés202Date d'inscriptionvendredi 6 juillet 2001StatutMembreDernière intervention31 octobre 2007 17 nov. 2002 à 16:26
ça sert a quoi ? j'ia tjs pas compris
if ((destination fopen (chemin_final,"ab")) NULL){
destination = fopen (chemin_final,"wb");}
je crois que la lenteur vient du fait que tu ferme et ouvre ls fichiers plein de fois dans l'algo, mais bon j'ai pô tout compris a ta logique de programmation
cs_Thaeron
Messages postés202Date d'inscriptionvendredi 6 juillet 2001StatutMembreDernière intervention31 octobre 2007 17 nov. 2002 à 16:01
24Karas calme toi, et evite les insultes ça sert pô a grand chose, c'est vrai que la taille des parties n'est pas identik, mais c'est normal car tu utiliser fread et fwrite au lieu de fgetc et fputc, et ça serait encore plus lent en faisant caractere par caractere. C'est vrai que le prog est assez lent, il met plusieur seconde pour decouper 6ko en 4 partie, cela dis on devrait pouvoir reduire ce temps, je vais regarder le source et te donner la solution si je la trouve.
Sinon continue 24Karas et t'enerve pas comme ça, ça sert a rien
24Karas
Messages postés233Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 juillet 2008 17 nov. 2002 à 15:49
> TRINITACS
J'oubliais !!!
Il est peut être normal que les fichiers aient une taille différente.
Tu as déja essayé de couper 100 Ko en fichier de 30 Ko
100/30 = 3 mais il reste 10 c con
ça va te faire 3 fichiers de 30 Ko et 1 fichier de 10Ko
Et ouai p'tit gars fo réfléchir avant de parler :)
Avec Classe 24.KaraS
24Karas
Messages postés233Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 juillet 2008 17 nov. 2002 à 15:44
>TRINITACS
Comme c bizare tu te moques mais tu n'as pas encore deposé de source sur ce site. Peut-être est-ce parce ke tu es trops mauvais heuuuu NUL.
Je vois que tu as un splitter en VB (WaouW)
Toi tu dois vraiment être trop fort.
Je suis passé par le vb (2 mois) et ça m'a vite gonflééé. C'est pas de la programation ça, c du bricolage. Tu contrôle rien et puis tu rajoutes tes dll dans chaque exe :) (ils font au - 800Ko tes exe c pour ça que tu as beoin de les couper)
PS : Ce site est réservé aux critiques constructives et non aux minables qui se la joue en VB (d'ailleur même sur vbfrance il n'y a pas de tes sources !!!)
Envoie nous tes sources qu'on se marre :)))))
Misérablement 24.KaraS
24Karas
Messages postés233Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 juillet 2008 17 nov. 2002 à 15:35
>THAERON
Merci pour ton super commentaire. je vais rajouter cette option. En + c vraiment pas dur à coder.
cordialement 24.KaraS
trinitacs
Messages postés249Date d'inscriptionmardi 16 juillet 2002StatutMembreDernière intervention 7 août 20032 17 nov. 2002 à 14:07
Arf ton prog est vraiment lent :( Ça fais une minute qu'il est en train de découper un bmp de 133Ko. Bon d'accord mon pc est un peu vieux mais j'en ai un en vb qui fais ça instantanément. Ce qui est bizarre c'est que tous les fichier coupé ne font pas la même taille. Encore plus étonnant j'ai mis 10 dans la case et les fichier font environ 1Ko. Arf je vais en avoir 133 :(, bon ça fait 3 minutes, Ctrl Alt Supr et je regfarde at source pour voir toout ça. Arf non pas besoin ça vient juste de se terminer :), 14 fichiers de tailles varaible.
C'est quoi l'octect en trop.
cs_Thaeron
Messages postés202Date d'inscriptionvendredi 6 juillet 2001StatutMembreDernière intervention31 octobre 2007 17 nov. 2002 à 13:21
pô mal =) meme sympas, mais tu devrai mettre une option pour mettre soit en Ko ou Mo, et tu devrai mettre un fichier de reference, qui contient le nom de l'exe et le nombre de partition par exemple et la taille du fichier ou un checksum pour verifier qu'aucune partie ne manque ou n'est altérée. Mais la il est eskellent =) en plus il passe sans prob l'octet 1A.
9 juin 2004 à 14:03
EN tout cas, avec la source de cet auteur, qui est venu sur vbfrance pour y pourrir des sources en disant que le C puisse puisse c'est mieux.
Alors prends un fichier de 10 MO, en .dat, faut le faire ... puis écris ce code...
dim buffer() as string
dim i as long
open fichier for binary access read #pf
redim buffer(0)
buffer(0) = space(LOF(1))
get #1,, buffer(0)
close #1
buffer = split(buffer(0), ";")
msgbox "Fichier chargé en mémoire et splitté !"
Au passage, la fonction équivalente au split en C++ c'est explode.
Bonne prog à toi, akh
9 juin 2004 à 11:20
j'ai créé un spliter de fichier sous VB6 mais c'est super lent... donc je vais avoir recour au C++.
mon fichier est un .dat, chaque ligne du fichier contient des ";" et je voudrait récupérer toutes les données entre chaque ";".
es ce que quelqu'un peut me dire comment faire ou s'il existe une fonction "split" comme sous VB pour faire ça.
merci à tous
1 mai 2004 à 16:16
Ah oui, laisses le valeur en Octets car en Ko ou Mo il planterais surement :)
1 déc. 2002 à 23:54
[ - Dev Motion - ]
19 nov. 2002 à 11:09
Essaie d'ajouter une boîte de dialogue open et permet qu'on puisse présicer le chemin de destination. A part ça, l'interface est cool. Je connais maintenant le Kilo en trop. Il est vraiment en trop.
Ce ne sont que des observations. J'attends les votres pour Wincut 2.0.
17 nov. 2002 à 19:41
elle est beaucoup mieux (bon ok j'ai laissé 1000 au lieu de 1024) mais juste pour le fun. Mon truc je souhaite pas le vendre c juste pour l'algo.
@++ à tous
PS : TRINITACS >si tu as des probl.m pour débuter pose moi des questions et j'essaierai de t'aider
!! Je suis pas rankunié !!
17 nov. 2002 à 18:31
pour moi 1024 octets font 1 ko, je m'interroge donc lorsque je vois que tu utilise un facteur 1000 pour passer de l'un a l'autre [...]cele ou il y a taille * 1000[...]
bref a part ce petit truc cette source est bonne.
17 nov. 2002 à 16:36
17 nov. 2002 à 16:33
24Karas << "Peut-être est-ce parce ke tu es trops mauvais heuuuu NUL."
24Karas >> Sûrement.
24Karas << "Je vois que tu as un splitter en VB (WaouW)"
24Karas << Ce n'est pas moi qui l'ai fait. Je suis vraiment null alors je ne fais jamais de sources et même en vb.
24Karas << "Ce site est réservé aux critiques constructives"
24Karas >> Excuse moi d'avoir fait une constatation alieu de faire une remarque constructive.
24Karas << "(d'ailleur même sur vbfrance il n'y a pas de tes sources !!!)"
24Karas >> C'est normal je suistrop null pour programmer.
24Karas << "Envoie nous tes sources qu'on se marre :)))))"
24Karas >> Je te dis je suis trop null pour programer. Et puis il faut que je commence à apprendre le C++.
24Karas << "100/30 = 3 mais il reste 10 c con"
24Karas << Excuse moins je ne connais que l'addtion pour l'instant.
24Karas << "Et ouai p'tit gars fo réfléchir avant de parler :)"
24Karas >> Tout le monde n'a pas la chance d'être aussi intelligent que toi.
Pour le vb je pense la même chose que toi. Sauf que ça ta gonfléééééé mais moi ça m'a tué.
Pour les fichiers ton truc m'a sorti 14 fichiers avec des tailles soit de 980octects ou 1.04Ko etc.. Sache aussi que 1000 octects != 1ko. On compte en 1024 contrairement à ce que tu disait dans la description.
Franchement je voulais te dire bravo pour ta source propre et bien commentée, mais j'ai un peu moins envie maintenant.
ligne 151-155: J'ai pas compris pourquoi est ce que tu cherches à ouvrir le fichier de 2 manièeres?
ligne 148 et 165: Tu regarde 2 fois dans la même boucle si le pointeur est à la fin du fichier. Tu peux expliquer pourquoi?
Encore un autre truc quand on découpe: Pourquoi est ce que tu ouvres, met un char puis ferme aussitôt le fichier? C'est pas plus simple de l'ouvrir une fois jusqu'a ce qu'il fasse la bonne taille et ensuite on le ferme. Tu peux expliquer aussi pourquoi tu fais ça?
J'ai pas compris pourquoi est ceque tu n'as mal pris ce que j'ai dis?
Sans classe le.null
17 nov. 2002 à 16:26
if ((destination fopen (chemin_final,"ab")) NULL){
destination = fopen (chemin_final,"wb");}
je crois que la lenteur vient du fait que tu ferme et ouvre ls fichiers plein de fois dans l'algo, mais bon j'ai pô tout compris a ta logique de programmation
17 nov. 2002 à 16:01
Sinon continue 24Karas et t'enerve pas comme ça, ça sert a rien
17 nov. 2002 à 15:49
J'oubliais !!!
Il est peut être normal que les fichiers aient une taille différente.
Tu as déja essayé de couper 100 Ko en fichier de 30 Ko
100/30 = 3 mais il reste 10 c con
ça va te faire 3 fichiers de 30 Ko et 1 fichier de 10Ko
Et ouai p'tit gars fo réfléchir avant de parler :)
Avec Classe 24.KaraS
17 nov. 2002 à 15:44
Comme c bizare tu te moques mais tu n'as pas encore deposé de source sur ce site. Peut-être est-ce parce ke tu es trops mauvais heuuuu NUL.
Je vois que tu as un splitter en VB (WaouW)
Toi tu dois vraiment être trop fort.
Je suis passé par le vb (2 mois) et ça m'a vite gonflééé. C'est pas de la programation ça, c du bricolage. Tu contrôle rien et puis tu rajoutes tes dll dans chaque exe :) (ils font au - 800Ko tes exe c pour ça que tu as beoin de les couper)
PS : Ce site est réservé aux critiques constructives et non aux minables qui se la joue en VB (d'ailleur même sur vbfrance il n'y a pas de tes sources !!!)
Envoie nous tes sources qu'on se marre :)))))
Misérablement 24.KaraS
17 nov. 2002 à 15:35
Merci pour ton super commentaire. je vais rajouter cette option. En + c vraiment pas dur à coder.
cordialement 24.KaraS
17 nov. 2002 à 14:07
C'est quoi l'octect en trop.
17 nov. 2002 à 13:21