Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LIRE/ECRIRE UN FICHIER TEXTE EN VB.NET


Information sur la source

Catégorie :Texte Source .NET ( DotNet ) Niveau : Débutant Date de création : 11/06/2003 Date de mise à jour : 13/04/2006 09:26:46 Vu / téléchargé: 17 374 / 1 150

Note :
9,33 / 10 - par 3 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

ce petit code apparament simple peut servir.
Je dis apparement car les retours a la ligne ds vb.net n'ont plus de retour chariot.(vblf au lieu de vbcrlf) or pour enregistrer le fichier il faut les deux. enfin voilà :  
 

Source

  • Public Function LireFichier(ByVal CheminFichier As String) As String
  • Dim MyChaine As String
  • Dim FreeF As Integer
  • FreeF = FreeFile() 'Possibilité de mettre 1
  • FileOpen(FreeF, CheminFichier, OpenMode.Input)
  • MyChaine = InputString(FreeF, FileLen(CheminFichier))
  • FileClose(FreeF)
  • Return MyChaine
  • End Function
  • Public Sub EcrireFichier(ByVal CheminFichier As String, ByVal Texte As String)
  • Dim FreeF As Integer
  • FreeF = FreeFile() 'Possibilité de mettre 1
  • Texte = Replace(Texte, vbLf, vbCrLf)
  • FileOpen(FreeF, CheminFichier, OpenMode.Output)
  • Print(FreeF, Texte)
  • FileClose(FreeF)
  • End Function
    Public Function LireFichier(ByVal CheminFichier As String) As String
        Dim MyChaine As String
        Dim FreeF As Integer

        FreeF = FreeFile() 'Possibilité de mettre 1
        FileOpen(FreeF, CheminFichier, OpenMode.Input)
        MyChaine = InputString(FreeF, FileLen(CheminFichier))
        FileClose(FreeF)
        Return MyChaine
    End Function

    Public Sub EcrireFichier(ByVal CheminFichier As String, ByVal Texte As String)
        Dim FreeF As Integer

        FreeF = FreeFile() 'Possibilité de mettre 1
        Texte = Replace(Texte, vbLf, vbCrLf)
        FileOpen(FreeF, CheminFichier, OpenMode.Output)
        Print(FreeF, Texte)
        FileClose(FreeF)
    End Function  

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

13 avril 2006 09:26:47 :
Modification du Function en Sub

Commentaires et avis

signaler à un administrateur
Commentaire de NicoProg le 19/06/2003 00:51:32

Tout à fait ce que je cherchais, c 'est parfait, merci beaucoup.

signaler à un administrateur
Commentaire de Belsteak le 14/10/2004 13:34:16

Hello,

Plutôt que d'utiliser vbLf et vbCr, tu peux utiliser la constante vbnewline.
Le nom est assez explicite... :)

signaler à un administrateur
Commentaire de SupraDolph le 15/10/2004 13:57:12

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)

signaler à un administrateur
Commentaire de Belsteak le 15/10/2004 15:12:52

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....

signaler à un administrateur
Commentaire de mortiis le 03/11/2004 06:19:02

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 , ...).

signaler à un administrateur
Commentaire de dragon le 04/11/2004 15:13:11

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

signaler à un administrateur
Commentaire de Belsteak le 05/11/2004 09:53:03

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é.

signaler à un administrateur
Commentaire de bigboysad le 26/11/2007 11:56:52

g recopié le code et ça ne marche pas;; svp plus de détail ! merci; salam

signaler à un administrateur
Commentaire de SupraDolph le 26/11/2007 14:17:24

Pour exécuter la fonction :
Dim StrText as string = LireFichier ("C:\monfichier.txt")

ou
EcrireFichier ("C:\Monfichier.txt"), StrText)

signaler à un administrateur
Commentaire de MakBzh le 25/02/2008 11:14:48

Salut, merci beaucoup pour ton code :)
ps : petite parenthèse en trop pour la commande d'exécution de EcrireFichier
Amicalement
MakBzh

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.