Kreise überlagern feststellen - Für Variable einen Bereich festlegen

  • Themenstarter Themenstarter gRaf-eny
  • Beginndatum Beginndatum
G

gRaf-eny

Hallo,
Ich möchte gerne wissen wie ich einen Bereich festlegen kann:
TEST = der bereich von 50 bis 500
Wenn ich das weiß, glaube ich, dass ich es hinkriege, dass das Programm merkt wenn sich 2 Kreise die unterschiedlich groß sind überlagern.

Bitte um Hilfe, danke!
 
Hi gRaf-eny,

im Zweifelsfall könntest du dir einfach ein kleines Klassenmodul entwickeln, mit dem du einen solchen Bereich darstellst. So besonders umständlich dürfte das nichtmal werden.
Vielleicht hilft dir ja folgendes Modul (erstellt mit dem Klassenwizard aus VB 6.0 als "Range"):

Code:
Private mvarLowerBound As Long 'local copy
Private mvarHigherBound As Long 'local copy

Public Function IsValueInRange(Value As Long) As Boolean
    If Value > mvarHigherBound Or Value < mvarLowerBound Then
        IsValueInRange = False
    Else
        IsValueInRange = True
    End If
End Function

Public Property Let HigherBound(ByVal vData As Long)
    mvarHigherBound = vData
End Property

Public Property Get HigherBound() As Long
    HigherBound = mvarHigherBound
End Property

Public Property Let LowerBound(ByVal vData As Long)
    mvarLowerBound = vData
End Property

Public Property Get LowerBound() As Long
    LowerBound = mvarLowerBound
End Property

Public Sub SetRange(Low As Long, High As Long)
    Me.LowerBound = Low
    Me.HigherBound = High
End Sub

Ob ein Wert innerhalb des Bereiches liegt, kannst du dann mit folgendem Snippet überprüfen:
Code:
Dim a As New Range
a.SetRange 50, 500

If a.IsValueInRange(400) Then
    MsgBox "in dem bereich"
End If

If a.IsValueInRange(600) Then
    MsgBox "im bereich"
Else
    MsgBox "nicht im bereich"
End If

Ich hoffe, das hilft dir etwas weiter.

Grüße, Dario
 
mhh das sollte eigentlich simpler gehen
zumindestens in basic ging es irgendwie so:
For TEST = 50 to 500 oder so

aber ... ka wie es war und wie es in vb geht.. :(
 
mhh ich glaube ich drück mich falsch aus...

For TEST = 50 To 500
Next

If TEST = 66 Then
MsgBox "JA!"
End If
 
Ich habe 2 Uboote die sich auf einer 2d karte jagen

Wenn u1 jetzt auf u2 schießt und der torpedo = dem image vom boot ist und dann auch noch die höhe stimm + - 5meter - > dann u boot tot :)

der torpedo ist : eine line
das u boot ein: image

*
kommt schon!
Wie mache ich es, dass er mir ne message box macht sobald
line1.x1 - line.y1 über dem image1 liegt?
beide bewegen sich per timer
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück