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 :

[débutant] projet Visual Basic 6


Sujet :

VB 6 et antérieur

  1. #61
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    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
    Public Function deuxieme(List1) As Integer
        Dim max1 As Integer, max2 As Integer, suivant As Integer, i As Integer
        max1 = 0
        max2 = 0
        For i = 0 To UBound(List1)
          suivant = List1(i)
          If suivant >= max1 Then
            max2 = max1
            max1 = suivant
          ElseIf suivant >= max2 Then
            max2 = suivant
        End If
      Next i
      deuxieme = max2
     End Function
    avec un code pour l'interface de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Cmd_second_Click()
    Dim tabsec() As Integer
    Dim n As Integer
    Dim i As Integer
    n = List1.ListCount
    ReDim tabsec(n)
    For i = 0 To n - 1
    tabsec(i) = List1.List(i)
    Next i
    lbl_second.Caption = deuxieme(List1, n)
    End Sub
    me renvoi a une erreur de compilation, nombres d'argument incorrect ou affectation de propriété incorecte en me surligant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Private Sub Cmd_second_Click()
    en jaune et deuxieme en bleu

  2. #62
    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
    1) ton erreur est là (en rouge) :

    lbl_second.Caption = deuxieme(List1, n)

    2) alors, tu travailles finalement avec quoi ?
    Un tableau ? (tu as déjà le code)
    Une listbox ? (et je fais le code pour une listbox, dans ce cas)

    dis...

    edit : je vois que tu mets les éléments de ta listbox dans un tableau ... pourquoi diable ? (c'est inutile)

  3. #63
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    je travaille avec les donnés qui sont mises dans une listbox (List1) ces donnés sont ensuites intégrés a un tableau (tabsec) a ki japplik la fonction é jaffiche le tou dans un label.
    je fais comme ça car j'avance a taton et j'essai de retombé sur mé patte avec des trucs que j'ai déja fait.
    En fait j'ai déja fait quelque heure de VB (appri les bases et quelques aplications trés simple, mais jamais fait de liste et c'est de là que vienne mes plus gros problèmes car je sais pas trop quoi en faire et comment leur apliquer mes fonctions)... Voila j'espere avoir été clair et je m'escuse de t'avoir induit en erreur

  4. #64
    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
    Jere3110,

    tu as déjà une listbox, et elle est déjà elle-même une espèce de tableau !!!

    Voilà comment la traiter directement

    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
    Private Sub Command1_Click()
      MsgBox deuxieme_sans_select_case(List1) ' et rien d'autre ici, s'il te plait !
     'ou si tu préfères dans un label : Label1.Caption = deuxieme_sans_select_case(List1) 
    End Sub
    
    Private Function deuxieme_sans_select_case(maliste As ListBox) As Integer
        Dim max1 As Integer, max2 As Integer, suivant As Integer, i As Integer
        max1 = 0
        max2 = 0
        For i = 0 To maliste.ListCount - 1
          suivant = maliste.List(i)
        If suivant >= max1 Then
          max2 = max1
          max1 = suivant
        ElseIf suivant >= max2 Then
          max2 = suivant
        End If
      Next i
      deuxieme_sans_select_case = max2
     End Function
    il n'y a pas à faire un tableau à partir de ce qui en est déjà un !!!

  5. #65
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    ok ok, donc ça marche

    Plus que le palindrome lol , c'est bientot fini

  6. #66
    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
    Mais tu l'as déjà, ton palindrome, voyons ....

    Il te suffit de transformer (si peu) pour traitement d'une listbox plutôt que d'un tableau ...
    Juste un peu de réflexion... reviens si VRAIMENT tu ne t'en sors pas tout seul !

  7. #67
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Juste un problème de syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function Palindrome(Liste2 As ListBox) As Boolean
    Dim j As Integer
    Dim i As Integer
    Dim n As Integer
    Palindrome = True
    For i = 1 To n \ 2 and j = n To n - (n \ 2)
    If Liste2.List(i) <> Liste2.List(j) Then
    Palindrome = False
    Else
    i = i + 1
    j = j + 1
    End If
    Next
    End Function
    vb m'accepte pas le and, comment présenter l'idée que la boucle for doit faire deux choses à la fois ?

  8. #68
    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
    j'ai pas tout suivi dans ton code... mais pour une boucle For tu n'as pas à incrémenter l'index.. la boucle For s'en charge... ensuite tu peu imbriquer une boucle dans une autre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    For i = 1 to 10
      For j = 1 to 10
     
      ( .... traitement)
     next
    next

  9. #69
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    J'ai suivi ton conseil:
    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
    Public Function Palindrome(Liste2 As ListBox) As Boolean
    Dim j As Integer
    Dim i As Integer
    Dim n As Integer
    Palindrome = True
    For i = 1 To n \ 2
    For j = n To n - (n \ 2)
    If Liste2.List(i) <> Liste2.List(j) Then
    Palindrome = False
    Else
    i = i + 1
    j = j + 1
    End If
    Next
    Next
    End Function
    Ca marche mieux, mais cela m'affiche du Vrai même quand c'est faux

  10. #70
    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
    et...

    aussi et surtout :

    Tu as vraiment l'impression d'avoir suivi mon algo, jere3110 ???... pas moi ...

    bon ...

    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
    Private Sub Command2_Click()
      MsgBox Palindrome(List2)
    End Sub
    
    Public Function Palindrome(maliste As ListBox) As Boolean
      Dim rg As Integer, i As Integer
      rg = maliste.ListCount - 1
      Palindrome = True
      For i = 0 To rg \ 2 ' et attention : ce n'est pas au hasard que j'ai mis \ et non / 
       If maliste.List(i) <> maliste.List(rg - i) Then
          Palindrome = False
          Exit For
        End If
      Next i
    End Function
    L'opérateur \ permet de tirer directement l'entier d'une division (x\y est égal à Int(x/y))

    Edit : et ne change pas une seule virgule à mon code, hein...

  11. #71
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    non j'ai essayer d'adapter le tien avec le mien . Je te remerci ça marche maintenant .
    Mon projet est donc terminé. Je vous remerci (surtout ucfoutu bbil) pour votre patience et pour le temps que vous m'avez accordez.
    je vous souhaite une bonne aprés midi.

  12. #72
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    qui est ce qui lui dit qu'il a oublié de gérer la suppression ou la modification d'un élément ?

  13. #73
    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
    Citation Envoyé par bidou Voir le message
    qui est ce qui lui dit qu'il a oublié de gérer la suppression ou la modification d'un élément ?
    Bien vu, Bidou

    Pourvu qu'il repasse par là ...

    Alors jere3110 ...

    T'as pas fini tout ton exercice, là ...
    Au boulot (il t'en reste peu, mais il t'en reste encore .) ..

  14. #74
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    J'ai vu j'ai vu le message de bidou et je m'y suis mis !!
    Pas de soucis pour déterminer un emplacement, et effacer une valeur à un emplacement donné, par contre le problème commence quand, aprés avoir éffacé une valeur à un emplacement choisi je la remplace par une autre valeur.

    Pour moi, la logique est de d'abord effacer la valeur a un emplacement choisi et ensuite attribuer une nouvelle valeur à cet emplacement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Cmd_modifier_Click()
    List1.RemoveItem (CInt(Txt_modifier1.Text))
    List1.AddItem (Txt_modifier1.Text, Txt_modifier2.Text)
    End Sub
    Le text_modifier1 donne l'emplacement et le text_modifier2 la nouvelle valeur. j'ai chercher sur des cours en lignes qui expliquer comment remplacer en mettant d'abord l'indexation et ensuite la nouvelle valeur dans la paranthèse. là ça marche pas et je suis obliger de jouer les prolongations.

  15. #75
    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
    Rassure-toi (tu vas pouvoir passer ton dimanche tranquille ) :

    Il n'est pas nécessaire de supprimer pour modifier

    Tu peux directement affecter la nouvelle valeur, ainsi (exemple) :

    List1.List(2) = 9

    ou 2 est l'index de l'article et ou 9 est la valeur de remplacement.

  16. #76
    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
    tu peux toujours également, comme tu l'as essayé, insérer un article à l'emplacement de ton choix...

    tu y étais presque (juste une question de syntaxe)

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Command2_Click()
       ou = 3
       valeur = 9
      List1.AddItem valeur, ou
    End Sub
    pas de parenthèses.

  17. #77
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Cette fois si c'est bon alors, ça marche parfaitement

    encore une fois merci beaucoup et le jour ou moi je pourrai apporter mon aide, ça sera avec plaisir

    bien cordialement

  18. #78
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Bonsoir à tous,

    Je cherche a insérer une messagebox dans mon application et elle apparaitrai aprés le clik sur la croi de fermeture. L'application se fermerait ensuite en appuyant sur le ok de la messagebox.
    Cela est-il possible, Et si oui quelle en est la syntaxe ?

    Merci beaucoup d'avance

  19. #79
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Tu prends ton courage a deux mains et tu te lances dans la réécriture de Windows
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  20. #80
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Arf, l'idée m'était venu en me servant de word (par exemple) qui demande toujours avec une messagebox si on veut enregristrer ou autre quand on ferme.

    En tous cas merci pour ta réponse rapide, cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compilation d'un Projet Visual Basic en ligne de commande
    Par Nico+10) dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/03/2007, 09h37
  2. Setup projet visual basic
    Par krugarka dans le forum Installation, Déploiement et Sécurité
    Réponses: 1
    Dernier message: 24/02/2007, 06h12
  3. [VBA-E]Débutant sous Visual Basic
    Par Mpierre dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/06/2006, 14h32
  4. Réponses: 4
    Dernier message: 31/05/2006, 14h44
  5. projet visual basic et publication web
    Par cari dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/12/2005, 07h50

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