VB: enregistrer et manipuler un tableau
Médéstrac
-
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?
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?
2 réponses
-
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-
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
-
-
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)