Mettre la nouvelle valeur dans un timer!!!!!!!!!!!

magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009 - 14 mars 2009 à 01:48
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009 - 15 mars 2009 à 19:52
salu tou le monde
ce problem pourrai paraitre bizzare,mai je galere avec,voila
j'essai de realiser un program qui
incrémente ou decremente un compteur
et envoi la valeur a un timer pour que cette valeur soi la le temps pour une lampe de rester allumer
le probleme c'est pa de comment realiser le programme .....
le probleme c ke la valeur de compteur reste la mem....,la 1ere foi il l'allume selon le temps donner...apré si je le modifie
il met pa la nouvelle valeur .....mai une autre quelconque...et bien sur je le ve pa!!!!
jespere ke je me sui bien fai expliquer
si quelqu'un pourrai maider
merci

15 réponses

magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
14 mars 2009 à 01:55
voila le programme utilisé
Private Sub Command3_Click()               \\\\\\\\\de  decrementation
If X >= 10 Then
X = X - 10
Label4.Caption = X
Else
X = 0
Label4.Caption = X
End If
End Sub
Private Sub Command4_Click()             \\\\\\\\\\de l'incrementation
If y <= 50 Then
X = X + 10
Label4.Caption = X
Else
X = 60
Label4.Caption = X
End If
End Sub
Private Sub Command5_Click()               
Timer1.Interval = X * 100
Picture3.Visible = True              \\\\\\\\\\\\\\\\lampe rouge allume
Picture4.Visible = False            \\\\\\\\\\lampe noir

End Sub
Private Sub Timer1_Timer()                   \\\\\\\\\\\\\\\\\\timer
Picture3.Visible = False                            \\\\\\\\\\lampe rouge etteinte
Picture4.Visible = True
End Sub
0
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
14 mars 2009 à 02:00
merci
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="ProgId" content="Word.Document" /><meta name="Generator" content="Microsoft Word 11" /><meta name="Originator" content="Microsoft Word 11" /><link rel="File-List" href="file:///C:%5CUsers%5Ctaha%5CAppData%5CLocal%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" /><link rel="Edit-Time-Data" href="file:///C:%5CUsers%5Ctaha%5CAppData%5CLocal%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso" /><!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]--><style><!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
--></style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tableau Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]--><!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:289.5pt;
height:231pt'>
<v:imagedata src="file:///C:\Users\taha\AppData\Local\Temp\msohtml1\01\clip_image001.jpg"
o:title="111"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

                  --------|     ----------   ----------
                             

                  --------      ---------    ---------|
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
14 mars 2009 à 08:10
Bonjour,

1) je ne vois aucune expression conditionnelle dans l'évènement Timer de ton Timer 
2) ton timer fait toujours la même chose !

Je crois qu'il va te falloir te pencher un peu sur :
- ce qu'est un Timer et quel en est le principe !
- ce que sont les propriétés d'un timer (plus particulièrement la propriété Interval)
- ce à quoi sert un évènement (ici l'évènement Timer de ton Timer)

ainsi qu'à l'utilisation d'une variable Static

Rien, dans tout cela, n'est parfaitement exposé dans ton aide en ligne (lis-la donc !)
0
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
14 mars 2009 à 12:20
merci quan meme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
14 mars 2009 à 19:56
A partir de cet exemple tu devrais pouvoir trouver ta solution

Private Sub Command1_Click()
    Timer1.Interval = 100
    Picture3.Visible = True
    Picture4.Visible = False
    Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
    Static n As Long
    n = n + 1
    If n = 10 Then
        Picture3.Visible = Not Picture3.Visible
        Picture4.Visible = Not Picture3.Visible
        n = 0
    End If
End Sub

CNTJC
0
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
15 mars 2009 à 05:23
merci beaucoup pour ta reponse
je vai esseyer avec
a+
0
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
15 mars 2009 à 13:30
salu
j'ai suivi les conseils de jmfo et cnt ,ca etai de grande aide seulemen que le resulta que j'ai eu c'est un clignotement d'une image....
ce que je cherche c'est allumer par un boutoncommand une lampe pendant un temps defini et quand elle eteind c'est fini...apres si je modifi la valeur de temps elle s'allume pendant la nouvelle valeur de temps et d'etein
c'est tou!!!
et je voi toujour pa la solution ,
si quelqu'un peu m'aider SVP
merci
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
15 mars 2009 à 15:18
Ecoute, magicienbalnc,
ton affaire est vraiment trop simple, y compris pour les débutants de chez débutant.... !
Ton Timer possède également une propriété enabled (et son évènement timer n'entre en jeu que lorsque cette propriété est à True et cesse lorsque cette propriété est à False !)
Le reste est trop enfantin...
Prends ta tête entre tes mains et réfléchis donc un peu (pas trop... ce ne sera pas nécessaire !)
Allez ! un peu (très peu ... quasiment rien ...) d'imagination, quoi ...
0
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
15 mars 2009 à 15:31
je sai que c'est la tache est tré simple,et c'est ce que me complique la vie!!!!
en tou ca j'essaierai avec
merci bocou por tes reponses jmf0
0
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
15 mars 2009 à 16:24
Voila une solution toute mâchée

' *** Zone déclarations du module ***
Private X As Long
-------------------------------------------------------------------
' *** Initialisation ***
Private Sub Form_Load()
    Picture3.Visible = False
    Picture4.Visible = True
    X = 10
    Label4.Caption = X / 10 & "  Secondes"
    Timer1.Enabled = False
End Sub

' *** Incrémentation ***
Private Sub Command4_Click()
    If X <= 50 Then
        X = X + 10
    Else
        X = 60
    End If
    Label4.Caption = X / 10 & "  Secondes"
End Sub

' *** Décrémentation ***
Private Sub Command3_Click()
    If X >= 10 Then
        X = X - 10
    Else
        X = 0
    End If
    Label4.Caption = X / 10 & "  Secondes"
End Sub

' *** Démarrage ***
Private Sub Command1_Click()
    If X = 0 Then
        Timer1.Enabled = False
    Else
        Timer1.Interval = X * 100
        Picture3.Visible = True
        Picture4.Visible = False
        Timer1.Enabled = True
    End If
End Sub

Private Sub Timer1_Timer()
    Timer1.Enabled = False
    Picture3.Visible = False
    Picture4.Visible = True
End Sub

CNTJC
0
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
15 mars 2009 à 19:11
oh!!!!!! merci a toi cnt
pour te prendre la tete avec ca!!
je savai pa que cette ecriture existai!!!!! (Label4.Caption = X / 10 & "  Secondes")
aussi que d'ecrire dans la form_ load() m'a echappé
je voi que la route est longue pour apprendre a programmé  me fau encore de l'effort
merci grace a vou tous j'ai decouvert de nouvelle astuce et technique 
a+
0
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
15 mars 2009 à 19:24
Garde l'espoir, moi aussi j'ai démarré petit. La persévérance payera un jour prochain.
Aller bonne continuité.

CNTJC
0
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
15 mars 2009 à 19:26
en faite ca ve dir quoi cette expression
Label4.Caption = X / 10 & "  Secondes"
j'ai pa tro compri
merci
0
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
15 mars 2009 à 19:44
comme tu as pris "100" comme multiplicateur dans :
 **********  Timer1.Interval = X * 100 ***********si X 10 ----> X * 100 10 * 100 = 1000 millisecondes = 1 seconde
donc dans ---> Label4.Caption = X / 10 & "  Secondes"
l'affichage sera en secondes avec --> "   Secondes" collé(concaténé) grâce au caractère -->  &
voila voila c'est tout
Tchao
CNTJC
0
magicienblanc Messages postés 17 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 15 mars 2009
15 mars 2009 à 19:52
ah daccord merci
a++
0
Rejoignez-nous