cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 2023
-
15 août 2007 à 13:37
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
15 août 2007 à 15:10
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
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 15 août 2007 à 15:10
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.