LIRE/ECRIRE UN FICHIER TEXTE EN VB.NET

NicoProg Messages postés 26 Date d'inscription lundi 2 avril 2001 Statut Membre Dernière intervention 28 mars 2005 - 19 juin 2003 à 00:51
SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 - 31 août 2009 à 21:58
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/7437-lire-ecrire-un-fichier-texte-en-vb-net

SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 1
31 août 2009 à 21:58
Merci, je suis ravi de voir que les vieux bouts de code servent toujours :)
benji2000 Messages postés 78 Date d'inscription samedi 26 août 2006 Statut Membre Dernière intervention 25 novembre 2016
31 août 2009 à 21:42
Merci beaucoup pour ton code SupraDolph, c'est extremement plus rapide et plus sûr que le traitement ligne par ligne, pour un fichier à 2000 lignes que j'ouvrais en 30 secondes, je ne l'ouvre plus qu'en moin d'une seconde, çà mérite vraiment le 10/10 félicitation et encore merci
MakBzh Messages postés 1 Date d'inscription mardi 23 octobre 2007 Statut Membre Dernière intervention 25 février 2008
25 févr. 2008 à 11:14
Salut, merci beaucoup pour ton code :)
ps : petite parenthèse en trop pour la commande d'exécution de EcrireFichier
Amicalement
MakBzh
SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 1
26 nov. 2007 à 14:17
Pour exécuter la fonction :
Dim StrText as string = LireFichier ("C:\monfichier.txt")

ou
EcrireFichier ("C:\Monfichier.txt"), StrText)
bigboysad Messages postés 1 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 26 novembre 2007
26 nov. 2007 à 11:56
g recopié le code et ça ne marche pas;; svp plus de détail ! merci; salam
Belsteak Messages postés 6 Date d'inscription dimanche 4 juillet 2004 Statut Membre Dernière intervention 18 novembre 2004
5 nov. 2004 à 09:53
Le but du sujet n'est pas de dire quel langage est plus rapide qu'un autre...
Maintenant quant à savoir ce qui est le mieux, cela dépend de ce que l'on fait. Chaque langage est adapté à une situation.
Il n'y a pas que le c, c++ dans la vie. Dans dotnet, il y a 2 langages principaux qui sont vb et c#. C# étant un c++ évolué qui a intégré certaines facilités et fonctionalités de vb (comme quoi il est loin d'être aussi pourri que cela...). C++ est bien entendu toujours supporté, mais si tu gratte un peu, il est loin d'être mis en avant et est absent de certaines solutions (développement en windows CE par exemple ou seuls C# et vb sont supportés au niveau de dotnet...).
Maintenant, si je devais programmer des jeux et travailler au niveau performance taille, vitesse etc je travaillerais probablement en c, c++ assembleur.
Dans mon boulot ce pourcentage de programmation est minime.

Maintenant pour être constructif, le plus rapide et efficace bien que plus difficile du premier abord est d'utiliser la classe des string et de construire un objet de type string, au lieu d'utiliser les concaténations classiques.

L'avantage de la concaténation classique ainsi que les constantes de type vbnewline, etc est leur lisibilité et facilité d'utilisation.
N'oublions pas que dans la programmation bureautique classique, peu importe que le string s'affiche en 1/10eme de seconde ou en une demie seconde.
Le plus important est la vitesse de développement et aussi de pouvoir passer son code à la cellule informatique du client où à des collègues. Dans cette optique ce genre de procédé est le plus adapté.
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
4 nov. 2004 à 15:13
peut-être très simple comme source, mais efficace

j'essayais d'écrire avec Microsoft.VisualBasic.FilePutObject pis ça écrivais toujours des caractère avant le texe, masi avec un print, ça marche numéro 1
mortiis Messages postés 120 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 mars 2008
3 nov. 2004 à 06:19
Personellement je me dit que si tu est a te demander si vbLf+vbCr est plus rapide que vbnewline, alors tu devrait peut-etre te mettre a programmer en c++ plutot qu'en vb.
Avec c++ tu pourrait optimiser ton code au niveau de la vitesse , mais aussi au niveau de l'espace mémoire et ce beaucoup plus qu'avec vb qui a mon avis est très lent et gourmand en mémoire et limité pour plusieurs actions (pointeurs, hook système , ...).
Belsteak Messages postés 6 Date d'inscription dimanche 4 juillet 2004 Statut Membre Dernière intervention 18 novembre 2004
15 oct. 2004 à 15:12
En fait c'est simplement une constante qui a été rajoutée et qui est la combinaison des 2 autres.
Donc normalement la vitesse doit être identique.

Il ya plusieurs constantes qui ont été rajoutées (vbtab, ...). Fais une recherche sur vbnewline, tu les auras toutes.

tu peux les utiliser dans les msgbox par exemple pour formater ton message. C'est très pratique, explicite et évite de tapper les 2....
SupraDolph Messages postés 196 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 1 septembre 2008 1
15 oct. 2004 à 13:57
Merci Belsteak pour ta remarque constructive.
je ne connaisais pas vbnewline et je ne l'ai pas encore essayée mais il est fort peobable que cela soit similaire a vbLf+vbCr soit vbCrLf.

Perso : si vbnewline n'est pas plus rapide au niveau de l'exécution que vbCrLf je continuerai d'utiliser ce dernier car il est plus rapide a écrire :) (je sais je suis un fainéant... lol)
Belsteak Messages postés 6 Date d'inscription dimanche 4 juillet 2004 Statut Membre Dernière intervention 18 novembre 2004
14 oct. 2004 à 13:34
Hello,

Plutôt que d'utiliser vbLf et vbCr, tu peux utiliser la constante vbnewline.
Le nom est assez explicite... :)
NicoProg Messages postés 26 Date d'inscription lundi 2 avril 2001 Statut Membre Dernière intervention 28 mars 2005
19 juin 2003 à 00:51
Tout à fait ce que je cherchais, c 'est parfait, merci beaucoup.
Rejoignez-nous