visual basic 6
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

visual basic 6



  1. #1
    marc.suisse

    visual basic 6


    ------

    Bonsoir Messieurs!!

    Me remettant à l'apprentissage de visual basic 6 , j'avais abandonné la dernière fois , j'ai une petite question sûrement très bête , je lis la chose suivante :


    // La déclaration des variables.

    Comme dans la plupart des languages de programmation, les variables doivent être déclarées. Pour des raisons de facilité, on le fait souvent en début de programme. On appelle cela, la "partie déclarative". Mais au juste, qu'es-ce qu'une variable ?

    Dans une variable, vous pouvez stocker des informations qui seront utilisée dans votre programme. Son contenu est variable ( comme son nom l'indique ), c'est a dire que vous pouvez modifier son contenu à tout moment. Mais il faut déclarer ses variables différemment selon son utilité ! Je m'explique.
    Si vous désirez qu'une variable contiennent des valeurs numériques ( chiffres ou calculs ) vous devrez la déclarer comme INTEGER ( fr : Entier ) ou si vous désirez que votre variable contienne du texte déclarez la comme STRING ( fr : chaîne de caractères ) . Ce ne sont que deux exemples parmi bien d'autres ! Voyons ensemble ci-dessous les différents types de variables et surtout, comment les déclarer.

    REM **déclarer une variable "Entier"**
    DIM variable AS INTEGER

    REM **Les autres types de variables importants**

    DIM variable AS STRING 'chaîne de caractère

    DIM variable AS DOUBLE 'nombre réel + 15 chiffres après la virgule

    DIM variable AS LONG 'nombre entier - valeur maximun de + ou - 2 milliards

    Il dit qu'il faut déclarer les variables en début de programme , mais il appelle quoi au juste le début du programme , car pour moi chaque touche de commande , ou feuilles etc à son propre programmme en double cliquant dessus , pouvez-vous me donner un peu plus de précisions svp??

    Une deuxième question , je sais j'abuse

    Rem **Partie déclarative**
    Dim jour As Integer
    Dim mois As Integer
    Dim annee As Integer

    Private Sub Command1_Click()

    Rem **On récupère les données des champs**
    jour = Text1.Text
    mois = Text2.Text
    annee = Text3.Text

    Rem **On affiche le résultat dans le Label4**
    Label4.Caption = "Nous sommes le " & jour & "/" & mois & "/" & annee

    End Sub

    Ma question est , si quand j'ai déclaré les variables, j'ai mis comme marqué plus haut la ligne suivante :
    Dim mois As Integer , donc en fait cette variable ne doit pas contenir de texte
    , alors pourquoi quand je mets dans la case text2 juin au lieu de 06 , pourquoi me l'accepte t'il??

    Je vous donne le lien d'ou j'ai pris les copiers coller , ce sera peut être plus simple :
    http://www.bugalood.be/zoom_tutorial...b&tuto=premier




    Merci d'avance et meilleures salutations , j'espère ne pas avoir posé des questions trop stupide... ciao , MARC...

    -----

  2. #2
    Jack
    Modérateur

    Re : visual basic 6

    bonsoir,

    pour comprendre tout ça il faut se mettre à la place du programme qui va traduire tes instructions afin de pouvoir les exécuter par ton microprocesseur. En général, ce programme de traduction est un compilateur.

    Parlons des variables: physiquement la déclaration des variables consiste à réserver de la place en mémoire RAM. Chaque type de donnée occupant une place différente, le compilateur a besoin de savoir de quel type est cette variable: un caractère occupera 1 octet, un entier généralement 2 octets, un réel 4 octets ou plus (ça peut changer d'un langage à l'autre et aussi selon les systèmes d'exploitation).

    Voilà donc pourquoi il faut préciser le type de la variable.

    Pourquoi déclarer les variables en début de programme?
    Tout simplement pour faciliter la tâche du compilateur.

    Lorsque celui-ci va traduire ton programme source (écrit en VB6) qui est un fichier texte en un fichier binaire (code machine), il va analyser chaque ligne en partant du début. Lorsqu'il va tomber sur une variable, il faudra qu'il connaisse déjà son type afin de savoir comment traduire l'instruction: une multiplication de 2 réels ne génère pas le même code que celle de 2 entiers.

    A+

  3. #3
    invitec2b87f0b

    Re : visual basic 6

    Bonsoir,

    Pour le cas spécial de Visual Basic, la déclaration de variable n'est pas obligatoire... Il existe un type vachement sympa appelé Variant qui peut contenir n'importe quoi: entier, string ou booléen.

    Dans ton cas, je pense qu'au cours de l'affectation, c'est à dire quand tu associes une variable à une valeur avec '=', l'interpréteur Basic voit que tu veux mettre un string dans un integer. Il doit alors retyper la variable en Variant pour opérer l'affectation sans générer d'erreur.

    En C/C++, quand on définit une variable, tout changement comme celui-ci génère une erreur. Visual Basic corrige de lui même cette erreur, pour le meilleur comme pour le pire!

    @++

  4. #4
    LTHOMAS

    Re : visual basic 6

    salut, moi je déclare toutes les variables tout au début du programme :

    dim ... as ...
    dim ... as ...
    ...

    Private sub ...

    end sub

  5. A voir en vidéo sur Futura
  6. #5
    curieuxdenature

    Re : visual basic 6

    Bonjour marc.suisse

    pour les déclarations de variables, comme il a été dit, ce n'est pas une obligation, mais c'est bien de le faire pour prendre de bonnes habitudes au cas où tu passes un jour à d'autres langages plus exigeant.

    Personnellement je ne déclare que les variables qui sont passées à d'autres modules, ça marche aussi bien.
    Par contre, si tu tiens absolument à ne pas en oublier, il te faut placer la directive
    Option explicit
    en haut de chaque code de feuille, qui générera une erreur pour chaque variable non définie.
    Mais dans ce cas, gare aux étourderies, l'erreur n'apparait que lorsqu'elle est utilisée par le module... ou à la compilation.


    Pour l'autre problème, le fait de déclarer ta variable au format Integer n'empêche pas sa réassignation, c'est seulement sous-entendu que tu dois récuperer une valeur 16 bits. C'est à toi de faire le module de vérification pour gérer l'erreur éventuelle de saisie dans la zone.
    L'electronique, c'est fantastique.

  7. #6
    marc.suisse

    Re : visual basic 6

    Bonsoir Messieurs et merci de vos réponses!!

    Ces derniers temps visual basic 6 fais partie de mes livres de chevet mais c'est un peu difficile à comprendre.

    Pour les variables , j'ai bien compris , par contre, vous dites qu'il faut les déclarer en début de programme , mais vous appelez quoi début du programme , car selon ma logique, une feuille à son propre code , un bouton commande aussi , donc en fait chacun à son propre programme , alors ou mettre ces déclarations de variable??

    J'ai fais une chose , j'ai dessiné deux boutons de commande sur une feuille et j'obtiens le code suivant :


    Private Sub Command1_Click()

    End Sub

    Private Sub Command2_Click()

    End Sub

    Private Sub Form_Load()

    End Sub

    Donc il faudrait mettre la déclaration des variables avant le premier private sub??

    Ensuite , vous parlez encore de la déclaration des variables mais en mettant un dim avant :

    dim ... as ...
    dim ... as ...
    ...

    Mais mon bouquin se contredit , au début il dit que le programme en as besoin et ensuite , il dit que c'est seulement pour le programmeur que c'est utile , alors à quoi sert vraiment le dim??

    Merci d'avance de vos réponses, et surtout dites moi si j'abuse sur les questions!! Meilleures salutations, ciao MARC...

  8. #7
    curieuxdenature

    Re : visual basic 6

    Bonjour marc.suisse

    Pour VB6 les variables que tu déclares en haut de la feuille seront partagées et donc utilisables d'un Sub à l'autre dans une même feuille.

    Le mieux c'est de faire l'essai pour s'en convaincre.

    Si tu as Dim x as integer dans un Sub, x est réservé en mémoire pour le Sub en question seulement.

    Si tu as Private x as integer en haut de la feuille, avant toute Sub, la variable x sera utilisable et passée d'un Sub à l'autre dans cette même feuille.

    Si tu employes Public au lieu de Private, tu peux utiliser la valeur de la variable entre les feuilles d'un même programme.

    Sinon, je ne sais pas quelle difference il y a entre Private et Dim, je n'en ai pas constaté. C'est probablement une question de réservation en mémoire pendant l'execution du programme.

    Mis à part le fait qu'il faut réserver de la place pour une variable qui sera passée d'un sub à l'autre, le fait d'omettre la déclaration de variable par Dim ne change rien d'autre que la rapidité d'exécution. Dans ce cas la variable est allouée dynamiquement, en cours de route.

    C'est pourquoi il semble y avoir contradiction, si tu sais ça, il n'y en a plus...
    L'electronique, c'est fantastique.

Discussions similaires

  1. Visual Basic
    Par invited280a227 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 17/09/2007, 13h45
  2. Visual Basic
    Par invite16ba2b9a dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 09/01/2007, 11h09
  3. Visual Basic
    Par invite47810f95 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 24/10/2006, 15h09
  4. Visual Basic
    Par invite588da7a7 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/07/2004, 14h57
  5. Visual Basic 3-->6
    Par invite8ebda540 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/04/2003, 09h35
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...