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 :

[VB6] initialisation procédure


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut [VB6] initialisation procédure
    Bonjour, je cherche à créer une procédure qui recevrait comme paramètre le nom de la forme.

    Je vous explique : J'ai créé un SUB INIT_FORME(nom as Form)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub INIT_FORME(nom As Form)
        nom.BackColor = couleur_fond
        nom .Left = Form1.Left + Form1.imgMenuNavi.Width + 80
        nom.Top = Form1.Top + 350
        nom.Show
    End Sub
    Mais lorsque je fais l'appel :Il me met une erreur.
    Quelqu'un aurait-il une idée ? J'ai vu que dans certains programmes on utilise le HDC mais je ne sait comment il fonctionne. Tout ce que je sais c'est qu'il s'agit d'un nombre en LONG qui identifie la forme apparemment.
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 136
    Points : 127
    Points
    127
    Par défaut
    Je trouve bizarre la façon dont tu t'y prend pour programmer. Je vais te donner une autre méthode beaucoup plus simple. Garde ta méthode pour initialiser ta form et appelle là dans l'événement load de ta form. C'est aussi simple que cela. Pourquoi se compliquer la vie quand tout est si simple?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    En fait c'est pour appeller la fonction pour chaque forme que je veux charger. Ainsi je n'ai qu'un module et je ne dois pas réécrire le code dans chaque LOAD des formes.
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et le message d'erreur c'est quoi ?

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 136
    Points : 127
    Points
    127
    Par défaut
    J'ai regardé comment on pourrait résoudre le problème brièvement. Si tu n'es pas un expert de la programmation, un DC peut être difficile à utiliser pour toi, mais le principe ressemble étrangement au C++. Il faut que tu utilises des objets brosses pour la couleur de fond de ton formulaire. Mais, si le temps de développement presse dans ton cas, ne t'attarde pas à ce détail. Tu as juste à faire ce que je t'ai écrit plus haut et à copier coller sur chaque form qui existe dans ton formulaire. Cela va prendre beaucoup moins de temps que de chercher une solution miracle. S'il te reste du temps à la fin, tu pourras essayer d'améliorer cette défaillance.

    Bonne champ...

  6. #6
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    le message d'erreur c'est : erreur n°13 : TYPE INCOMPATIBLE
    Et il s'arrête sur l'appel de la procédure :Form4 étant l'une des feuilles dont je souhaite une paramétrisation via un module.
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    J'ai pas l'impression que Form soit un type reconnu (en tout cas, pas en VBA Excel 2000).

    Dans quel environnement programmes-tu?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    VB6
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  9. #9
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut Re: [VB6] initialisation procédure
    Citation Envoyé par eagleleader
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub INIT_FORME(nom As Form)
        nom.BackColor = couleur_fond
        nom .Left = Form1.Left + Form1.imgMenuNavi.Width + 80
        nom.Top = Form1.Top + 350
        nom.Show
    End Sub
    Mais lorsque je fais l'appel :Il me met une erreur.
    1- Je suppose que l'espace entre "nom" et ".Left" dans la 2° ligne de ta procédure est du à une erreur de copie ?
    2- Si tu testes en interprété, tu dois pouvoir savoir quel est la ligne de ta procédure qui tombe en erreur ? Ou si c'est la ligne d'appel de ta procédure ? Si c'est cela, cela signifierait que Form4 ,'est pas une Form ? Tu peux également appeller ta procédure via la ligne
    INIT_FORME (Me) dans le Form_Load de chacune de tes Form
    3- Dans le cas où l'erreur se situe à l'intérieur de ta procédure : que vaut la constante/variable couleur_fond

    Dans la rubrique "conseil du jour", pense à déclarer ta procédure en Public dans un module.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  10. #10
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    Pour ce qui est de l'initialisation j'ai fini par trouver ce qu'il me fallait : j'ai un peu contourné le problème.

    Maintenant l'espace est bel et bien une erreur de copie.

    Autre problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Select Case Index
            Case 2: ' paramètres
                Dim nom As New Form2
            Case 3: ' voiture
                Dim nom As New Form3
            Case 4: ' agenda
                Dim nom As New Form4
            Case 5: ' memo
                Dim nom As New Form5
            Case 6: ' statistiques
                Dim nom As New Form6
        End Select
    Erreur car déclaration en double. Comment éviter ce problème ? Car j'aimerais n'utiliser que le même mot NOM.
    Voici la suite et donc le pourquoi je veux garder le mot NOM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ''''''''''''''''''''''''''
        ' paramètres de la forme '
        ''''''''''''''''''''''''''
        nom.BackColor = COULEUR_FOND
        nom.Left = Form1.Left + Form1.Frame1.Left + 100
        nom.Top = Form1.Frame1.Top + Form1.Top + 500
        nom.Width = Form1.Frame1.Width - 100
        nom.Height = Form1.Frame1.Height - 225
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  11. #11
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    Je n'ai toujours pas de solutions donc si quelqu'un a une idée pour m'aider cela serait bien gentil.
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je suis dans vba mais je pense que le raisonnement est le même...
    Pourquoi ne pas ne pas établir une collection de tes forms, puis d'écrire un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 to Forms.count
        Forms(i).BackColor = COULEUR_FOND 
        Forms(i).Left = Form1.Left + Form1.Frame1.Left + 100 
        Forms(i).Top = Form1.Frame1.Top + Form1.Top + 500 
        Forms(i).Width = Form1.Frame1.Width - 100 
        Forms(i).Height = Form1.Frame1.Height - 225
    Next i
    Syntaxe non garentie mais donnée pour exemple

    Après, Nom ne posera plus de problème de gestion.

    Sinon, que donnerait

    Forms(Nom).BackColor = ... etc ?

    Une idée comme ça...

    A+

  13. #13
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    Comment faire une collection de mes formes ?
    J'ai essayé d'écrire la propriété : Mais celel-ci n'existe pas. Je suppose que cela est du au fait que je ne fait pas de collection.
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Là, je ne peux pas te répondre, faut demander à un Èspécialiste VB... Mon truc à moi c'est VBA...

    Bonne chance

    A+

  15. #15
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    ok merci.
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

Discussions similaires

  1. VB6 et procédure stockée Oracle
    Par VILPELLET dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 15/10/2007, 15h44
  2. [VB6] Initialiser le syle d'un bouton de commande
    Par fabiofabio dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/06/2006, 18h11
  3. [CR][VB6] Utilisation des procédures stockées
    Par couledoux dans le forum SDK
    Réponses: 3
    Dernier message: 10/03/2005, 14h29
  4. [VB6]Initialiser une variable Static dans un évenement
    Par loverdose dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 20/01/2005, 14h57
  5. [VB6] procédure de vérification d'adresse mail ?
    Par ghohm dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/06/2004, 13h05

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