cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 2023
-
14 août 2007 à 15:39
cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 2023
-
14 août 2007 à 18:57
Salut...
La fonction pour lire un fichier ...
1. C'est ou je lui dit va lire le fichier Coordonnees.txt
2. Sur un PocketPC les prog. sont soit sur C:\ comme un PC ???
3. Si je mets mon fichiers sur ma carte mémoire externe (storage card), comment je fais pour connaitre la lettre de cette carte ??? c'est D:\ ???
Private
Function ReadFile(
ByVal Path
As
String)
Dim sr
As System.IO.StreamReader
Dim al
As ArrayList
sr = New System.IO.StreamReader(Path) 'C'est ici je remplace la Path ????
al =
New ArrayList()
While
Not sr.EndOfStream
al.Add(sr.ReadLine())
End
While
Dim sf(al.Count) AsString
For i
As
Integer = 0
To (al.Count - 1)
Step i = i + 1
sf(i) = al(i)
P0lO
Messages postés65Date d'inscriptionmercredi 18 avril 2007StatutMembreDernière intervention12 juin 20081 14 août 2007 à 16:49
Déja petite amélioration de ma fonction :
Private Function ReadFile(ByVal Path As String)
Dim sr As System.IO.StreamReader
Dim al As ArrayList
If System.IO.File.Exists(Path) Then
sr = New System.IO.StreamReader(Path) 'C'est ici je remplace la Path ????
al = New ArrayList()
While Not (sr.EndOfStream)
al.Add(sr.ReadLine())
End While
Dim sf(al.Count) As String
For i As Integer = 0 To (al.Count - 1)
sf(i) = al(i)
Next i
Return sf
End If
Return 0
End Function
Ensuite pour utiliser tu peut faire par exemple :
Private Sub InitializeComponent()
........
Dim MonFic() As String
MonFic = ReadFile("\My Documents\test.txt")
MessageBox.Show("Nombre de lignes lues dans le fichier : " + MonFic.Length)
For i As Integer = 0 To (MonFic.Length - 1)
MessageBox.Show(MonFic(i))
Next i
........
End Sub
2. sur un Pocket PC les fichier sont sur "\Program Files"
3. en générale la carte de stockage à pour chemin d'accès "\SD-MMCard"
La notion de disque sur PDA n'est pas visible par l'utilisateur pour reconnaitre par programme une carte de stockage tu doit regarder les répertoires à la racine du PDA ("") et les carte de stockage et autre sont les seuls répertoire à posséder comme attribut de répertoire "temporary",...
Pour résumer si tu veut la logique de disque est masqué à l'utilisateur et plutôt que de montrer une carte de stockage comme un disque on la montre comme un répertoire avec un attribut temporary pour indiquer qu'il s'agit d'un répertoire temporaire...
cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 20234 14 août 2007 à 17:41
Ta réponse est Ok et merci....
MAIS....
Dans la fonction ReadFile...
C'est pas là que je dit ouvre Monfichier et prend l'information du fichier texte et mets ca dans un Tableau....
Désolé j'ai de la difficulté pour coder Lire un fichier, Écrire dans un fichier et les tableau....
Les tableau ca m'a pris un bout à comprendre en VB6
Bon je te disais que je ne voulais pas que tu prog pour moi... mais disons que une fois mon code VB6 modifié pour mon iPAQ sera fait, ca devrait aller beaucoup par la suite....
J'ai le code en VB6 Es-tu en mesure de me le changer pour que ca fonctionne pour mon iPAQ ???? SVP... Je suis mal à laise de te demander ca mais je prend une chance....
Option Explicit
Public TabVerticaleInst() As String
Public TabDistanceInst() As String
Public TabPoint() As Double
Public TabCoordX() As Double
Public TabCoordY() As Double
Public TabZ() As Double
Public TabPCode() As Double
Public Tableau() As Variant
' Fait la Lecture entière du Fichier. Appeler dans frmCalcul
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
Public Sub Parcourir_Fichier_text(aMesLignes)
Dim i As Integer, j As Integer, LineCount As Integer
Dim SplitLine() As String
Dim intCompteur As Integer
LineCount = 0
For i = 0 To UBound(aMesLignes)
If LineCount = 0 Then
ReDim Tableau(4, LineCount)
Else
ReDim Preserve Tableau(4, LineCount)
End If
SplitLine = Split(aMesLignes(i), " ")
For j = 0 To UBound(SplitLine)
If Trim(SplitLine(j)) <> "" Then
Tableau(j, LineCount) = Trim(SplitLine(j))
End If
Next