|
| |

VB.NET - Fortgeschrittene| Überlauf Fehler !!!!!!! | |  | | Autor: Ernie | | Datum: 08.04.03 11:25 |
| Hallole immer wenn meine Analoguhr auf ne volle Stunde umschaltet bekomme ich folgende Fehlermeldung:
Die Arithmetische Operation hat einen Überlauf verursacht!!!!!
Ich find den Fehler nicht kann mir jemand Helfen ????
Dim WithEvents Timer As New Timer()
Dim gr As Decimal = Math.PI / (59 / 2)
Structure Line
Dim X1, X2, Y1, Y2 As Integer
Sub New(ByVal Xl As Integer, ByVal X2 As Integer, ByVal Y1 As Integer, ByVal Y2 As Integer)
Me.X1 = X1 : Me.X2 = X2 : Me.Y1 = Y1 : Me.Y2 = Y2
End Sub
End Structure
Dim LineS, LineM, LineH As New Line(0, 0, 0, 0)
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer.Interval = 1000
Timer.Enabled = True
Me.ClientSize = New Size(150, 150)
End Sub
Private Sub Timer_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer.Tick
Me.Invalidate()
End Sub
Private Sub Form3_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
Me.ClientSize = New Size(Me.ClientSize.Width, Me.ClientSize.Width)
Me.Invalidate()
End Sub
Private Sub Form3_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
With e.Graphics
Dim rad As Integer = Me.ClientSize.Width / 2
Dim mp As New Point(Me.ClientSize.Width / 2, Me.ClientSize.Height / 2)
Dim n As Date = New Date().Now
Dim time As String = fill(n.Hour, 2, "0") & ":" & fill(n.Minute, 2, "0") & ":" & fill(n.Second, 2, "0")
Dim stime() As String = time.Split(":")
Dim h As Integer = stime(0), m As Integer = stime(1), s As Integer = stime(2)
LineH.X1 = Math.Sin((30 - (h * 5) - (5 / 60 / m)) * gr)
LineH.Y1 = Math.Cos((30 - (h * 5) - (5 / 60 / m)) * gr)
LineH.X2 = Math.Sin((30 - (h * 5) - (5 / 60 / m)) * gr) * (rad / 2)
LineH.Y2 = Math.Cos((30 - (h * 5) - (5 / 60 / m)) * gr) * (rad / 2)
LineM.X1 = Math.Sin((30 - m) * gr)
LineM.Y1 = Math.Cos((30 - m) * gr)
LineM.X2 = Math.Sin((30 - m) * gr) * (rad * (4 / 5))
LineM.Y2 = Math.Cos((30 - m) * gr) * (rad * (4 / 5))
LineS.X1 = Math.Sin((30 - s) * gr)
LineS.Y1 = Math.Cos((30 - s) * gr)
LineS.X2 = Math.Sin((30 - s) * gr) * (rad * (4.5 / 5))
LineS.Y2 = Math.Cos((30 - s) * gr) * (rad * (4.5 / 5))
.DrawLine(New Pen(Color.Black, 1), mp.X + LineS.X1, mp.Y + LineS.Y1, mp.X + LineS.X2, mp.Y + LineS.Y2)
.DrawLine(New Pen(Color.Black, 3), mp.X + LineM.X1, mp.Y + LineM.Y1, mp.X + LineM.X2, mp.Y + LineM.Y2)
.DrawLine(New Pen(Color.Black, 3), mp.X + LineH.X1, mp.Y + LineH.Y1, mp.X + LineH.X2, mp.Y + LineH.Y2)
.DrawEllipse(New Pen(Color.Black), New Rectangle(mp.X - rad, mp.Y - rad, rad * 2, rad * 2))
End With
End Sub
Function fill(ByVal str As String, ByVal no As Integer, ByVal chr As String) As String
If str.Length >= no Then Return str
Dim i As Integer
For i = 1 To no - str.Length
str = chr & str
Next
Return str
End Function
End Class |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevCoolbar 3.0 
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|