VB: enregistrer et manipuler un tableau

Médéstrac -  
 Médéstrac -
Bonjour

Je débute sous Visual Basic.
L'utilisateur doit pouvoir enregistrer les coordonnées d'un point sous la forme Nom, Abscisse, Ordonnée. (ex: Point1; 5; 6). Pour cela j'ai mis 3 textbox séparées.
Ensuite il doit pouvoir sélectionner deux points dans des listbox qui affichent uniquement le nom, et un label doit renvoyer la distance entre ces deux points.
J'aimerais que les points enregistrés restent en mémoire, pour ne pas avoir à les re-rentrer à chaque fois qu'on lance le logiciel. Par exemple le point (Origine; 0; 0) doit toujours rester.
Quelqu'un sait-il comment je dois m'y prendre?
A voir également:
  • VB: enregistrer et manipuler un tableau
  • Vb - Télécharger - Langages
  • Vb cable - Télécharger - Audio & Musique
  • Vb editor - Télécharger - Langages
  • Vb runtime - Télécharger - Divers Utilitaires
  • Vb express - Télécharger - Langages

2 réponses

Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Par exemple:

Sub EnregistreCoord(ByVal nom As String, ByVal Point1 As Integer, ByVal Point2 As Integer) 
Dim fp As Integer 
Dim Fichier As String 

     fp = Freefile 
     Ficher = "C:\MonDossier\ini\Coord.ini" 

      On Error Resume Next 
      Open Fichier For Append As #fp 
      Print #fp, nom & ", " & Point1 & ", " Point2 
      Close #fp 

      If Err.Number <> 0 Then 
            MsgBox Err.Number & " : " & Err.Description, VbCritical,"ERREUR" 
            Exit Sub 
       Else 
            MsgBox "Les données ont été enregistrées." 
       End If 

End Sub


Ensuite, pour lire par exemple, on stocke les données en mémoire dans une structure

Private Type TabCoord 
    nom As String 
    point1 As Integer 
    point2 As Integer 
End Type 

Public Tcoord() As TabCoord 
Public ind As Long 


Sub lireCoord() 
Dim fp As Integer 
Dim Fichier As String 
Dim str As String 
Dim tTab() 

     fp = FreeFile 
     Ficher = "C:\MonDossier\ini\Coord.ini" 

      On Error Resume Next 
      Open Fichier For Input As #fp 
      While Not EOF(fp) 
        Line Input #fp, str 
          tTab = Split(str, ",") 
          ReDim Preserve Tcoord(ind) 
          Tcoord(ind).nom = tTab(0) 
          Tcoord(ind).point1 = tTab(1) 
          Tcoord(ind).point2 = tTab(2) 
          ind = ind + 1 
        Wend 
        Close #fp 
         
        If Err.Number <> 0 Then 
            MsgBox Err.Number & " : " & Err.Description, VbCritical,"ERREUR 
            Exit Sub 
        Else 
            MsgBox "Les données ont été récupérées" 
        End If 
         

End Sub 


;o)

«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
2
Médéstrac
 
Merci bien de ton aide!
Je rencontre quelques problèmes:
_tout d'abord sur {Open Fichier For Append As #fp }
VB me dit trois erreurs:
'Open' is not declared
Method arguments must be enclosed in parentheses
Comma, ')', or a valid expression continuation expected

_ensuite à quoi servent les # devant fp? J'ai droit à un "expression expected" les concernant.

Merci bien
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Quand tu dis [VB], c'est du VBA sous Excel, Access ? du VB.NET ou simplement du VB6 ?

De manière générale, le plus simple est d'enregistrer tes points dans un fichier texte et de recupérer les données du fichier au lancement de ton appli.

;o)
0
Médéstrac
 
Désolé; je parlais de Visual Basic VB6.
Comment fais-t-on pour enregistrer des points dans un fichier texte et les récupérer ensuite: c'est justement cela ma question!
Merci de t'intéresser à mon problème.
0