Page de presentation [Résolu]

Signaler
Messages postés
103
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
21 juin 2007
-
Messages postés
103
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
21 juin 2007
-
Bonjour a tous,


J'aimerais faire une page de présentation pour un programme où ma form serait l'image de présentation avec un timer pour qu'elle ne s'affiche que 5 secondes.

Mon autre souhait serait de placer un autre timer sur cette form et de faire défiler plusieurs image pendant ces 5 secondes grace a la commande "LoadPicture(App.Path + "mon image.jpg")"

le souci est que mon code ne doit pas etre optimal car cela ne fonctionne pas.
Quelqu'un aurait une idée?

merci bien

9 réponses

Messages postés
256
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
6 novembre 2009
1
Une solution possible (ou approchant)(après tu pourrais mettre ta liste d'image dans une ImageList, un tableau, une ressource...) :
Option Explicit
Private Sub Form_Load()
Timer1.Interval = 1 000
End Sub


Private Sub Timer1_Timer()
<strike>'Timer1.Tag = 0</strike>
static  Incremente as integer 'en static la valeur est conservée
incremente=incremente+1
select case incremente
<strike>'Timer1.Tag = Timer1.Tag + 1</strike>
   case =1
      image.Picture = LoadPicture(App.Path + "\avion3.jpg")
   case=2
      image.Picture = LoadPicture(App.Path + "\avion2.jpg")
   case=3
      image.Picture = LoadPicture(App.Path + "\avion.jpg")
   case=4
      image.Picture = LoadPicture(App.Path + "\avion4.jpg")
   case else
      Unload Me
end select
End Sub

Jcbé[^]
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,
J'ai testé en remettant ton code. en fait le problème vient du nom de ton control Image.

Si Tu le renomme en Im par exemple ceci devrait mieux fonctionner

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut
Tiens essaie ceci en l'adaptant
Option Explicit 

Private Sub Form_Load() 
'Un timer d'une seconde
Timer1.Interval =  1000 
Timer1.Enabled = True 
End Sub 

Private Sub Timer1_Timer() 
Static NumSecondes As Integer 
    NumSecondes = NumSecondes + 1 
    If NumSecondes = 6 Then 
        Timer1.Enabled = False 
        Call Unload(Me) 
    Else 
        Me.Picture =  LoadPicture ("C:" & NumSecondes & ".jpg") 
    End If 
End Sub 

@+: =89254 Ju£i?n
Pensez: Réponse acceptée,
Messages postés
256
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
6 novembre 2009
1
Bonjour,
Un timer a une propriété "Interval" en millisecondes
....et un evenement Ontimer....
- tu mets 6000 à l'intervalle
...et tu mets le code de ta fermeture de form sur cet evenement.

Les secondes c'est l'objet timer qui les compte !!

Salutations.

Jcbé[^]
Messages postés
103
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
21 juin 2007

merci pour vos réponses messieurs mais pour etre sur que vous ayez compris ma demande, je vous transmet un bout de mon code que je viens de réaliser:


Option Explicit
Private Sub Form_Load()
Timer1.Interval = 5000
End Sub


Private Sub Timer1_Timer()
Timer1.Tag = 0
Dim Incremente
For Incremente = 0 To 5
Timer1.Tag = Timer1.Tag + 1If Timer1.Tag 1 Then image.Picture LoadPicture(App.Path + "\avion3.jpg")If Timer1.Tag 2 Then image.Picture LoadPicture(App.Path + "\avion2.jpg")If Timer1.Tag 3 Then image.Picture LoadPicture(App.Path + "\avion.jpg")If Timer1.Tag 4 Then image.Picture LoadPicture(App.Path + "\avion4.jpg")
If Timer1.Tag = 5 Then Unload Me
Next
End Sub

merci bien pour ton code Jrivet, mais je ne suis pas sur qu'il convienne pour ce que je veux executer...


avec le code présent cela me dit que cette fonction ne gère pas cette methode!


je suis un peu perdu la
Messages postés
103
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
21 juin 2007

bonjour,  desole pour le retard mais le taf oblige...TMONOD j'ai essaye ton code mais rien y fait, il me rejette toujours avec la phrase "cette fonction ne gère pas cette methode" ...voila de plus quand je tape ton code apparait:-----

Option Explicit
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub


Private Sub Timer1_Timer()
Static Incremente As Integer  'en static la valeur est conservée
Incremente = Incremente + 1
Select Case Incremente
   Case Is = 1          'POURQUOI "Is" apparait?---------------ceci
      image.Picture = LoadPicture(App.Path + "\avion2.jpg")
   Case Is = 2
      image.Picture = LoadPicture(App.Path + "\avion3.jpg")
   Case Is = 3
      image.Picture = LoadPicture(App.Path + "\avion.jpg")
   Case Is = 4
      image.Picture = LoadPicture(App.Path + "\avion4.jpg")
   Case Else
      Unload Me
End Select
End Sub

j'ai beau l'effacer , ca revient tout le temps!


quelq'un aurait une solution svp?
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut, le IS apparait seul si tu met Case = 1 , c'est normal.
Si tu ne veut pas qu il apparaisse met Case 1

Il serait utile de savoir quelle ligne te donne le message d'erreur
Pour ton problème etant a cours d'idée je peux te propose d'envoye le code: epsylon9@gmail.com

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
103
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
21 juin 2007

Tout d'abord, merci a tous ceux qui prenne en compte mon probleme en particulier Jrivet pour ton temps precieux.


mon erreur se situ a la ligne "LoadPicture" de case 1...


apparement dès le premier passage timer, ce code bug.De plus aucune image n'est chargeée.

la commande "LoadPicture" fonctionnerait elle qu'avec des ".bmp"?


 
Messages postés
103
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
21 juin 2007

merci beaucoup jrivet c'est nikel comme ca...