Besoin d'aide en VB6

Discussion dans 'Web, design' créé par guslinux, 10 Avril 2007.

Statut de la discussion:
Fermée.
  1. Offline
    guslinux Gamerz'ien
    Bonjour à tous,

    J'ai un projet à faire en VB6 (car le VB.net la prof ne connait pas :beuh:) et la prof n'est pas là avant le mois de Juin :mad: bref, on doit se débrouiller comme d'hab :baille:

    Je vous explique mon projet :
    Lecteur de fil RSS. Un peu comme GMail notifier mais avec un ou plusieurs fils RSS.
    Stockage des paramètres de l'application dans un fichier XML.

    Actuellement j'en suit là :
    - La gestion des params est ok (lecture, enregistrement, modification, effacement et ajout).
    - J'ai un p'tit splash screen qui est en fait la page principale du pogramme et dont l'icone se place dans le systray (à coté de l'heure).

    Là je bloque sur un détail :
    - Je dois placer une boite de dialogue en bas à droite de l'écran (vraiment à la GMail Notifier). Le problème est que j'ai ma barre des taches qui se place au dessu de ma fenetre ... et le book que j'ai sur VB6 ne parle meme pas de ca snif.
    guslinux, 10 Avril 2007
    #1
  2. Offline
    moustic Touriste
    J'ai du faire un truc pareil pour une application qui m'affiche un message d'alerte quand il y a un plantage sur un programme qui tourne sur un serveur (ça me permet d'intervenir avant d'avoir des coup ... de téléphone des utilisateurs mécontents :-D )


    Code:
    'Fonctions
    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
                                                        ByVal hWndInsertAfter As Long, _
                                                        ByVal x As Long, _
                                                        ByVal y As Long, _
                                                        ByVal cx As Long, _
                                                        ByVal cy As Long, _
                                                        ByVal wFlags As Long) As Long
    
    Private Const HWND_TOPMOST = -1
    Private Const HWND_NOTOPMOST = -2
    
    
    '------------------------------------------------------------------------------------------------
    '
    ' Permet de placer la fenêtre au premier plan
    '
    '------------------------------------------------------------------------------------------------
    Private Function PositionForm(ByVal Feuille As Form, Optional PrePlan As Boolean = True) As Long
     
      Dim lgConst As Long
    
      If PrePlan Then
        lgConst = HWND_TOPMOST
      Else
        lgConst = HWND_NOTOPMOST
      End If
      PositionForm = SetWindowPos(Feuille.hwnd, lgConst, _
                      Feuille.Left \ Screen.TwipsPerPixelX, _
                      Feuille.Top \ Screen.TwipsPerPixelY, _
                      Feuille.Width \ Screen.TwipsPerPixelX, _
                      Feuille.Height \ Screen.TwipsPerPixelY, 0)
                      
    End Function
    
    
    'Place au premier plan la fenêtre
    PositionForm TabForms(NbFrmAlerte)
    
    Bon ici TabForms(NbFrmAlerte) c'est parce que j'utilise un tableau de fenêtre pour en avoir plusieurs si j'ai plusieurs messages à afficher, sinon tu passe le nom de ta fenêtre.
    moustic, 10 Avril 2007
    #2
  3. Offline
    guslinux Gamerz'ien
    S-U-P-ER :-D tu es mon sauveur :p

    Bon, maintenant faut aller lire les News RSS et les afficher l'une à la suite de l'autre...
    On fait comment pour travailler avec des Array en VB ?
    guslinux, 10 Avril 2007
    #3
  4. Offline
    moustic Touriste
    Pour les tableaux je te donne l'exemple avec mon tableau de fenêtre FrmAlerte :


    Code:
    
    Public TabForms() As FrmAlerte
    
    
    ReDim Preserve TabForms(NbFrmAlerte)
    
    
    TabForms(1).LabMessage = Msg
    
    

    Tout simple en fait :)


    Maintenant pour lire le flux rss, c'est du XML avec une structure que je ne connais pas mais standardisée donc tu devrais trouver la plus ou moins la même structure sur tous les sites.

    A mon avis tu va devoir utiliser une référence à une dll windows parseur XML > Projet - réferences - (chercher un truc du genre Microsoft XML v4.0)
    moustic, 10 Avril 2007
    #4
  5. Offline
    guslinux Gamerz'ien
    J'ai fini par trouver pour les tableaux :p comment fait-on pour avoir la taille du tableau sans stocker la taille dans une variable ?

    tu ne sais pas comment on fait pour définir un objet ? J'aurais voulu définir un objet "Item" et faire un tableau d'items.

    Mon programme prend forme : http://www.edtnet.be/public/RSS Reader.zip
    (Les deux fichiers sont nécéssaires)

    Bon maintenant faut que je détecte les items qui changent :p
    guslinux, 10 Avril 2007
    #5
  6. Offline
    guslinux Gamerz'ien
    J'ai trouvé comment faire les objets :-D
    guslinux, 10 Avril 2007
    #6
  7. Offline
    moustic Touriste
    Y a une erreur d'execution

    quand on enregistre en laissant les champs vides

    quand on clique sur le "-" pour supprimer le dernier élément de la liste des flux

    hèhè j'suis devenu imbattable pour trouver des bugs dans les applications VB6, j'en ai tellement chier depuis que j'en fait :-D

    sinon UBound(<Mon tableau>) pour la taille
    moustic, 10 Avril 2007
    #7
  8. Offline
    guslinux Gamerz'ien
    tu sais que j'taime toi :p :love:
    guslinux, 10 Avril 2007
    #8
  9. Offline
    guslinux Gamerz'ien
    Un vecteur en VB6 ca existe pas ? J'aime bien les p'tits vecteurs à la Java :p
    guslinux, 10 Avril 2007
    #9
  10. Offline
    SkYlEsS Kawai
    Hé Gus, y a plus moyen d'aller sur "http://devel.edoplan.be/Soft_Gestion/EDT_GMAO_V2/V0/index.php" ... j'voulais jeter un coup d'oeil à un truc moi :-(
    SkYlEsS, 10 Avril 2007
    #10
  11. Offline
    guslinux Gamerz'ien
    J'ai trouvé un code tout fait en GPL pour les vecteurs.

    Mais le problème est que avec mon objet RSSitem ca passe pas :beuh:
    J'ai le message d'erreur suivant : "Object doesn't support this property or method"

    Le code source complet est là bas : http://www.edtnet.be/public/V0.zip
    guslinux, 10 Avril 2007
    #11
Statut de la discussion:
Fermée.