.Net Fonction Lire Fichier Compact Framework [Résolu]

Signaler
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
Salut à tous...

J'ai du code VB6 que je veux faire fonctionner en .Net (Compact Framework)...
Public Sub ReadAllLines(ByVal sPath As String, ByRef aLines() As String)
    Dim FF As Integer
    Dim sBuffer As String
    FF = FreeFile
    On Error Resume Next
    Open sPath For Input As #FF
    sBuffer = Input(LOF(FF), #FF)
    Close #FF
    aLines = Split(sBuffer, vbNewLine)
End Sub

Je ne saisi pas toute les suptilité de ce code qu'un colègue de bureau a trouvé, mais ca fonctionne super bien en VB6.

J'aimerais donc convertir de code en .Net Compact Framework. 

Il y a Charles R. (membre club) qui a vraiment essayé de m'aider, que je remerci d'ailleurs, mais ça ne fonctionne toujours pas.

Public Sub ReadAllLines(ByVal sPath As String, ByRef aLines() As String)
  Dim Sr As New System.IO.StreamReader(sPath)
  Dim sBuffer As String
  sBuffer = Sr.ReadToEnd()
  aLines = sBuffer.Split(CChar())' ERREUR = 'NewLine' is not a member of 'Systeme.Environement'
End Sub

Si quelqu'un peut me donner un coup de main....
Merci d'avance

4 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Avais tu essayer avec aLines = sBuffer.Split(System.Convert.ToChar(13)) ?







__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
13 est le code ascii du retour chariot (CR, connu aussi par \n en C ou &h0D en Hexa)

Normalement sur plateforme Windows pour changer de ligne il faut les caractères CR et LF (\r en C ou &h0A en hexa) connu en vb par la constante vbCRLF, tandis que sur unix seul CR suffit.

C'est pour cela que le but de la méthode Newline du framework est de te renvoyer la bonne combinaison selon la plateforme. Mais pour l'instant, la plateforme étant quasi exclusivement Windows, si NewLine ne marche pas, tu peux utiliser 13 à la place. Par contre tu risque de te retrouver avec le caractère LF (10) en début de la ligne suivante.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
Salut charles...

non je n'avais pas essayé et je n'ai pas de message d'erreur....
Cool merci...

Il me reste un autre fonction à réussir à modifier en .NET et je te donnerai des nouvelles à savoir si c'est OK

merci à toi...
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
Hum autre question que signifie le chiffre 13 dans ta ligne de code ????????