• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Urwigo Variable Format abfragen

Team Eifelyeti

Geomaster
Hallo zusammen,

ich hätte da gerne mal ein Problem beim Urwigobuilder ;)

Bei meinem letzten Wherigo habe ich eine Abfrage eingebaut, deren Antwort eine Zahl (numerisch) ist.

Da der Spieler u. U. die Antwort wieder vergessen hatt (Antwort wurde bei einer früheren Station im Text gegeben) habe ich einfach mit ">" und "<" gearbeitet. Die Antwort sei, hypothetisch, 5. Gibt der Spieler eine Zahl kleiner 5 ein, bekommt er die Meldung "etwas höher". Bei EIngabe > 5 die Meldung "etwas niedriger". Bei = 5 "Jippiie, juchhuuu, geschafft"

Die Variable habe ich entsprechend als numeric definiert.

Mein Tester ( :gott: bester Wherigotester wo gibt, nämlich Sohnemann :gott: ] hat natürlich mal "A" als Antwort eingegeben. Dabei ist der Garmin mit einem "unexpected Error" abgekäckt :/

Also habe ich die Variable als "string" definiert und wir haben getestet - alles bestens.

Ja nee, is klar - wir haben den Test nur mit einstelligen Zahlen probiert. Bei mehrstelligen kam es zu dem Phänomen:


499 - etwas höher
500 - etwas niedriger

Also zurück auf los und das Ganze wieder auf numerisch. Wer "so schusselig" ist, bei einer erkennbar numerischen Abfrage Buchstaben einzugeben, hat es nicht anders verdient ;) (dank Speicherung geht es aber nach einem Absturz problemlos weiter.).
Jetzt hat aber ein Cacher einfach auf den "Zurückpfeil" des Garmins gedrückt, also keine Eingabe gemacht und das Dingen ist abgekäckt (leer ist halt ein nicht numerischer Wert :/ )

Gibt es eine Möglichkeit in Urwigo, dies abzufangen? Also:

If ANSWER not numeric - Message "Gib ne Zahl ein"

Leider habe ich im Urwigo nix gefunden.

Vielen Dank
Team Eifelyeti
 

bodenseepingu

Geomaster
Eigentlich bietet doch Urwigo bei Eingaben an:
"Bei Eingaben"
"Bei Fehler"

Damit ist doch eine Fehlerbehandlung da - geht das auf Garmin nicht ?

Bei Texteingaben obwohl es sich um einen numerischen Input handelt sollte doch eigentlich dann die Fehlerbehandlung aufgerufen werden...

Schau dir das mal an, ob du das so gemacht hast..
 
OP
Team Eifelyeti

Team Eifelyeti

Geomaster
bodenseepingu schrieb:
Eigentlich bietet doch Urwigo bei Eingaben an:
"Bei Eingaben"
"Bei Fehler"

Damit ist doch eine Fehlerbehandlung da - geht das auf Garmin nicht ?

Bei Texteingaben obwohl es sich um einen numerischen Input handelt sollte doch eigentlich dann die Fehlerbehandlung aufgerufen werden...

Schau dir das mal an, ob du das so gemacht hast..

Danke für den Tip. Habe gerade die Catridge abgeändert und im Emulator getetstet. Der stürzt aber nicht ab, wenn alphazeichen in numerisches Eingabefeld eingetippt werden. Damit greift dann anscheinend auch "on error" nicht.

Werde mir mal ne kleine Testcatridge für's Garmin schreiben und ausprobieren. Werde dann hier berichten.


Nachrichtlich - gerade einen kleinen Test programmiert. Ergebnis - unexpected Error, close catridge

Also scheint der Garminplayer hier noch einen deutlichen Nachbesserungsbedarf zu haben. Schade.

Dennoch danke für den Tip
 

hihatzz

Geomaster
Vielleicht kannst du dich mit einer User-Function behelfen:

Code:
function compare(val)
    val2Comp = 5
    tmp = tonumber(val)
    if(tmp == nil) then
        print("no number")
        return false
    end

    if(tmp == val2Comp) then
        return true
    end
    if(tmp < val2Comp) then
        print("to less")
    end
    if(tmp > val2Comp) then
        print("to much")
    end
    
    return false
end

Hier noch der entspr. Aufruf dazu:
Code:
print("Enter number")
answer=io.read()
if compare(answer) == true then
    print("Entered value "..answer.." is true")
else
    print("Entered value "..answer.." is false")
end
 
Oben