Besoin d'aide en VB6

Statut
N'est pas ouverte pour d'autres réponses.

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.
 

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.
 
1er
OP
guslinux

guslinux

Gamerz'ien
S-U-P-ER :-D tu es mon sauveur ^^

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 ?
 

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)
 
1er
OP
guslinux

guslinux

Gamerz'ien
moustic a dit:
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)
J'ai fini par trouver pour les tableaux ^^ 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 ^^
 
1er
OP
guslinux

guslinux

Gamerz'ien
J'ai trouvé comment faire les objets :-D
 

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
 
1er
OP
guslinux

guslinux

Gamerz'ien
moustic a dit:
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
tu sais que j'taime toi ^^ :love:
 
1er
OP
guslinux

guslinux

Gamerz'ien
Un vecteur en VB6 ca existe pas ? J'aime bien les p'tits vecteurs à la Java ^^
 

SkYlEsS

Elite
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 :-(
 
1er
OP
guslinux

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
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut