VB.Net Compact Framework Split

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 15 août 2007 à 20:13
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 - 18 août 2007 à 14:51
Salut à tous...

Je suis découragé   Je ne sais pas comment faire pour utiliser la fonction Split dans VB.Net Compact Framework. Ou bien l'erreur vient d'ailleurs  enfin je ne sais plus quoi faire...
J'ai une erreur qui dit:
The Targeted version of the .NET Compact Framework does not support latebonding.
j'ai cette ligne de code:
SplitLine = Split(aMesLignes(i),

" ")

Je vous annexe le code total du module.

J'ai vraiment besoin de votre aide.... C'est important....
Merci d'avance

Module

MDOLireFichier

Public Tableau(1, 1)
As
String

Public aMesLignes()
As
String 

Public
Sub ReadAllLines(
ByVal sPath
As
String,
ByRef aLines()
As
String)

Dim Sr
As
New System.IO.StreamReader(sPath)

Dim sBuffer
As
StringsBuffer = Sr.ReadToEnd()

aLines = sBuffer.Split(System.Convert.ToChar(13))

'Code ASCII du Retour de Chariot

End
Sub

Public
Sub Parcourir_Fichier_text(
ByVal aMesLignes)

Dim i
As
Integer

Dim j
As
Integer

Dim LineCount
As
Integer

Dim SplitLine()
As
String

Dim intCompteur
As
IntegerLineCount = 0

For i = 0
To UBound(aMesLignes)

If LineCount = 0
Then

ReDim Tableau(4, LineCount)

Else

ReDim
Preserve Tableau(4, LineCount)

End
IfSplitLine = Split(aMesLignes(i),

" ")

For j = 0
To UBound(SplitLine)

If Trim(SplitLine(j)) <>
""
ThenTableau(j, LineCount) = Trim(SplitLine(j))

End
If

NextLineCount = LineCount + 1

Next i

End
Sub 

End

Module

5 réponses

cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
16 août 2007 à 00:27
SplitLine = Split(aMesLignes(i)," ")




essaye plutôt
Dim uneligne as string
............
uneligne = aMesLignes(i)

SplitLine = Split(uneligne," "
)

Pourtant je vois pas cette liaison de retard
De plus je vois aucun redimensionnement de ton tableau aMesLignes ni son remplissage.

Le savoir ne sert que si il est partagé par tous
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
16 août 2007 à 14:21
Salut...
Et bien je ne sais pas trop ce que je fais... J'essais plein de truc mais rien fonctionne....

Dans mon Load j'apelle la fonctione pour lire mon ficher
J'ai regardé ta source, mais je m'y perds un peu...Serais-tu en mesure de réparer mes erreurs pour que je puisse voir qu'est ce qui ne vas pas... Dans ta source, je ne sais pas quoi j'ai besoin et comment le convertir pour mon code...

J'ai pris du code VB6 et j'essais déséspérément de le mettre en .Net Compact Framwork. Je veux seulement ouvri un fichier texte et en faire un tableau. Le fichier texte aura toujours 5 Colonnes avec un nombre de lignes inconnues...Donc mon tableau aura 5 colonnes avec le nombre de lignes que le fichier texte aura...

Merci de ton aide

Dans ma Form Load.... J'ai mis ce code

ReadAllLines("C:\Bureau\Coord.txt", aMesLignes)
'Lecteur du fichier texte Mais je ne suis pas capable de lire mon fichier Texte
Call Parcourir_Fichier_text(aMesLignes)

Dans mon Module
<hr />
MDOLireFichier

Imports

System.Math

Imports System

Imports System.IO

<hr />
Public Tableau(1, 1) AsString
Public aMesLignes() AsString

PublicSub ReadAllLines(ByVal sPath AsString, ByRef aLines() AsString) 'Problème avec le SplitLine

Dim Sr AsNew System.IO.StreamReader(sPath)
Dim sBuffer AsString
sBuffer = Sr.ReadToEnd()
aLines = sBuffer.Split(System.Convert.ToChar(13))

EndSub

<hr />
PublicSub Parcourir_Fichier_text(ByVal aMesLignes)

Dim i AsInteger ,
j AsInteger

Dim LineCount AsInteger

Dim SplitLine() AsString

Dim intCompteur AsInteger

LineCount = 0

For i = 0 To UBound(aMesLignes) 
   
If LineCount = 0 Then 
      
ReDim Tableau(4, LineCount) 
   
Else 
      
ReDimPreserve Tableau(4, LineCount) 
   
EndIf

SplitLine = Split(aMesLignes(i),
" ")

For j = 0 To UBound(SplitLine) 
   
If Trim(SplitLine(j)) <> ""Then 
      
Tableau(j, LineCount) = Trim(SplitLine(j))
   
EndIf

Next

LineCount = LineCount + 1

Next i

EndSub

End
Module
0
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
16 août 2007 à 21:19
Ne Pas oublier d'ajouter "Imports System.IO"


   Public CheminCourant As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase) 'Chemin Courant de L'application


    Public Const ListeSeparation As String = ";" 'Séparateur utilisé


    Public Const FicScore = "\listeScores.txt"  'Fichier Texte ne pas oublier le "" devant


    Public Sub ChargeFichier(ByVal MyListe As ListView) 'MyListe est un composant ListView


        Dim sr As StreamReader = New StreamReader(CheminCourant & FicScore)


        Dim StrInput As String


        Dim Strdata() As String


        Do


            StrInput = sr.ReadLine 'Je lis une ligne


            If StrInput Is Nothing Then Exit Do


            'Si rien je sors


            Strdata = StrInput.Split(ListeSeparation)


            Dim MItem As New ListViewItem


            MItem.Text = Strdata(0)


            MItem.SubItems.Add(Strdata(1))


            MItem.SubItems.Add(Strdata(2))


            MItem.SubItems.Add(Strdata(3))


            MItem.SubItems.Add(Strdata(4))


            MyListe.Items.Add(MItem) 'J'ajoute l'item à la listiew


        Loop Until StrInput Is Nothing


        sr.close() 'Je ferme mon fichier


    End Sub



Voila sur le feu j'espère que cela te convient.

Le savoir ne sert que si il est partagé par tous
0
P0lO Messages postés 65 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 12 juin 2008 1
17 août 2007 à 11:01
Pour ce qui est de la fonction Split utilise la plutôt directement sur ton objet string :
SplitLine Split(aMesLignes(i)," ") > SplitLine = aMesLignes(i).Split(' ')

P0lO
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
18 août 2007 à 14:51
ah vi ça c'est vrai j'avais pas vu, comme quoi on efface pas si facilement que ça VB6 ;)
Le savoir ne sert que si il est partagé par tous
0
Rejoignez-nous