Buongiorno ragazzi, sono io, quekìlo del progetto per la gestione del trenino elettrico di un amico
Mo è venuta la malsana ideaa di mettere sul mimico della stazione un bel orologio analogico (avete mai visto una stazione senza ???)
Cosi, essendo un programmatore “copia ed incolla”, mi son messo a cercare su internet, ricerca durata poco, dato che ho subito trovato questo.
Provato con un Form ed una Class … funziona che è un piacere.
Ora devo solo fare qualche piccola modifica per adattare il codice dell’orologio al mio progetto:
1) l’orologio deve apparire sul Form2 e non sul Form1
2) l’orologio deve poter essere avviato a qualsivoglia ora e non solo al tempo corrente del PC
3) deve essere possibile impostare una compressione temporale (tanto per accontentare Einstein).
Il codice originale nel form1
Public Class Form1
Public ore As Integer = 0
Public minuti As Integer = 0
Public secondi As Integer = 0
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
clocktimer.Start()
End Sub
Private Sub clockTimer_Tick(sender As Object, e As EventArgs) Handles clocktimer.Tick
secondi = secondi + 1
If (secondi = 60) Then
secondi = 0
minuti = minuti + 1
End If
If (minuti = 60) Then
minuti = 0
ore = ore + 1
End If
If (ore = 12) Then
ore = 0
End If
clock.Refresh()
End Sub
Private clock As ClockPanel
' Every second, refresh the clock
'Private Sub clockTimer_Tick(sender As Object, e As EventArgs) Handles clocktimer.Tick
' End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
clock = New ClockPanel()
clock.Name = "newpanel"
clock.Width = 200
clock.Height = 200
clock.Left = 90
clock.Top = 280
Me.Controls.Add(clock)
'clocktimer.Start()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
ore = Int(hh.Text)
minuti = Int(mm.Text)
secondi = Int(ss.Text)
End Sub
End Class
che nel nio progetto diventa
Private Sub clockset_Click(sender As Object, e As EventArgs) Handles clockset.Click
ore = Int(hh.Text)
minuti = Int(mm.Text)
secondi = Int(ss.Text)
End Sub
odice Form 2
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
clockTimer.Start()
Clock = New ClockPanel()
Clock.Name = "newpanel"
Clock.Width = 165
Clock.Height = 165
Clock.Left = 1700
Clock.Top = 15
Me.Controls.Add(Clock)
End Sub
Private Sub clockTimer_Tick(sender As Object, e As EventArgs) Handles clockTimer.Tick
Form1.secondi = Form1.secondi + 1
If (Form1.secondi = 60) Then
Form1.secondi = 0
Form1.minuti = Form1.minuti + 1
End If
If (Form1.minuti = 60) Then
Form1.minuti = 0
Form1.ore = Form1.ore + 1
End If
If (Form1.ore = 12) Then
Form1.ore = 0
End If
Clock.Refresh()
end sub
end class
Non sto mettere il codice della class1 ,,, fa solo disegni, solo alla prima riga c'è
Public Class ClockPanel : Inherits Panel
ora, mentre con un form solo funziona, con due form mi da i deguenti errori
'Clock' è un tipo classe e non può essere usato come espressione.
'Top' non è un membro di 'Clock'.
'Left non è un membro di 'Clock'.
Height' non è un membro di 'Clock'.
'Width' non è un membro di 'Clock'.
Name non è un membro di 'Clock'.
'Clock' è un tipo classe e non può essere usato come espressione.
Refresh non è un membro di 'Clock'
riferiti alle righe:
Clock = New ClockPanel()
Clock.Name = "newpanel"
Clock.Width = 165
Clock.Height = 165
Clock.Left = 1700
Clock.Top = 15
Me.Controls.Add(Clock)
Clock.Refresh()
Qualche idea ???
Grazie in anticioi dellaiuto