begin process at 2008 08 22 03:42:15
1 229 768 membres
39 nouveaux aujourd'hui
14 267 membres club

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 !

CHARGER UN FICHIER TEXTE (WINDOWS OU UNIX)


Information sur la source

Catégorie :Texte Classé sous : charger, fichier, text, unix, carré Niveau : Débutant Date de création : 01/09/2006 Vu : 6 948

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

Une petite fonction tout simple, pour répondre à une question du Forum.

Elle permet de charger le contenu d'un fichier texte, afin qu'il soit exploitable sous Windows, même s'il provient du monde Unix, où le codage des sauts de lignes est différent...

Source

  • '# Cette fonction permet de charger de manière transparente, les fichiers textes,
  • '# issus du monde Unix ou de Windows (les sauts de lignes diffèrent en effet)
  • Public Function LoadTextFile(ByRef vsFilePath As String) As String
  • Dim hFile As Integer
  • '# On demande un descripteur de fichier libre
  • hFile = FreeFile
  • '# On ouvre le fichier en lecture
  • Open vsFilePath For Input As #hFile
  • '# Le contenu du fichier est chargé dans 'LoadTextFile'
  • LoadTextFile = Input$(LOF(hFile), #hFile)
  • '# Fermeture du fichier
  • Close #hFile
  • '# Si notre text ne contient pas de VbCrLf ...
  • If InStrB(LoadTextFile, vbCrLf) = 0 Then
  • '# on remplace les VbLf en VbCrLf
  • If InStrB(LoadTextFile, vbLf) > 0 Then
  • LoadTextFile = Replace(LoadTextFile, vbLf, vbCrLf)
  • End If
  • End If
  • End Function
'# Cette fonction permet de charger de manière transparente, les fichiers textes,
'# issus du monde Unix ou de Windows (les sauts de lignes diffèrent en effet)
Public Function LoadTextFile(ByRef vsFilePath As String) As String
Dim hFile As Integer
    '# On demande un descripteur de fichier libre
    hFile = FreeFile
    '# On ouvre le fichier en lecture
    Open vsFilePath For Input As #hFile
        '# Le contenu du fichier est chargé dans 'LoadTextFile'
        LoadTextFile = Input$(LOF(hFile), #hFile)
    '# Fermeture du fichier
    Close #hFile
    '# Si notre text ne contient pas de VbCrLf ...
    If InStrB(LoadTextFile, vbCrLf) = 0 Then
        '# on remplace les VbLf en VbCrLf
        If InStrB(LoadTextFile, vbLf) > 0 Then
            LoadTextFile = Replace(LoadTextFile, vbLf, vbCrLf)
        End If
    End If
End Function
  • signaler à un administrateur
    Commentaire de rambc le 02/09/2006 14:04:22

    Simple et efficace. Merci pour ce petit code qui me sera d'une grande utilité.

  • signaler à un administrateur
    Commentaire de rambc le 02/09/2006 14:10:25

    QUESTION : as-tu aussi simple pour directement écrire une chaîne de caractères dans un fichier TEXTE ?
    Je connais une méthode qui consiste à écrire ligne par ligne mais c'est peu élégant.

  • signaler à un administrateur
    Commentaire de ciberrique le 02/09/2006 18:27:06

    Pour ecrire tu fais cela :



    Open vsFilePath For Output As #hFile

            Print #1, TonTexte

    Close #hFile


    Voila voila

  • signaler à un administrateur
    Commentaire de rambc le 02/09/2006 20:09:28

    Merci.

    PS : Les choses les plus anodines a prori peuvent toujours être utiles.

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS