Utilisation des type et des fichiers en random

Soyez le premier à donner votre avis sur cette source.

Vue 3 621 fois - Téléchargée 238 fois

Description

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 ; )

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

cs_radada
Messages postés
488
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
21 avril 2009
-
Juste une précision. Le nb total d'enreg est stocké dans le premier enregistrement dans le champs adr.nom, d'ou les numéro - 1 et les
If Asc(adr.nom) <> 0 Then
maxEnreg = Val(adr.nom)
Else
maxEnreg = 2
End If
Voila, c pour lataupeben essentiellement [;)]

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.