|
| |

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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevDTA 3.0 Pro 
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere Infos
|