IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

carnet d'adresse repertoire


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Inscrit en
    Février 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 1
    Par défaut carnet d'adresse repertoire
    salut à tous, je vouderais faire un carnet d'adresse avec visual basic.

    mon carnet devrais se rapporter sur les élément suivants.

    noms,prènoms,adresse,code postal,téléphone fixe,téléphone portable,email.
    avec les bouton suivant,nouveau,supprimer,modifier,valider ect..
    mais je ne c pas comment commencer,en faite je c pas si je doit faire mon carnet en feuille MDI,ou standart.

    pouvez vous me guidez ou si vous aurriez des exemple s.

    merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur DVP

    C'est bien joli de faire un carnet d'adresse, mais où stockes-tu tes données ?

    Dans une base ?

    Philippe

  3. #3
    Membre émérite
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Par défaut
    Bonjour,

    de Philippe Jochmans
    C'est bien joli de faire un carnet d'adresse, mais où stockes-tu tes données ?
    Tu peux simplement faire une feuille standard.
    Avant de te lancer dans les BDD voici un petit exemple de carnet d'adresse
    ,que tu peux adapter bien sur, où les données sont stockées dans un fichier binaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
     
    Option Explicit
        'il existe 3 paramètres:Nomfic,Paramfic,ParamVar
        'le maximum de chaque champ est de 99 octets
        'la longueur totale maximum de l'enregistrement est limité à 999 octets
        '4 sortes différentes de variables:integer-single-currency-string
        'on peut toujours ajouter une cinquième
     
    '1.nom du fichier
    'Nomfic  = nom du fichier a ouvrir
     
    '2.paramètre fichier texte,la 3e position est le lettre du disque
    '7e et 8e position '01 indique le n° de la mémoire tampon ( buffer)
    'Paramfic = "I0C00001" I pour ouvrir en input
    'Paramfic = "O0C00001" O pour ouvrir en output
    'Paramfic = "A0C00001" O pour ouvrir en Append
     
    '2.paramètre fichier binaire,la 3e position est le lettre du disque
    '7e et 8e position '01 indique le n° du buffer
    'Paramfic = "D0C000011050230200715060"
    'D ouvre en binaire
    '9e pos. indique le nombre d'enregistrements de champs différents
    'au cas ou on aurait un enreg.de type 1 et de type 2
    '10e et 11e pos. 06 indique le nombre de champs.
    '12e et 13e pos. 01 le nombre d'octets du premier champ,et ainsi de suite:
    '02  deux octets pour une variable integer
    '30 octets pour une variable chaine (string)
    '20  idem
    '07  idem
    '15  idem
     
    'les 3 dernières pos. 050 le nombre d'octets total d'un enregistrement
    'peut être plus grand que la somme des champs,au cas où plus tard
    'on voudrait mettre 1 champ supplémentaire
     
    '3.paramètre indiquant le type de variable
    'ParamVar =nombre et  type de variable
     'champ 1 013/ -01 1 zone chaîne de caractères (code 3)
     '        010/ -01 1 zone integer (code 0)
     '        011/ -01 1 zone single  (code 1)
     '        012/ -01 1 zone currency (code 2)
     'dernière zone:1 position indique le nombre d'enregistrements de champs
     'de type différent
     
     
    Private Sub Form_Load()
     
        Dim chemin As String
        Dim Nomfic As String
        Dim Paramfic As String
        Dim ParamVar As String
        Dim Lecteur As String
        Dim Nenreg As Integer
        Dim iv1 As Integer, iv2 As Integer
        Dim Nchampstr(20) As String
        Dim Nchampint(20) As Integer
        Dim Nchampsin(20) As Single
        Dim Nchampcur(20) As Currency
        Dim Chtype(5) As String
     
        'exemple d 'écriture,puis de lecture dans un fichier binaire
     
        Nomfic = "Carnetadres"
        Paramfic = "D0C0000120915151515151515151509022525300820151525180"
        Chtype(1) = "0931"
        '******  9 champs 'string
        Chtype(2) = "0100832"
        '****** 1 champ 'integer et 8 champs 'string
        '******* D ouverture en binaire
        '******* 0 :réserve
        '******* C :lecteur C
        '******* 000 :réserve
        '******* 01 :n° mémoire tampon(buffer)
        '******* 2 : 2 types d'enregistrements
        '       09:     1. 9 champs de 15 octets
        '       09 :    2. 9 champs - 02 : 2 octets - 25 : 25 octets
        '                  25: 25 octets - 30 : 30 octets - 08 : 8 octets -
        '                  20: 20 octetts - 15 :15 octets - 15:15 octets -25: 25 octets
        '******* 180 : 180 octets longueur d'un enregistrement comprenant les 9 champs.
     
     
     
        Lecteur = Mid(Paramfic, 3, 1) 'disque 'C
        chemin = "\Cor\"
        'procédure pour ouvrir le fichier
        ouvrefic Nomfic, Paramfic, Lecteur, chemin
       'noms,prènoms,adresse,code postal,téléphone fixe,téléphone portable,email.
        Nenreg = 1 'ecriture du 1er enregistrement
        ParamVar = Chtype(1)
        Nchampstr(1) = "N° carnet"   '02
        Nchampstr(2) = "Nom"         '25
        Nchampstr(3) = "Prénom"      '25
        Nchampstr(4) = "Adresse"     '30
        Nchampstr(5) = "Cod.pos"     '08
        Nchampstr(6) = "Ville"       '20
        Nchampstr(7) = "Télé.fixe"   '15
        Nchampstr(8) = "Télé.mobile" '15
        Nchampstr(9) = "mail"        '25
        '                      ----------
        'total                       165+ 15(réserve)=180
        ecribinaire Nchampstr(), Nchampint(), Nchampsin(), Nchampcur(), _
               Paramfic, ParamVar, Nenreg
        ParamVar = Chtype(2)
        'variables contenant la valeur des champs
        Nenreg = 2
        Nchampint(1) = 1                   'num.enreg.
        Nchampstr(1) = "TARTEMPION  " 'nom
        Nchampstr(2) = "Emile"              'prénom
        Nchampstr(3) = "rue des Arts"        'adresse
        Nchampstr(4) = "1000"              'cod.pos
        Nchampstr(5) = "Bruxelles"         'ville
        Nchampstr(6) = "11111111111"
        Nchampstr(7) = "2222222222"
        Nchampstr(8) = "tartem@telecom"
     
        'procédure pour écrire dans le fichier binaire
        ecribinaire Nchampstr(), Nchampint(), Nchampsin(), Nchampcur(), _
               Paramfic, ParamVar, Nenreg
     
      'relire les enregistrements
      '--------------------------
     
      For iv2 = 1 To 2
           'réinitialiser les variables
           For iv1 = 1 To 9
             Nchampstr(iv1) = ""
             Nchampint(iv1) = 0
           Next
           'pour montrer que l'on va bien relire les valeurs dans le fichier
           'procédure pour lire dans un fichier binaire
           Nenreg = iv2
           ParamVar = Chtype(iv2)
           libinaire Nchampstr(), Nchampint(), Nchampsin(), Nchampcur(), _
             Paramfic, ParamVar, Nenreg
     
           'valeurs lues dans le fichier
           MsgBox Nchampint(1) & "  " & Nchampstr(1) & " " & Nchampstr(2) & " " & _
               Nchampstr(3) & " " & Nchampstr(4) & Nchampstr(5) & Nchampstr(6) _
               & Nchampstr(7) & Nchampstr(8) & Nchampstr(9)
       Next
       Close Val(Mid(Paramfic, 7, 2))
     
    End Sub
     
      Sub ouvrefic(StrNfic As String, Strparam As String, _
                   StrDisque As String, StrPath As String)
     
       Dim StrOuvrir As String
       Dim Nbuffer As Integer
       'ouvrir un fichier
     
          Nbuffer = Val(Mid$(Strparam, 7, 2))
     
          StrOuvrir = StrDisque & ":" & StrPath & StrNfic
     
          If Left$(Strparam, 1) = "I" Then
                    Open StrOuvrir For Input As Nbuffer
                ElseIf Left$(Strparam, 1) = "O" Then
                    Open StrOuvrir For Output As Nbuffer
                ElseIf Left$(Strparam, 1) = "A" Then
                    Open StrOuvrir For Append As Nbuffer
                ElseIf Left$(Strparam, 1) <> "D" Then
                     MsgBox ("ER-paramètre")
                     Close: End
                                 Else
                    Open StrOuvrir For Binary As Nbuffer
     
          End If
     
     End Sub
     Sub libinaire(Tabl() As String, Tint() As Integer, Tsim() As Single, _
              Tcur() As Currency, Paramfic As String, _
              ParamVar As String, Nenreg As Integer)
     
          'lecture d'un fichier binaire Nenreg=n° de l'enregistrement
     
        Dim NCHAM$(8)
        Dim LG, rtn As Integer
        Dim N1%, N2%, N3%, N4%, jj2%, enrg%, ii2%, II1%, II3%
        Dim it%, zn1%, vari%, iu%, ii6%
        Dim ii4%
        Dim JJ1 As Integer
        Dim Numint As Integer
        Dim Numsim As Single
        Dim Numcur As Currency
        Dim Caract As String
        Dim calc, pos As Long
     
        N1% = 0: N2% = 0: N3% = 0: N4% = 0
        Call champ(Paramfic, NCHAM$())
     
        JJ1 = Val(Mid$(Paramfic, 7, 2))
        LG = Val(Right$(Paramfic, 3))
        rtn = Nenreg - 1
        pos = rtn * LG
        jj2% = Right$(ParamVar, 1)
        enrg% = Val(Left$(NCHAM$(jj2%), 2))
        calc = 1 + pos: ii2% = 1: II1% = 1: II3% = 0
     
        Do
          For it% = 1 To Len(ParamVar) - 3 Step 3
              zn1% = Val(Mid$(ParamVar, it%, 2))
              vari% = Val(Mid$(ParamVar, it% + 2, 1))
              For iu% = 1 To zn1%
     
                 Select Case vari% + 1
     
                    Case 1
                        GoSub lival       ' lire num int  2 octets
                        Get #JJ1, calc, Numint
                        N1% = N1% + 1
                        Tint(N1%) = CInt(Numint)
                        II1% = II1% + ii6%
     
                    Case 2
                        GoSub lival       ' lire num simple 4 octets
                        Get #JJ1, calc, Numsim
                        N2% = N2% + 1
                        Tsim(N2%) = CSng(Numsim)
                        II1% = II1% + ii6%
     
                    Case 3
                        GoSub lival       ' lire num currency 8 octets
                        Get #JJ1, calc, Numcur
                        N3% = N3% + 1
                        Tcur(N3%) = CCur(Numcur)
                        II1% = II1% + ii6%
     
                    Case 4
                        GoSub lival       ' lire une chaîne de caractères 1 à ... octets
                        Caract = String(ii6%, " ")
                        Get #JJ1, calc, Caract
                        N4% = N4% + 1
                        Tabl(N4%) = Caract
                        II1% = II1% + ii6%
     
                 End Select
     
              Next iu%
          Next it%
        Loop Until II3% = enrg%
        Exit Sub
     
    lival:
            calc = calc + ii6%
            II3% = II3% + 1
            ii4% = ii2% + (II3% * 2)
            ii6% = Val(Mid$(NCHAM$(jj2%), ii4%, 2))
            Return
     
    End Sub
    Sub ecribinaire(Tabl() As String, Tint() As Integer, Tsim() As Single, _
               Tcur() As Currency, Paramfic As String, _
               ParamVar As String, Nenreg As Integer)
     
         'écriture d'un fichier binaire Nenreg=adresse de l'enregistrement
     
        Dim NCHAM$(8)
        Dim LG, rtn As Integer
        Dim N1%, N2%, N3%, N4%, jj2%, enrg%, ii2%, II1%, II3%
        Dim it%, zn1%, vari%, iu%, ii6%
        Dim ii4%
        Dim JJ1 As Integer
        Dim Numint As Integer
        Dim Numsim As Single
        Dim Numcur As Currency
        Dim Caract As String
        Dim calc, pos As Long
     
     
        N1% = 0: N2% = 0: N3% = 0: N4% = 0
        Call champ(Paramfic, NCHAM$())
        JJ1 = Val(Mid$(Paramfic, 7, 2))
        LG = Val(Right$(Paramfic, 3))
        rtn = Nenreg - 1
        pos = rtn * LG
        jj2% = Right$(ParamVar, 1)
        enrg% = Val(Left$(NCHAM$(jj2%), 2))
     
        calc = 1 + pos: ii2% = 1: II1% = 1: II3% = 0
     
            For it% = 1 To Len(ParamVar) - 3 Step 3
                zn1% = Val(Mid$(ParamVar, it%, 2))
                vari% = Val(Mid$(ParamVar, it% + 2, 1))
                For iu% = 1 To zn1%
                    Select Case vari% + 1
                        Case 1
                            GoSub ecrivulo       ' écrire num int
                            N1% = N1% + 1
                            Numint = Tint(N1%)
                            Put #JJ1, calc, Numint
                            II1% = II1% + ii6%
     
                        Case 2
                            GoSub ecrivulo       ' écrire num simple
                            N2% = N2% + 1
                            Numsim = Tsim(N2%)
                            Put #JJ1, calc, Numsim
                            II1% = II1% + ii6%
     
                        Case 3
                            GoSub ecrivulo       ' écrire num currency
                            N3% = N3% + 1
                            Numcur = Tcur(N3%)
                            Put #JJ1, calc, Numcur
                            II1% = II1% + ii6%
     
                        Case 4
                            GoSub ecrivulo       ' écrire un string
                            N4% = N4% + 1
                            Tabl(N4%) = Tabl(N4%) + Space$(ii6%)
                            Tabl(N4%) = Left$(Tabl(N4%), ii6%)
                            Caract = Tabl(N4%)
                            Put #JJ1, calc, Caract
                            II1% = II1% + ii6%
     
                    End Select
     
                Next iu%
            Next it%
     
            Exit Sub
     
    ecrivulo:
            calc = calc + ii6%
            II3% = II3% + 1
            ii4% = ii2% + (II3% * 2)
            ii6% = Val(Mid(NCHAM$(jj2%), ii4%, 2))
            Return
    End Sub
    Sub champ(Paramfic As String, NCHAM$())
     
            Dim ii2%, II3%, D%, II7%, II1%
            Dim II5, lgu, cha As Integer
     
            II5 = Val(Mid$(Paramfic, 7, 2)) 'n buffer
            lgu = Val(Mid$(Paramfic, 9, 1))
            ii2% = 0: II3% = 0: D% = 2
            II7% = 10 + ii2% + (II3% * 2)
            For II1% = 1 To lgu
              cha = Val(Mid$(Paramfic, 10 + ii2%, 2))
              II3% = cha + 1
              D% = D% + cha * 2
              NCHAM$(II1%) = Mid$(Paramfic, II7%, D%)
              II7% = 10 + ii2% + (II3% * 2)
              ii2% = ii2% + (II3% * 2)
              D% = 2
            Next II1%
     
    End Sub
    Salut et A+

Discussions similaires

  1. Réponses: 7
    Dernier message: 06/11/2005, 11h00
  2. Server 2003 et partage de carnet d'adresse
    Par Yepazix dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 23/10/2005, 23h47
  3. Carnet d'adresses d'Outlook
    Par vciofolo dans le forum Access
    Réponses: 2
    Dernier message: 14/10/2005, 12h34
  4. Récupérer le carnet d'adresses de Outlook
    Par pc75 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/02/2005, 13h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo