Parcourir ce sujet:
1 Utilisateur(s) anonymes
| ahmani24 | MsflexGrid & fichier txt |
|
|---|---|---|
|
Newbie
Inscrit:
26/09/2006 10:46 Post(s): 1
![]() |
Bojour a tous,
j ai un fichier texte (txt); qui contient des enregistrement de format : a1 b1 c1 a2 b2 c2 a3 b3 c3 ... et jai developper un programme qui affiche ce ficheir dans la Msflexgrid sous format : cols1 cols2 cols3 a1 b1 c1 a2 b2 c2 a3 b3 c3 le voici Dim ff As Integer Dim i As Integer Dim j As Integer i = MSFlex.Rows MSFlex.Cols = 4 ff = FreeFile Open TonFichier For Input As #ff Do While Not EOF(ff) MSFlex.Rows = i + 1 For j = 0 To 3 If Not EOF(ff) Then Input #ff, a$ MSFlex.TextMatrix(i, j) = a$ Else Exit Do End If Next j i = i + 1 Loop Close #ff est ce qu il ya qq qui peux me dire comment je peux modifier ou supprimer un enregistrement c vraiment tres urgent. Merci d'avance ![]()
Contribution le : 26/09/2006 10:51
|
|
|
||
| Alain | Re: MsflexGrid & fichier txt |
|
|---|---|---|
|
Modérateur principal
![]()
Inscrit:
21/08/2005 19:40 De France
Post(s): 41
![]() |
Dans le meme esprit et dans ce ce tu veux obtenir
je peux te suggérer une autre façon de lire /ecrire/supprimer des données dans un fichier : lecture / ecriture dans fichier en accès aléatoire. Je me sert d'un controle ListView et dans cet exemple je créé et gère une liste de fichiers mp3 1° définir le type dans module .bas Type autre_x 'enregistrement liste objet_chemin As String * 200 objet_info As String * 100 objet_genre As String * 100 objet_Niveau_son As Integer objet_enrg As String * 8 End Type 'vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 2° ouvrir le fichier et ajouter du contenu dans ListView1 Dim MyH2 As autre_x,RecordNumber Dim li As ListItem Dim si As ListSubItem Dim sa As ListSubItem Dim sb As ListSubItem Dim sc As ListSubItem RL = Chr$(13) 'retour ligne RLS = Chr$(10) & Chr$(13) & Chr$(10) & Chr$(13) 'retour + saut de ligne f = FreeFile If ListView1.ListItems.Count > 0 Then MyNB = 1 On Error GoTo fin1 With CommonDialog1 .DialogTitle = "Ouvrir un fichier liste" .InitDir = Chemin_programme .filename = "*.rfm" .Filter = "fichier (*.rfm)|*.rfm" .ShowOpen End With fname = CommonDialog1.filename ' MousePointer = vbArrowHourglass If fname = "" Then fname = "liste.rfm" ' charge les titre ListView1 With ListView1 .ColumnHeaders.Clear .ColumnHeaders.Add , , "Chemin complet du fichier ( liste : " & fname_suprim & " )", 6700 .ColumnHeaders.Add , , "Info / dossier", 2500 .ColumnHeaders.Add , , "Genre", 1300 .ColumnHeaders.Add , , "Volume", 500 .ColumnHeaders.Add , , "Temps piste", 900 End With Open fname For Random As #f Len = Len(MyH2) maxnb = LOF(f) \ Len(MyH2) 'Nb d'enregistrement For RecordNumber = 1 To maxnb Seek #f, RecordNumber ' Définit la position. Get #f, , MyH2 ' Lit les enregistrements et charge dans le controle. Set li = ListView1.ListItems.Add(, , Trim(MyH2.objet_chemin)) ', intIcon) Set si = li.ListSubItems.Add(Text:=Trim(MyH2.objet_info)) Set sa = li.ListSubItems.Add(Text:=Trim(MyH2.objet_genre)) Set sb = li.ListSubItems.Add(Text:=Trim(MyH2.objet_Niveau_son)) Set sc = li.ListSubItems.Add(Text:=Trim(MyH2.objet_enrg)) Next RecordNumber Close #f ' Ferme le fichier. Set li = Nothing Set si = Nothing Set sa = Nothing Set sb = Nothing Set sc = Nothing 'decharge MousePointer = vbDefault Exit Sub fin1: Set li = Nothing Set si = Nothing Set sa = Nothing Set sb = Nothing Set sc = Nothing MousePointer = vbDefault 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 3° sauvegarde le fichier Dim MyH2 As autre_x Dim li As ListItem Dim si As ListSubItem Dim sa As ListSubItem Dim sb As ListSubItem Dim sc As ListSubItem ' Définit le message. RL = Chr$(13) 'retour ligne RLS = Chr$(10) & Chr$(13) & Chr$(10) & Chr$(13) 'retour + saut de ligne f = FreeFile On Error Resume Next If ListView1.ListItems.Count = -1 Then MsgBox "Rien a sauvegarder !", vbExclamation: Exit Sub ChDrive App.Path ChDir App.Path fname = "liste.rfm"'nom par défaut du fichier Kill fname 'je l'efface afin d'avoir la possibilité de le recree 'ListView1.ListItems(1).Selected = True 'demarre 1° index intx = 1 'ListView1.SelectedItem.Index 'défini l'index Open fname For Random As #f Len = Len(MyH2) maxnb = ListView1.ListItems.Count 'Nb d'enregistrement For RecordNumber = 1 To maxnb 'charge dans le controle ListItems les données ListView1.ListItems(intx).Selected = True 'sélectionne le premier index du controle Set li = ListView1.ListItems(intx) 'crée objet principal 1° colonne Set si = li.ListSubItems(1) 'crée objet secondaire 2° colonne If si = "" Then si = "Info_fichier" Set sa = li.ListSubItems(2) 'crée objet secondaire 3° colonne If sa = "" Then sa = "divers" Set sb = li.ListSubItems(3) 'crée objet secondaire 4° colonne If sb = "" Then sb = "0" Set sc = li.ListSubItems(4) 'crée objet secondaire 5° colonne If sc = "" Then sc = RecordNumber 'numéro enregistrement MyH2.objet_chemin = li MyH2.objet_info = si MyH2.objet_genre = sa MyH2.objet_Niveau_son = sb MyH2.objet_enrg = sc ' Écrit l'enregistrement dans le fichier. Put #f, RecordNumber, MyH2 '******************Ecrie******************* intx = intx + 1 'ajoute un enrg Next RecordNumber Close #f ' Ferme le fichier Set li = Nothing Set si = Nothing Set sa = Nothing Set sb = Nothing Set sc = Nothing 'decharge 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 4° ' pour modifier un enregistrement je vais le lire Dim MyURL As autre_x On Error GoTo fin1 Open fname_suprim For Random As #f Len = Len(MyURL) RecordNumber = Var0 'Var0 = (ListView1.SelectedItem.Index) Seek #f, RecordNumber ' Définit la position. Get #f, , MyURL ' Lit l'enregistrement. Var1 = Trim(MyURL.objet_chemin) Var2 = LCase(Trim(MyURL.objet_info)) Var3 = Trim(MyURL.objet_genre) var4 = MyURL.objet_Niveau_son VarX = MyURL.objet_enrg Close #f ' Ferme le fichier. fin: 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 5° 'apres l'avoir lu le modifier j'utilise InputBox mais bon.... dim etc... '-------------- Title = " Modification de l'info " ' Définit le titre. Message = "En cours :" & Var1 & " Enreg. (" & Var0 & ")" Message = Message & RLS & "Info : " & Var2 Message = Message & RL & "Genre : " & Var3 Message = Message & RL & "Volume : " & var4 Default = Var2 A_info = InputBox(Message, Title, Default) If A_info = "" Then A_info = "Info" Title = " Modification du genre " ' Définit le titre. Message = "En cours :" & Var1 & " Enreg. (" & Var0 & ")" Message = Message & RLS & "Info : " & A_info Message = Message & RL & "Genre : " & Var3 Message = Message & RL & "Volume : " & var4 Default = Var3 A_genre = InputBox(Message, Title, Default) If A_genre = "" Then A_genre = "Genre" Title = " Modification du volume " ' Définit le titre. Message = "En cours :" & Var1 & " Enreg. (" & Var0 & ")" Message = Message & RLS & "Info : " & A_info Message = Message & RL & "Genre : " & A_genre Message = Message & RL & "Volume : " & var4 Default = var4 A_volume = InputBox(Message, Title, Default) If A_volume > 0 Then A_volume = 0 ' Ouvre le fichier en accès aléatoire. Open fname For Random As #f Len = Len(MyURL) RecordNumber = Var0 'définir l engeristrement qui va etre modifier ' Écrit l'enregistrement dans le fichier. MyURL.objet_chemin = Var1 MyURL.objet_info = A_info MyURL.objet_genre = A_genre MyURL.objet_Niveau_son = A_volume MyURL.objet_enrg = VarX Put #f, RecordNumber, MyURL 'ecrie dans le fichier Close #f ' Ferme le fichier. 'rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 'supprimer un enregistrement de la liste ListView1.ListItems.Remove (var0)' Var0 = (ListView1.SelectedItem.Index) 'puis goto 3° sauvegarde le fichier 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bonne continuation
Contribution le : 26/09/2006 22:38
Edité par kjame sur 27/9/2006 16:07:16
Edité par Toplogteam sur 27/9/2006 17:02:00 |
|
|
||
| kjame | Re: MsflexGrid & fichier txt |
|
|---|---|---|
|
Webmestre
![]()
Inscrit:
20/08/2005 18:35 De Bordeaux
Post(s): 1803
![]() |
Bonsoir ahmani24,
Si vous avez résolu votre probleme, vous est-il possible d'éditer le message et d'apposer la mention [Résolu] dans le suffixe du sujet ? Cordialement.
Contribution le : 29/09/2006 22:39
|
|
|
||
Vous pouvez débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous pouvez répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous pouvez voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous pouvez poster sans approbation.















