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 :

Savoir si un tableau de chaine a ete dimensionné ?


Sujet :

VB 6 et antérieur

  1. #21
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Désolé mais pour le nombre de dim, le code cité plus haut (http://www.developpez.net/forums/d41...e/#post2517731)
    est autrement plus propre.
      0  0

  2. #22
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    Ouaip ...
    Tu as mille fois raisons sur ce point-là.
      0  0

  3. #23
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Attends, toi...
    Tu ne savais pas que les vieux ont la peau dure ?


    Je suis très très opiniâtre (pour ne pas dire un sacré têtu ...)

    Je me suis attelé à mettre en oeuvre (pour m'amuser) une démarche ne faisant appel ni à l'Api, ni à la gestion d'erreur.

    Je la mets là (elle est encore toute chaude), non pour des raisons de réelle utilité, mais pour ce qu'elle apporte d'intéressant sur :
    - la manière dont VB dresse ses tableaux en mémoire
    - comment il compte ses "éléments"

    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
    Private Sub Command1_Click()
      Dim toto()
      MsgBox "pas initialisé ====> " & lebound(Not toto, toto, "bornesup", 2)
      MsgBox "pas initialisé ====> " & lebound(Not toto, toto, "borneinf", 1)
      Dim titi(6, 2 To 8, 1 To 15)
      MsgBox lebound(Not titi, titi, "borneinf", 1)
      MsgBox lebound(Not titi, titi, "bornesup", 1)
      MsgBox lebound(Not titi, titi, "borneinf", 2)
      MsgBox lebound(Not titi, titi, "bornesup", 2)
      MsgBox lebound(Not titi, titi, "borneinf", 3)
      MsgBox lebound(Not titi, titi, "bornesup", 3)
    End Sub
     
    Private Function lebound(quoi, qui, borne As String, dimen As Integer) As Integer
      Dim i As Integer, elm, cpt As Integer, nbel As Integer
      If Not quoi Then
        For Each elm In qui
          nbel = nbel + 1
        Next elm
        'MsgBox nbel
        Do
          cpt = cpt + 1
          nbel = nbel \ (UBound(qui, cpt) - LBound(qui, cpt) + 1)
        Loop Until nbel = 1
        If cpt >= dimen Then
          Select Case borne
            Case "bornesup"
              lebound = UBound(qui, dimen)
            Case "borneinf"
              lebound = LBound(qui, dimen)
            End Select
        End If
      End If
    End Function
    Amusant, non ?

    Achtung : les divisions par \ et non par / ne sont pas au hasard...
      0  0

  4. #24
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Aie,

    Pour le fun
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Command1_Click()
      Dim toto()
      MsgBox "pas initialisé ====> " & lebound(Not toto, toto, "bornesup", 2)
      MsgBox "pas initialisé ====> " & lebound(Not toto, toto, "borneinf", 1)
      'Dim titi(6, 2 To 8, 1 To 15)
      Dim titi(6, 0 To 8)
      MsgBox lebound(Not titi, titi, "borneinf", 1)
      MsgBox lebound(Not titi, titi, "bornesup", 1)
      MsgBox lebound(Not titi, titi, "borneinf", 2)
      MsgBox lebound(Not titi, titi, "bornesup", 2)
      MsgBox lebound(Not titi, titi, "borneinf", 3)
      MsgBox lebound(Not titi, titi, "bornesup", 3)
     
    End Sub
    titi(6,8)=titi(6,8,0)
    Suis pas sur
      0  0

Discussions similaires

  1. Réponses: 10
    Dernier message: 31/05/2007, 15h10
  2. [C] tableau de chaines de caractères
    Par kitsune dans le forum C
    Réponses: 18
    Dernier message: 01/04/2006, 18h18
  3. [onclick]savoir l'id du champ qui a ete cliqué
    Par hansaplast dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/03/2006, 12h46
  4. tableau de chaine
    Par florantine dans le forum C++
    Réponses: 1
    Dernier message: 18/01/2006, 15h17
  5. Réponses: 11
    Dernier message: 31/12/2005, 13h00

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