Dynamique listview et add

naim1970 Messages postés 26 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 29 octobre 2008 - 4 août 2004 à 21:36
naim1970 Messages postés 26 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 29 octobre 2008 - 6 août 2004 à 22:41
Mon problème est de faire entrer les données en dynamique. Le fichier test.txt possède les noms de tous les travailleurs (worker1|worker2|?|worker-n|).
Chaque worker possède un répertoire avec de 12 fichiers de tous les mois. Le but est de prendre les informations depuis ces fichiers de 12 mois, sans écraser les données du premier worker, car le code fais que le dernier worker écrase les données de tous les worker.

Private Sub entreprises(ByVal word As String)

Dim worker As String

Dim Temp As New FileStream(Application.StartupPath & "\Save\test.txt", FileMode.Open) 'Prendre les informations depuis le fichier test.txt
Dim Temp_Stream As New StreamReader(Temp)
'
Do Until Temp_Stream.Peek = -1
Val = Temp_Stream.ReadLine.Split("|") 'Le séparateur entre les mot
For i = 1 To Val.Length - 1

worker = Val(i - 1) 'Faire un pas en arrière avent que ça dépasse la fin
Next '
Loop '
Temp_Stream.Close() 'Fermeture du fichier
Temp.Close() 'Fermeture du fichier

Dim objAccount As AccountsClassLibrary.Account
Dim objcont As AccountsClassLibrary.Account
If m_Accounts.Count = 0 Then
objAccount = New AccountsClassLibrary.Account
objAccount.AccountName = "Janvier"
Dim Fs_Janvier As New IO.FileStream(Application.StartupPath & "\Save" & worker & "\Janvier.hor1", FileMode.Open)
Dim Str_Janvier As New IO.StreamReader(Fs_Janvier)
Do Until Str_Janvier.Peek = -1
Val = Str_Janvier.ReadLine.Split("|")

If Val(2) = word Then
objAccount.CodeListings.Add(Val(0), Val(1), Val(2), Val(3), Val(4))
'C'est ici que toutes les données sont écrasées par le dernier worker !!!
End If
Loop
m_Accounts.Add(objAccount) 'Ajouter dans la librairie dynamique

Str_Janvier.Close()
Fs_Janvier.Close()

.
..
...

objAccount = New AccountsClassLibrary.Account
objAccount.AccountName = "Décembre"
Dim Fs_Février As New IO.FileStream(Application.StartupPath & "\Save" & worker & "\Décembre.hor1", FileMode.Open)
Dim Str_Décembre As New IO.StreamReader(Fs_Décembre)
Do Until Str_Décembre.Peek = -1
Val = Str_Décembre.ReadLine.Split("|")
If Val(2) = word Then
objAccount.CodeListings.Add(Val(0), Val(1), Val(2), Val(3), Val(4))
End If
Loop
m_Accounts.Add(objAccount)

Str_Février.Close()
Fs_Février.Close()

Me.TabControl.TabPages.Clear()

For Each objAccount In m_Accounts
Dim objTabPage As New TabPage(objAccount.AccountName)
Dim objControl As New AccountsWindowsControlLibrary.UserControlAccounts
objTabPage.Controls.Add(objControl)
Me.TabControl.TabPages.Add(objTabPage)
With objControl
.Dock = DockStyle.Fill
.Account = objAccount
End With
Next

End If
End Sub

naim1970

2 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
5 août 2004 à 01:40
Si j'ai bien saisis, il faut donner dans ce cas des noms au répertoire de type Worker1, Worker2
ou nommer des fichiers de style Worker1-1.txt, Worker1-2.txt,...Worker1-12.txt
Worker2-1.txt...

plus simple non ?

MSN : cyberscorp2004@msn.com
Qui s'y frotte, s'y pique .
0
naim1970 Messages postés 26 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 29 octobre 2008
6 août 2004 à 22:41
Merci mais c'est pas tout a fais ca
je vais precise la question

Mon problème est de faire entrer les données en dynamique. Le fichier test.txt possède les noms de tous les travailleurs (worker1|worker2|?|worker-n|).
Chaque worker possède un répertoire avec de 12 fichiers de tous les mois. Le but est de prendre les informations depuis ces fichiers de 12 mois, sans écraser les données du premier worker, car le code fais que le dernier worker écrase les données de tous les worker.

Private Sub entreprises(ByVal word As String)

Dim worker As String

Dim Temp As New FileStream(Application.StartupPath & "\Save\test.txt", FileMode.Open) 'Prendre les informations depuis le fichier test.txt
Dim Temp_Stream As New StreamReader(Temp)
'
Do Until Temp_Stream.Peek = -1
Val = Temp_Stream.ReadLine.Split("|") 'Le séparateur entre les mot
For i = 1 To Val.Length - 1

worker = Val(i - 1) 'Faire un pas en arrière avent que ça dépasse la fin
Next '
Loop '
Temp_Stream.Close() 'Fermeture du fichier
Temp.Close() 'Fermeture du fichier

Dim objAccount As AccountsClassLibrary.Account
Dim objcont As AccountsClassLibrary.Account
If m_Accounts.Count = 0 Then
objAccount = New AccountsClassLibrary.Account
objAccount.AccountName = "Janvier"
Dim Fs_Janvier As New IO.FileStream(Application.StartupPath & "\Save" & worker & "\Janvier.hor1", FileMode.Open)
Dim Str_Janvier As New IO.StreamReader(Fs_Janvier)
Do Until Str_Janvier.Peek = -1
Val = Str_Janvier.ReadLine.Split("|")

If Val(2) = word Then
objAccount.CodeListings.Add(Val(0), Val(1), Val(2), Val(3), Val(4))
'C'est ici que toutes les données sont écrasées par le dernier worker !!!
End If
Loop
m_Accounts.Add(objAccount) 'Ajouter dans la librairie dynamique

Str_Janvier.Close()
Fs_Janvier.Close()

.
..
...

objAccount = New AccountsClassLibrary.Account
objAccount.AccountName = "Décembre"
Dim Fs_Février As New IO.FileStream(Application.StartupPath & "\Save" & worker & "\Décembre.hor1", FileMode.Open)
Dim Str_Décembre As New IO.StreamReader(Fs_Décembre)
Do Until Str_Décembre.Peek = -1
Val = Str_Décembre.ReadLine.Split("|")
If Val(2) = word Then
objAccount.CodeListings.Add(Val(0), Val(1), Val(2), Val(3), Val(4))
End If
Loop
m_Accounts.Add(objAccount)

Str_Février.Close()
Fs_Février.Close()

Me.TabControl.TabPages.Clear()

For Each objAccount In m_Accounts
Dim objTabPage As New TabPage(objAccount.AccountName)
Dim objControl As New AccountsWindowsControlLibrary.UserControlAccounts
objTabPage.Controls.Add(objControl)
Me.TabControl.TabPages.Add(objTabPage)
With objControl
.Dock = DockStyle.Fill
.Account = objAccount
End With
Next

End If
End Sub

naim1970
0
Rejoignez-nous