Toon posts:

[VB6] #INF, hoe om te gaan met geen waarde

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een planetarium programma geschreven, te downloaden vanaf:
http://home.planet.nl/~romme102/

Laatst heb ik een leuk bugje gevonden (voor zover een bug leuk kan zijn :) ). In het programma worden de opkomst, doorgang en ondergangs tijden van de planeten berekend. Als je op hoge noordelijke geografische breedtes komt, komen in de winter de planeten niet op of gaan onder. De planeten volgen aan de hemel ongeveer hetzelfde pad als de zon (de ecliptica).

Waarschijnlijk heb je het al geraden, Als je voor de noordpool de berekeningen gaat uitvoeren, dan heb je kans dat er #INF in de variabele (single)komt te staan. Alleen ik weet niet hoe je dit op een fatsoenlijke manier kunt afvangen. Zodat ik in het overzichtje een streepje kan laten zien. Dus ik wil zoiets als dit:

vb6
code:
1
2
3
if var = #INF then
   'verdere code
end if


Ik heb van alles geprobeerd afvangen met Null, Empty, Nothing werkt allemaal niet

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 05:02
je kan het niet als string afhandelen ? Dus dat je var = "#INF" krijgt ?

Verwijderd

Topicstarter
sorted.bits schreef op zaterdag 02 juli 2005 @ 11:06:
je kan het niet als string afhandelen ? Dus dat je var = "#INF" krijgt ?
Stom, stom, dat ik daar niet aan had gedacht, ga het gelijk proberen.
8)7

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
On error goto... en dan een error routine latan afhandelen wat je moet doen?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII schreef op zaterdag 02 juli 2005 @ 11:12:
On error goto... en dan een error routine latan afhandelen wat je moet doen?
Heb ik ook geprobeerd, maar er treed op een hele plek een lastige fout op.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op zaterdag 02 juli 2005 @ 11:15:
[...]

Heb ik ook geprobeerd, maar er treed op een hele plek een lastige fout op.
:?
Visual Basic 6:
1
2
3
4
5
6
7
8
9
10
11
Public Sub DoeIets
   '....
   '...
   On error goto errDinges
   A = B / 0
   '...
   '...
   'Exit Sub
errDinges:
   'Hier je foutafhandeling
End Sub

[ Voor 6% gewijzigd door RobIII op 02-07-2005 11:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

handig is om een error naar een error log bestandje weg te schrijven.

Hier wat code voor een functie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Function LogError(ParamArray varValues()) As Boolean
'
'
'**********************************************************************************************************************************************************
    
    Dim intFile As Integer
    Dim TempString As String
    Dim Fieldvalue As Long
    On Error GoTo hell
    'Open the debug file for appending (adding to the existing entries)
    intFile = FreeFile(0)
    Open ReturnPath(app.path) & "errorlog.txt" For Append As intFile
    
    'Write the message to the next line in the file
    For Fieldvalue = LBound(varValues) To UBound(varValues)
        If Fieldvalue = LBound(varValues) Then
            'TempString = """" & varValues(Fieldvalue) & """"
            TempString = varValues(Fieldvalue)
        Else
            'TempString = TempString & "," & """" & varValues(Fieldvalue) & """"
            TempString = TempString & ", " & varValues(Fieldvalue)
        End If
    Next
    
    Print #intFile, TempString
    
    
    'Close the debug file
    Close #intFile
    
    'WriteCondition = True
    
Exit Function
hell:
    Exit Function
End Function


Hoe aanroepen bijvoorbeeld?
Hier voorbeeld met functie:

code:
1
2
3
4
5
6
7
8
9
10
11
12
code
.
.
.

 Exit Function

ErrorHandler:

    Call LogError(CStr(Now()), "test", Naamvanpcmisschien?, Err.Description, routinenaam, modulenaam)

end function

Verwijderd

Topicstarter
Ik heb het al opgelost, als je het programma insteld op 90 graden noorderbreedte, dan wordt er netjes in het planeten lijstje een streepje getoond.

Ik ben er achter gekomen dat er #IND en #INF waarden zijn. Weet iemand het verschil tussen deze 2?
Pagina: 1