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

Probleme mit Parser

MeisterEder

Geocacher
Hallo zusammen,

in letzter Zeit hatte ich häufig ein merkwürdiges Problem mit dem Parser, der die Koordinaten verarbeitet.
Folgendes Szenario:
Ich kopiere aus einer Cachebeschreibung die Formel für einen Wegepunkt in das Wolflang-Fenster.
Nach der Berechnung lasse ich die Variable ausgeben (sieht richtig aus) und mache ein goto.
Dann kommt die Fehlermeldung, dass der Wegepunkt in einem falschen Format vorläge. Das stimmt aber nicht.
Kopiere ich die berechnete Koordinate in die direkte Zieleingabe und lasse das parsen, kommt die gleiche Fehlermeldung.
Tippe ich jedoch die Formel 1zu1 ab und lasse sie neu berechnen, kommt zwar die gleiche Koordinate bei raus, das goto funktioniert dann aber.

Scheint so, als ob es Probleme mit Zeichensätzen gäbe, oder!?
Um rauszufinden, ob es an einem bestimmten Zeichen liegt, habe ich in der ursprünglichen Formel alle Sonderzeichen (wie ° usw) nochmal selbst eingetippt aber das hilft nix. Erst wenn ich alles neu eingebe, geht es.

Gibt's da Informationen oder sogar eine Lösung zu?

Viele Grüße,
Thomas
 

MiK

Geoguru
1. Welche Version benutzt Du? Bitte gebt das bei Fehlerberichten immer an!

2. Um welchen Cache handelt es sich, damit ich den Originalstring kopieren kann?

3. Wie sieht die entsprechende Zeile bei Dir im Solver aus? Du musstest ja bestimmt etwas abändern, damit der Solver damit umgehen kann.
 
OP
M

MeisterEder

Geocacher
MiK schrieb:
1. Welche Version benutzt Du? Bitte gebt das bei Fehlerberichten immer an!

Sorry, vergessen. Ich benutze die 1278.
Mir ist gerade aufgefallen, dass das Problem nur auf dem PPC auftritt, auf dem PC funktioniert es.

MiK schrieb:
2. Um welchen Cache handelt es sich, damit ich den Originalstring kopieren kann?

Da das nicht immer aufgetreten ist, weiß ich es leider nur von einem mit Sicherheit: GC15PN1

MiK schrieb:
3. Wie sieht die entsprechende Zeile bei Dir im Solver aus? Du musstest ja bestimmt etwas abändern, damit der Solver damit umgehen kann.

Für gewöhnlich entferne ich die Leerzeichen innerhalb einer Koordinate (bis auf eines zwischen Breite und Länge). Bei diesem speziellen Cache war auch ein Exponent in der Formel, den ich manuell ersetzt habe. Das Ergebnis war (nicht lesen, wer keine Spoiler mag :wink: )
Code:
A=5
B=2
C=3
D=7
Ziel="N50°35." (B*(A+B*C)^B) " E006°57." (B^C*A*D*C-1)
Ziel
goto(Ziel)

Die Fehlermeldung war:
Unzulässige Koordinate:N50°35.242 E6°57.839

Gruß,
Thomas
 

MiK

Geoguru
Funktioniert es, wenn Du es jetzt von hier kopierst und wieder in den Solver einfügst?

Welche Version hast Du auf dem PC laufen? Exe oder Java? Wenn Du Windows benutzt: Kannst Du dann mal das andere testen?
 

MiK

Geoguru
Noch eine Frage:
Hängt es davon ab, auf welchem System Du die Koordinaten in den Solver kopierst oder auf welchem System Du es dann ausführst?
 
OP
M

MeisterEder

Geocacher
MiK schrieb:
Funktioniert es, wenn Du es jetzt von hier kopierst und wieder in den Solver einfügst?

Welche Version hast Du auf dem PC laufen? Exe oder Java? Wenn Du Windows benutzt: Kannst Du dann mal das andere testen?

Von hier kopieren und in den Solver ist leider nicht mehr sinnvoll, weil ich die Zeilen eben abgetippt habe. Ich wollte den Beitrag nicht im Pocket-InternetExplorer schreiben :wink:
D.h. das Problem würde jetzt eh nicht mehr auftreten, weil nur Copy&Paste zu dem Fehler führt.

Die PC-Version läuft. Bisher hatte ich die exe verwendet und jetzt zum Test die Java-Version. Die funktioniert aber auch.

Ach noch was:
Ich habe vorgestern meinen PDA von WM5 auf WM6 upgegradet (hässliches Wort!). Dieser Fehler tritt mit beiden Systemen auf.
Falls das auch von Interesse ist: Ich habe einen MDA Compact 3 bzw P3300 von HTC.

Gruß,
Thomas
 
OP
M

MeisterEder

Geocacher
MiK schrieb:
Noch eine Frage:
Hängt es davon ab, auf welchem System Du die Koordinaten in den Solver kopierst oder auf welchem System Du es dann ausführst?

Interessante Frage!
Wenn ich das Profil mit Formel von dem MDA auf den PC kopiere, erhalte ich auf dem PC bei der Ausführung den gleichen Fehler
Auch wenn ich mir auf dem PC in diesem Profil die Formel neu erstelle, bleibt das Problem erhalten!

Es scheint also an der Cachebeschreibung in dem Profil zu liegen, wenn ich das richtig deute.

Thomas
 

MiK

Geoguru
Schicke mir doch bitte mal per E-Mail die .xml-Datei von dem Problemcache, wie Du sie vom PDA gezogen hast. Also die Version, die auch am PC nicht funktioniert.

E-Mail-Adresse per PN.
 
OP
M

MeisterEder

Geocacher
Ist auf dem Weg.
Übrigens zeigen mit dem Profil alle meine Versionen das Fehlerbild. Das ist also auch mit Java reproduzierbar.
Obwohl ich nichts auffälliges in der XML-Datei entdecken konnte.

Gruß,
Thomas
 

MKW

Geocacher
Es könnte sich um das gleiche Problem handeln, das ich auch schon beobachtete habe. Zwei Leerzeichen vor dem "E", also zwischen dem Nord- und dem Ostwert.
 

MiK

Geoguru
Das Problem ist eher, dass das dort keine Leerzeichen sind, sondern 0A also LineFeed. Seltsamerweise muss ich aber nur eines von den beiden (vor und nach dem Anführungszeichen vor dem E) durch einen normalen Leerschritt ersetzen, damit es funktioniert.
 

MiK

Geoguru
Korrektur: Es ist genau das 0A vor dem E, dass den Parser aus dem Tritt bringt. Die Frage ist noch: Wie kommt es da rein?
 

MiK

Geoguru
Und noch eine Korrektur: Es ist natürlich nicht 0A sondern A0, also ein non-breaking-space. Das mag der Parser anscheinend nicht. Das sollte man wohl einfach vor dem Parsen durch ein 20 ersetzen.
 
OP
M

MeisterEder

Geocacher
MKW schrieb:
Es könnte sich um das gleiche Problem handeln, das ich auch schon beobachtete habe. Zwei Leerzeichen vor dem "E", also zwischen dem Nord- und dem Ostwert.

Stimmt, das scheint etwas damit zu tun zu haben. Ich dachte, dass Leerzeichen außerhalb von Strings ignoriert werden!? Z.B. dachte ich, dass bei folgendem Text
xyz " E007..."
nur das Leerzeichen direkt vor dem E zählt.
Aber ich kann die Koordinate gültig machen, wenn ich genau dieses entferne. Wenn ich das andere wegnehme, passiert gar nix.

Sonderbar ist auch noch, dass ich das nie anders gemacht habe und erst seit kurzem dieses Problem feststelle.

Aber wenn ich weiß, woran es liegt, stehe ich in Zukunft wenigstens nicht mehr hilflos im Wald ;-)

Gruß,
Thomas
 

MKW

Geocacher
Mit einem nbsp kann der Parser wohl umgehen, scheinbar bringen ihn die zwei hintereinander aus dem Tritt.
 

MiK

Geoguru
MiK schrieb:
Und noch eine Korrektur: Es ist natürlich nicht 0A sondern A0, also ein non-breaking-space. Das mag der Parser anscheinend nicht. Das sollte man wohl einfach vor dem Parsen durch ein 20 ersetzen.
Das habe ich jetzt mal so eingebaut (r1284) und es scheint zu funktionieren.
 
Oben