Cette minuscule source assez pourrie (:D:D) et vraiment pas optimisée (c'est juste pour vous dire de ne pas me mettre un 1/10 pour ça lol ;D) fait suite à une demande de ataupeben sur le post forum
http://www.vbfrance.com/forum.v2.aspx?ID=162495. Voila donc le code sur l'utilisation des type (pour définir des structures comme en cpp typedef) et des fichiers en accès Random pour les utiliser. Cet exple est fait avec un mini carnet d'adresse histoire de mettre 4 ou 5 champs ; ))
Source / Exemple :
Public numéro As Integer
Public maxEnreg As Integer
Private Type enreg
nom As String * 25
prenom As String * 25
adresse As String * 200
tel As String * 20
fax As String * 20
End Type
Dim adr As enreg
Private Sub Bt_Click(Index As Integer)
Select Case Index
Case 0
If Text1(0).Text <> nul Then
Ecrit
End If
adr.nom = maxEnreg
Put #1, 1, adr
Close #1
End
Case 1
'Affichage du premier enreg
If Text1(0).Text <> nul Then
Ecrit
Else
maxEnreg = maxEnreg - 1
End If
numéro = 2
Text2.Text = "1"
Lit
Text1(0).SetFocus
Case 2
'Affichage du precedent enreg
If numéro > 2 Then
If Text1(0).Text <> nul Then
Ecrit
Else
maxEnreg = maxEnreg - 1
End If
numéro = numéro - 1
Lit
Text2.Text = Str$(numéro) - 1
Text1(0).SetFocus
Else
Beep
End If
Case 3
'Affichage du suivant enreg
If Text1(0).Text <> nul Then
Ecrit
numéro = numéro + 1
If numéro > maxEnreg Then
maxEnreg = numéro
End If
Lit
Text2.Text = Str$(numéro) - 1
Text1(0).SetFocus
Else
Beep
End If
Case 4
'Affichage du dernier enreg
If Text1(0).Text <> nul Then
Ecrit
Else
maxEnreg = maxEnreg - 1
End If
numéro = maxEnreg
Lit
Text2.Text = Str$(numéro) - 1
Text1(0).SetFocus
End Select
End Sub
Private Sub Form_Load()
Open "Carnet.adr" For Random As #1 Len = Len(adr)
Get #1, 1, adr
If Asc(adr.nom) <> 0 Then
maxEnreg = Val(adr.nom)
Else
maxEnreg = 2
End If
numéro = 2
Lit
Text2.Text = "1"
End Sub
Sub Ecrit()
'écriture de l'enreg "numéro"
adr.nom = Text1(0).Text
adr.prenom = Text1(1).Text
adr.adresse = Text1(2).Text
adr.tel = Text1(3).Text
adr.fax = Text1(4).Text
Put #1, numéro, adr
End Sub
Sub Lit()
'lecture de l'enregistrement "numéro"
Get #1, numéro, adr
Text1(0).Text = adr.nom
Text1(1).Text = adr.prenom
Text1(2).Text = adr.adresse
Text1(3).Text = adr.tel
Text1(4).Text = adr.fax
End Sub
Conclusion :
rien de plus ; )
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.