Spring naar bijdragen

GSAK en OziCE


Mr.Chaos
 Share

Aanbevolen berichten

Met een beetje knip-, plak- en jatwerk heb ik een leuke macro voor GSAK gemaakt voor de mensen die OziCE gebruiken op de PDA. Hiermee wordt het mogelijk om bij een waypoint 'open attachment' te kiezen en zo gelijk de bijbehorende cachebeschrijving te openen (als HTML-file). Als je het WP eventjes wat korter aanraakt ('tap') wordt de hint weergegeven, en verder heb ik nog wat leuke features aan de waypoints gehangen, zoals een geluidje en een plaatje als je in de buurt van het WP komt. Natuurlijk hebben de waypoints bij de verschillende cachetypes elk hun eigen kleur.

 

In ieder geval geen geknoei meer met extra programma's als GPX-sonar (Dat is namelijk zooooooo traaaaaag.....)!! Je moet wel een cardreader hebben aan je PC waar je geheugenkaartje inpast!

 

Download de file gsakozice.zip met alle bestanden die je nodig hebt. Deze bestanden zitten erin:

  1. macro.txt --> de macro voor GSAK
  2. copy.cmd --> deze batchfile wordt door de macro gebruikt om alle bestanden uiteindelijk te kopieren naar de geheugenkaart
  3. 10 verschillende bmp afbeeldingen. Deze afbeeldingen laat OziCE zien als je een WP tot op 25 meter bent genaderd

Zo krijg je het allemaal aan de praat:

  1. Zet de macro en het copy.cmd-bestand in de map 'macros' in je GSAK directory (C:\program files\GSAK\Macros\)
  2. Kopieer de 10 bmp-files naar de map 'psymbols' op je PDA, deze staat als het goed is ergens in de Oziexplorer map
  3. Maak 2 aparte mappen aan op de PC, de eerste waar het wpt-bestand wordt geplaatst om te gebruiken op de pc (je kan ook een bestaande map gebruiken), de ander waar de bestanden tijdelijk inkomen die later naar de PDA worden gekopieerd. De volledige inhoud van deze laatste map wordt straks naar de geheugenkaart gekopieerd, maak hiervoor dus een nieuwe lege map aan! (vermijd mapnamen met spaties erin, via via heb ik vernomen dat dit niet helemaal lekker werkt, ik heb nog geen tijd gehad om het zelf te testen)
  4. Specificeer bovenin de macro-file de bestandslokaties die je zojuist hebt aangemaakt
  5. Geef hier ook de paden die je nodig hebt om de bestanden te kunnen kopieren naar je geheugenkaart (bij mij is de geheugenkaart in Windows bereikbaar onder k:\)
  6. Ga in GSAK naar 'export --> HTML' en specificeer hier de tijdelijke map die je hebt gemaakt in stap 3. Stel de rest in zoals je zelf wilt, en sla deze settings op onder de naam "HTML"
  7. That's it! Maak nu een selectie van de WP's in GSAK die je wilt exporteren
  8. Run de macro
  9. Wachten... Klaar!
  10. Stop je geheugenkaartje in de PDA en open je wpt-file
  11. Tap nu op een waypoint en kies 'open file attachment'. Als het goed is opent nu de bijbehorende cachebeschrijving, als het niet werkt, ga verder bij stap 1...

Veel plezier ermee!

bewerkt door Mr.Chaos
Link naar opmerking
Deel via andere websites

Net uitgeprobeerd, en het werk vlekkeloos.

Wat zo vanzelfsprekend was op de PC (Open Attachment) kan even gemakkelijk op de PDA!

 

Thanks!

 

Clyde heeft op z'n forum (www.gsak.net/board) een specifieke sectie waarin mensen hun macro's ter beschikking kunnen stellen. Deze verdient daar zeker een plaatsje in.

Link naar opmerking
Deel via andere websites

Clyde heeft op z'n forum (www.gsak.net/board) een specifieke sectie waarin mensen hun macro's ter beschikking kunnen stellen. Deze verdient daar zeker een plaatsje in.

 

Yep, ik zal er na de vakantie eens naar kijken! Ik wil eigenlijk eerst nog iets toevoegen om ook de afbeeldingen in een cachebeschrijving offline te kunnen bekijken (via spoilersync oid).

Link naar opmerking
Deel via andere websites

  • 3 weeks later...

En bij mij werkt het(als gewoonlijk) weer eens niet.

Op de PC netjes twee mapjes gemaakt.

Deze worden ook netjes gevuld door de macro.

De ene map bevat het .wpt filetje en de andere map bevat een mapje (Cache) mat daarin de .html files en het aantal benodigde .gif jes welke bij de .html behoren.

Na het kopieren naar de SD-card heb ik een keurig .wpt bestand in een daarvoor aangemaakte map en, in die zelfde map, een map waarin dus weer die .html's en .gif's zouden moeten staan.

Zouden, want bij mij is de map leeg. ;)

Als ik de .html's en gif's handmatig versleep van PC naar PDA werkt alles wel.

Waarschijnlijk gaat er dus iets mis bij het kopieren.

 

Hieronder even de eerste en laatste paar regels uit de macro:

 

$path = "D:\Program Files\GSAK\ozimap\"

$path2 = "D:\Program Files\GSAK\oziwp\"

$card = "M:\"

$cardpath = "M:\OziData\"

 

 

FILECOPY From=$File To=$cardpath$Filename.wpt OnError=Continue

FILEERASE File=$File OnError=Continue

$program = $_Install +"\Macros\copy.cmd"

$par1 = $cardpath + $Filename + "\"

$par2 = $path + "Cache\"

RUNPGM pgm=$program parms=$par1 $par2 Wait=yes

 

Ger@ld

bewerkt door de Roode Lantaarn
Link naar opmerking
Deel via andere websites

Ik had hetzelfde probleem, de oplossing staat eigenlijk al in de begeleidende tekst.

Het probleem wordt waarschijnlijk veroorzaakt door spaties in het pad.

Probeer eens i.p.v.

 

$path = "D:\Program Files\GSAK\ozimap\"

$path2 = "D:\Program Files\GSAK\oziwp\"

$card = "M:\"

$cardpath = "M:\OziData\"

 

het volgende:

 

$path = "D:\ozimap\"

$path2 = "D:\oziwp\"

$card = "M:\"

$cardpath = "M:\OziData\"

 

Bij mij was dit de oplossing, alles werkt nu goed.

 

Succes,

 

Groeten van Dirk

Link naar opmerking
Deel via andere websites

Inderdaad lag daar het probleem.

Nooit beseft dat in de map "Program Files" een spatie stond. :blush:

Nu twee mappen aangemaakt in de root van D: en het werkt.

 

Overigens werkt dat geen-spatie verhaal ook voor de naam die je opgeeft tijdens het draaien van de macro.

Is de opgegeven naam All Founds dan maakt hij een map "All" aan die leeg blijft.

Is de opgegeven naam Founds dan maakt hij een map "Founds" aan die gevuld wordt met de HTML export van GSAK.

 

Zo ik denk dat GPXSonar bij mij zijn langste tijd beleeft heeft.

MrChaos en Powk :D

 

Ger@ld.

Link naar opmerking
Deel via andere websites

  • 7 months later...

Gisteravond e.e.a. draaiende gekregen m.b.v. de Roode Lantaarn (en een hulplijntje van Mr.Chaos).

 

In 1e instantie lukte het niet (meer) ook niet bij Lantaarn. Achteraf bleek dat het te maken had met de nieuwe versie van GSAK. Een aanpassing gekregen van Mr.Chaos en het werkt weer bij de Roode Looplamp.

 

Het werkt prima.

 

Beide bedankt :thumbup:

bewerkt door De Roode Loper
Link naar opmerking
Deel via andere websites

In 1e instantie lukte het niet (meer) ook niet bij Lantaarn. Achteraf bleek dat het te maken had met de nieuwe versie van GSAK. Een aanpassing gekregen van Mr.Chaos en het werkt weer bij de Roode Looplamp.

 

Voor de volledigheid zal ik de aanpassing ook nog maar even op deze plaats melden. Dit is alleen voor de mensen die GSAK vanaf versie 7 gebruiken!

 

Sinds versie 7 worden bij de HTML-export van GSAK bestanden gegenereerd met de bestandsnaam GCxxxx.htm in plaats van vroeger 1.htm, 2.htm, etc. In het gegenereerde Ozi-wpt bestand moet de naam van de attachment die eraan hangt dus even aangepast worden. Je kan dit oplossen door in de macro deze regel

 

$Out = $Out + $Filename + "/" + NumToStr($aantal) + ".htm" + ", "

 

te vervangen door onderstaande

 

$Out = $Out + $Filename + "/" + $d_Code + ".htm" + ", "

bewerkt door Mr.Chaos
Link naar opmerking
Deel via andere websites

  • 2 weeks later...

Met GSAK versie 7 werken de bijlagen van een waypoint op de pc niet meer. Dat komt omdat GSAK versie 7 werkt met URI (Uniform Resource Identifier). Hoe dat werkt kun je in de helpfile onder URI support lezen.

 

De macro werkt dus niet met versie 7 wat betreft het openen van een bijlage op de pc.

 

Verander in de macro de volgende regel:

 

Bij field 22:

 

$Out2 = $Out2 + $_Install + "\gsak.exe/PRO " + $d_Code + "=" + $_CurrentDatabase + ", "

 

in

 

$Out2 = $Out2 + $_Install + "\gsak.exe/gsak://%FF/prompt/" + HttpEncode($d_Code) + "/" + HttpEncode($_CurrentDatabase)

 

 

Je krijgt in GSAK dan een vraag te zien of je offline de bijlage wilt zien of bij geocaching.com.

 

 

Je kan ook dit bij field 22 zetten i.p.v. de bestaande regel:

 

 

$Out2 = $Out2 + $_Install + "\gsak.exe/gsak://%FF/offline/" + HttpEncode($d_Code) + "/" + HttpEncode($_CurrentDatabase)

 

 

Je krijgt dan altijd de bijlage offline te zien.

 

 

Bij mij werkt het in ieder geval.

 

Gr. Willem

Link naar opmerking
Deel via andere websites

Ik gebruik dikwijls de spoilersync macro, die ik ooit ergens vandaan heb gehaald. Werkt op de PC uitstekend.

 

###########################################################
#
# Transfer SpoilerSync picture to GSAK user notes
#
# 1. Run spoiler sync (make sure you check the box "create web pages for spoilers and index"
# 2. Run this macro, and enter the folder where you spoilersync files are
#
# Change History:
#  29th Jan, 2006 - Updated code to be compatible with the upcoming new release of the macro engine
#
############################################################

#Debug Status=on

# get folder from saved settings if file exists 
If FileExists($_Install + "\Macros\SpoilerSync.dat")
 Set $pics = GetFile($_Install + "\Macros\SpoilerSync.dat")
 # Just in case file permission error or something test for error
 IF Left($Pics,7) = "*Error*"
Pause Msg="$Pics"
Cancel
 EndIf 
else
 Set $pics = " "
EndIf

# JG>>: Export 
$exportfile = "t:\spoilersync.gpx"
$pics = "C:\LocalData\bin\GSAK\images\offline"
EXPORT type=GPX Settings="spoilersync" File=$exportfile
RUNPGM pgm="C:\LocalData\bin\GSAK\SpoilerSync\spoilersync.exe" parms="-a"
# <<JG

# get the folder where the spoilers pics are
Input Msg="Enter the folder where the spoilder pics can be found"  Default=$Pics VarName=$pics Browse="Folder"
If .not. FolderExists($pics)
 Pause Msg="Error: Folder does not exist, Macro will now abort"
 Cancel
Endif

# Save the folder so don't have to key if same next time
Set $error = PutFile($_Install + "\Macros\SpoilerSync.dat",$pics)  
# Just in case file permission error or something test for error
IF Left($Error,7) = "*Error*"
 Pause Msg="$Error"
 Cancel
EndIf   
Set $ThisRecord = 0
Set $NumberFound = 0
Set $NumberPics = 0
Goto Position=Top


# now loop through the current subset to find corresponding spoilder HTML files
While .not. $_EOL
 # set up totals to show status to user
 Set $ThisRecord = $ThisRecord + 1
 Set $status = "Now processing: " + "$ThisRecord" + " of " + "$_Count"
 ShowStatus msg="$status"  

 Set $HtmFile = $Pics + "\" + $d_Code + ".html" 
 If FileExists($HtmFile)
# we have found a matching spoiler file so interrogate the HTML for pictures 
Set $data = GetFile($HtmFile)
# remove all double quotes from data
Set $data = replace($_Quote,"",$data,false)
# get the number of pictures in the file
Set $Images = RegExCount("<img src=.*?>",$data)
Set $x = 0
Set $NumberFound = $NumberFound + 1
Set $Link = " "
While $Images > $x
  Set $NumberPics = $NumberPics + 1 
  Set $x = $x + 1
  Set $Image = RegExData("<img src=.*?>",$data,$x)
  # Get everthing after the =
  Set $image = Extract($Image,"=",2)
  # remove the terminating > tag 
  Set $image = Extract($Image,">",1)
  # genrate the required URL syntax to add to GSAK user notes
  Set $image = $image + $_NewLine + "<img src='file://" + $pics + "\" + $image + "'><br><br>"  
  Set $Link = $link + $image + $_NewLine
EndWhile
Set $Link = "*Spoiler Pictures*" + $_NewLine + $Link + "*End Spoilers*"
Set $UserNote = $d_UserNote

# now if alredy spoiler pictures in user notes we must remove them and replace
# with he ones just found
if RegEx("\*Spoiler Pictures\*",$UserNote)
  # preserve any notes before the spoilers
  Set $Part1 = Extract($d_UserNote,"*Spoiler Pictures*",1)
  # preserve any notes after the spoilers
  Set $Part2 = Extract($d_UserNote,"*End Spoilers*",2)
  # now insert then new spoiler links
  Set $UserNote = $Part1 + $Link + $Part2
Else
  # else part - No spoiler pictures, but we must put them in before the User logs
  If RegEx("\$~",$UserNote)
	# User losgs found, so seperate the user notes from the logs
	Set $User = Extract($UserNote,"$~",1)
	Set $Log = Extract($UserNote,"$~",2)
	# now put in the spoiler links between the two
	Set $UserNote = $User + $link + "$~" + $Log
  else
	# else there are no user logs, so just add the spoilers to any user notes
	Set $UserNote =  $UserNote + $Link
  EndIf
EndIf
Set $d_UserNote = $UserNote
 EndIf 
 Goto Position=Next
EndWhile
Goto Position=Top
Set $Message = "$NumberFound" + " caches updated from spoiler sync folder." + $_NewLine + "$NumberPics" + " pictures found in total. "  
Pause msg=$Message

Link naar opmerking
Deel via andere websites

  • 2 weeks later...

Superbobbe, werkt deze macro ook in GSAK 7?

Voor mij is het progr. SpoilerSync nieuw.

Maar het lijkt me makkelijk om de spoiler foto's bij me te hebben op

een notebook, als ik met vakantie ben.

En niet onbelangrijk, moet ik de macro aanpassen voor mijn comp?

 

gr. Arie

 

Ik gebruik dikwijls de spoilersync macro, die ik ooit ergens vandaan heb gehaald. Werkt op de PC uitstekend.

 

###########################################################
#
# Transfer SpoilerSync picture to GSAK user notes
#
# 1. Run spoiler sync (make sure you check the box "create web pages for spoilers and index"
# 2. Run this macro, and enter the folder where you spoilersync files are
#
# Change History:
#  29th Jan, 2006 - Updated code to be compatible with the upcoming new release of the macro engine
#
############################################################

#Debug Status=on

# get folder from saved settings if file exists 
If FileExists($_Install + "\Macros\SpoilerSync.dat")
 Set $pics = GetFile($_Install + "\Macros\SpoilerSync.dat")
 # Just in case file permission error or something test for error
 IF Left($Pics,7) = "*Error*"
Pause Msg="$Pics"
Cancel
 EndIf 
else
 Set $pics = " "
EndIf

# JG>>: Export 
$exportfile = "t:\spoilersync.gpx"
$pics = "C:\LocalData\bin\GSAK\images\offline"
EXPORT type=GPX Settings="spoilersync" File=$exportfile
RUNPGM pgm="C:\LocalData\bin\GSAK\SpoilerSync\spoilersync.exe" parms="-a"
# <<JG

# get the folder where the spoilers pics are
Input Msg="Enter the folder where the spoilder pics can be found"  Default=$Pics VarName=$pics Browse="Folder"
If .not. FolderExists($pics)
 Pause Msg="Error: Folder does not exist, Macro will now abort"
 Cancel
Endif

# Save the folder so don't have to key if same next time
Set $error = PutFile($_Install + "\Macros\SpoilerSync.dat",$pics)  
# Just in case file permission error or something test for error
IF Left($Error,7) = "*Error*"
 Pause Msg="$Error"
 Cancel
EndIf   
Set $ThisRecord = 0
Set $NumberFound = 0
Set $NumberPics = 0
Goto Position=Top


# now loop through the current subset to find corresponding spoilder HTML files
While .not. $_EOL
 # set up totals to show status to user
 Set $ThisRecord = $ThisRecord + 1
 Set $status = "Now processing: " + "$ThisRecord" + " of " + "$_Count"
 ShowStatus msg="$status"  

 Set $HtmFile = $Pics + "\" + $d_Code + ".html" 
 If FileExists($HtmFile)
# we have found a matching spoiler file so interrogate the HTML for pictures 
Set $data = GetFile($HtmFile)
# remove all double quotes from data
Set $data = replace($_Quote,"",$data,false)
# get the number of pictures in the file
Set $Images = RegExCount("<img src=.*?>",$data)
Set $x = 0
Set $NumberFound = $NumberFound + 1
Set $Link = " "
While $Images > $x
  Set $NumberPics = $NumberPics + 1 
  Set $x = $x + 1
  Set $Image = RegExData("<img src=.*?>",$data,$x)
  # Get everthing after the =
  Set $image = Extract($Image,"=",2)
  # remove the terminating > tag 
  Set $image = Extract($Image,">",1)
  # genrate the required URL syntax to add to GSAK user notes
  Set $image = $image + $_NewLine + "<img src='file://" + $pics + "\" + $image + "'><br><br>"  
  Set $Link = $link + $image + $_NewLine
EndWhile
Set $Link = "*Spoiler Pictures*" + $_NewLine + $Link + "*End Spoilers*"
Set $UserNote = $d_UserNote

# now if alredy spoiler pictures in user notes we must remove them and replace
# with he ones just found
if RegEx("\*Spoiler Pictures\*",$UserNote)
  # preserve any notes before the spoilers
  Set $Part1 = Extract($d_UserNote,"*Spoiler Pictures*",1)
  # preserve any notes after the spoilers
  Set $Part2 = Extract($d_UserNote,"*End Spoilers*",2)
  # now insert then new spoiler links
  Set $UserNote = $Part1 + $Link + $Part2
Else
  # else part - No spoiler pictures, but we must put them in before the User logs
  If RegEx("\$~",$UserNote)
	# User losgs found, so seperate the user notes from the logs
	Set $User = Extract($UserNote,"$~",1)
	Set $Log = Extract($UserNote,"$~",2)
	# now put in the spoiler links between the two
	Set $UserNote = $User + $link + "$~" + $Log
  else
	# else there are no user logs, so just add the spoilers to any user notes
	Set $UserNote =  $UserNote + $Link
  EndIf
EndIf
Set $d_UserNote = $UserNote
 EndIf 
 Goto Position=Next
EndWhile
Goto Position=Top
Set $Message = "$NumberFound" + " caches updated from spoiler sync folder." + $_NewLine + "$NumberPics" + " pictures found in total. "  
Pause msg=$Message

Link naar opmerking
Deel via andere websites

Clyde heeft op z'n forum (www.gsak.net/board) een specifieke sectie waarin mensen hun macro's ter beschikking kunnen stellen. Deze verdient daar zeker een plaatsje in.

 

Yep, ik zal er na de vakantie eens naar kijken! Ik wil eigenlijk eerst nog iets toevoegen om ook de afbeeldingen in een cachebeschrijving offline te kunnen bekijken (via spoilersync oid).

Het zou fijn zijn als de foto's ook te zien zijn. Ben benieuwd wanneer je het gelukt is (voorGSAK7) :)

Link naar opmerking
Deel via andere websites

Maak een account aan of meld je aan om een opmerking te plaatsen

Je moet lid zijn om een opmerking achter te kunnen laten

Account aanmaken

Maak een account aan in onze gemeenschap. Het is makkelijk!

Registreer een nieuw account

Aanmelden

Ben je al lid? Meld je hier aan.

Nu aanmelden
 Share

  • Onlangs hier   0 leden

    • Er kijken geen geregistreerde gebruikers naar deze pagina.
×
×
  • Nieuwe aanmaken...