Donnerstag, 14. Juli 2011

User-Input in der Endlosschleife

Wie soll die Benutzereingabe behandelt werden, wenn die Eingabe falsch ist?

Cartridge beenden und neu starten lassen, ist auf jeden Fall keine Option.

Einfach wieder den Input aufrufen ist schon besser. Aber wie kommt der Benutzer aus dieser Endlosschleife wieder heraus? Wie kann er die Eingabe abbrechen, um z.B das Cartridge zu speichern, zu einer anderen Zone zu gehen, oder irgendwelche Dialoge mit Personen führen, die ihm weiterhelfen?

Die Lösung ist nicht ganz einfach.


In der hinter den Input geschalteten MessageBox, in der informiert wird, dass die Antwort falsch ist, kann man 2 Buttons definieren. Einen für "Nochmal" und einen für "Hauptmenü".
Im OnClicked Bereich der Message kann abgefragt werden welche Button (Button1, Button2 oder Cancel) gedrückt wurde, wobei der Button Cancel im Simulator nicht angezeigt wurde.

PocketQueries mit 1000 Caches laden

Achtung: Diese Anleitung gilt für GSAK 7.

Wer schon GSAK 8 benutzt, sollte die geocaching.com api benutzen. Wie das funktioniert, werde ich demnächst hier im Blog vorführen.

Seit 1. Mai diesen Jahres können ja bekanntlich PocketQueries bis zu 1000 Caches beinhalten. Der Hacken an der Sache ist nur, dass ab 500 Caches die PQ nicht mehr automatisch per Mail geschickt wird, sondern nur noch zum Download bereit steht.

Da gibst nun Abhilfe:
Mit dem PQDL(PocketQueryDownloader) lassen sich die PocketQueries auf den Rechner herunter laden, die man dann mit dem GSAK-Macro PQLoader in eure Datenbank integrieren lässt.

Doch der Reihe nach.
Laded PQDL herunter, entpackt es in einen Order eurer Wahl, öffnet eine Kommandozeile (Windows-Start, Ausführen, cmd) und wechselt in den Installationordner.
Mit folgendem Kommando könnt ihr den Download optimieren

pqdl -u -p -oc:\tmp\PQs -e -j



Die Parameter im einzelnen:

  • u - eurer Geocaching-Nick bzw Login-Name

  • p - euer Password für den Login

  • o - Wo wollt ihr die PQs abspeichern?

  • e - sorgt für eine kurze Wartezeit zwischen den Downloads

  • j - speichert ein Journal mit den bereits geladenen PQs (damit ihr die beim nächsten Mal nicht nochmal herunter ladet



! Das Regelwerk von Groundspeak kann so ausgelegt werden, dass die Benutzung von PQDL nicht zulässig ist. Also achtet auf den -e Paramerter, der die Pausen zwischen den Downloads einfügt. Außerdem ist die Benutzung auf eigene Gefahr.

Wenn ihr die PQs heruntergeladen habt, könnt ihr sie mit dem PQLoader-Macro in euer GSAK-Datenbank bringen.
Wichtig dabei sind folgende Parameter:



Ihr müsst "Delete PQ Files after load" (linker Kreis) wählen, sowie
danach rechts, "Default Db" anklicken und die Datenbank auswählen, nach der die PQs geladen werden sollen.
Danach solltet ihr auf "Get Mail Configuration" klicken, denn dort müsst ihr unter "Local Folder" noch den Ort angeben wo ihr die PQs gespeichert habt.


Achtung: Euere PQs werden nach erfolgreichem Import gelöscht. Hat den Vorteil, dass ihr beim nächsten Start von PQLoader nur noch die neuen importiert. Wenn ihr sie noch für was anderes braucht (ausdrucken und Klo tapezieren) so kopiert sie euch vorher.

Im oberen Kreis könnt ihr noch den Speicherort für euer MyFinds-Special-PQ angeben.

Für Fragen oder Optimierung stehe ich gerne zur Verfügung. Ich arbeite weiterhin ein einem Macro, dass den Aufruf von pqdl und den Start von PQLoader (im Idealfall mit Parameterübergabe) automatisiert vornimmt. Wenn sich zufällig jn mit RunPgm auskennt, der darf mir gerne helfen. Entgegen der GSAK-Doku wartet es nämlich trotz gesezten Parameter nicht bis PQDL fertig ist.
Sobald ich das Macro fertig hab, werd ich es euch hier zur Verfügung stellen.

Viel Spaß mit euren neuen RiesenPQs

Krolock