Newsgroup: it.comp.lang.visual-basic
Titolo: Mi controllate questo semplicissimi ciclo please :))

Dunque,
vi spiego subito...stavo provando un ciclo molto stupido ed altre
cosette. Ho creato quindi un form con 2 bottoni, un immagine e un
temporizzatore. Il tutto funziona cosě. All' avvio l' immagine non
viene visualizzata nel form, ma appare solo spingendo il tasto
visualizza, mentre riscompare premendo cancella (cancella e visualizza
sono i due tasti). Fin qui tutto bene, funziona tutto :))
Ho di seguito aggiunto un temporizzatore che ha il compito di far
apparire l' immagine se entro 10 secondi non viene premuto il tasto
visualizza. E anche questo funziona...il problema č che se io
aspettavo i 10 secondi, l' immagine si appariva, ma ogni 10 secondi la
ricariva!!! Allora ho fatto un ciclo, ho detto...imposto una variabile
chiamata ciclo, gli assegno un valore 1 e gli faccio eseguire il
caricamento una volta sola...questo č quello che ho pensato, credevo
fosse quello che ho scritto, ma non č quello che accade :))
Praticamente non č cambiato niente...vi posto il sorgente di quanto ho
scritto cosě vedete bene...
Option Explicit
Dim ciclo As Integer
---------------------------------------------------------------------------------------------------------------
Private Sub Command1_Click()
    Image1.Visible = True
    Image1.Picture = LoadPicture("d:\temp\temp\ag00099_.gif")
End Sub
---------------------------------------------------------------------------------------------------------------
Private Sub Command2_Click()
    Image1.Picture = LoadPicture("")
End Sub
---------------------------------------------------------------------------------------------------------------
Private Sub Form_Load()
End Sub
---------------------------------------------------------------------------------------------------------------
Private Sub Timer1_Timer()
    For ciclo = 1 To 2
        Image1.Visible = True
        Image1.Picture = LoadPicture("d:\temp\temp\ag00099_.gif")
    Next ciclo
End Sub
questo č quello che ho scritto, e quello (malefico!!!!) č il ciclo che
non funge...dov'č che non c' ho preso proprio???

Se ho capito bene cio' che vuoi fare perche' non:
disabiliti il timer sull'evento timer?
ciao
		maxx

--

Private Sub Timer1_Timer()
    if Image1.visible = False then
        Image1.Visible = True
    end if
End Sub
Puoi fare in questo modo.
Ciao Pasquale.

 non funge...dov'č che non c' ho preso proprio???
Non farei quel ciclo ma:
Option Explicit
Private Sub Command1_Click()
  If MostraImmagine(True) = False Then Call Beep
End Sub
Private Sub Command2_Click()
  If MostraImmagine(False) = False Then Call Beep
End Sub
Private Sub Form_Load()
  Let Image1.Visible = False
  Let Command1.Caption = "&Visualizza"
  Let Command2.Caption = "&Cancella"
  With Timer1
    Let .Enabled = False
    Let .Interval = 10000
    Let .Enabled = True
  End With
End Sub
Private Sub Timer1_Timer()
  If MostraImmagine(True) = False Then Call Beep
End Sub
Private Function MostraImmagine(Mostra As Boolean) As Boolean
On Local Error GoTo MostraImmagine_Err
  With Image1
    If Mostra Then
      If .Visible Then
        Debug.Print "Immagine gia' visibile."
      Else
        Let .Picture = LoadPicture("tuaimmagine.gif")
        Let .Visible = True
        Let Timer1.Enabled = False
        Debug.Print "Caricata immagine."
      End If
    Else
      If .Visible Then
        Let .Visible = False
        Let .Picture = LoadPicture("")
        Let Timer1.Enabled = True
        Debug.Print "Cancellata immagine."
      Else
        Debug.Print "Immagine gia' invisibile."
      End If
    End If
  End With
  Let MostraImmagine = True
  Exit Function
MostraImmagine_Err:
End Function
--
Ciao.
Maurizio

E' verooo!!! La cosa + semplice da fare era SOLAMENTE disabilitare il
timer passati i 10 secondi!!! Meno male che questi gg sono vacanze,
almeno mi riprendo un attimo :))