Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

wer kennt sich mit Macros aus?

Das Schweizer Taschenmesser für Cachebeschreibungen.

Moderator: Schnueffler

Antworten
Benutzeravatar
Roli_29
Geocacher
Beiträge: 242
Registriert: Fr 4. Mär 2005, 18:38
Wohnort: Bonn
Kontaktdaten:

wer kennt sich mit Macros aus?

Beitrag von Roli_29 » So 11. Dez 2005, 10:03

Hallo Zusammen!

Ich hätte da mal eine Frage.

Ich nutze GSAK mit den PQ´s von geocaching.com (wie wohl jeder hier). Nun bietet ja Opencaching auch einen GPX Download von bis zu 500 Caches auf einmal an. Die kann man dann natürlich auch mit GSAK nutzen.
Für die Caches von OC habe ich eine eigene Database angelegt. Nun finde ich es überflüssig, gleiche Caches in zwei Databases zu führen.

Kann man ein Macro schreiben, welches die Namen der Caches in zwei Databases vergleicht und dann, wenn ein Cache doppelt ist, in einer Database automatisch löscht? Das Ergebniss sollte dann so sein, das ich in der OC Database nur noch Caches habe, die bei GC nicht gelistet sind.

Wer kann helfen?

Gruß Roland
Lieber ein sauberer Micro am Fallrohr, als ein dreckiger Regular in versifften Tüten im Wald!

Werbung:
Benutzeravatar
delta4
Geomaster
Beiträge: 325
Registriert: Di 18. Okt 2005, 00:16
Wohnort: Altwarmbüchen
Kontaktdaten:

Beitrag von delta4 » Mi 14. Dez 2005, 00:02

Dieses Macros sucht für alle Waypoints in der Datenbank "OCde" einen Waypoint in der Datenbank "GCcom", der den gleichen Namen hat und setzt in "OCde" den UserFlag.

:!: Vorher werden alle UserFlags gelöscht :!:

Da das Macro ständig zwischen den beiden Datenbanken hin und her schaltet ist es nicht besonders schnell. :roll:

Nur so eine Idee, bitte erst testen :!:

Code: Alles auswählen

Set $OCDB = "OCde"                       # OCde und GCcom durch die
Set $GCDB = "GCcom"                      # Namen der entsprechenden
                                         # Datenbanken ersetzen

DATABASE Name="$OCDB" 
USERFLAG Type=clear Range=all
Goto Position=Top
Set $Zähler=0
Set $Vergleich=""
While .not. $_EOL
   $Vergleich = $d_Name
   DATABASE Name="$GCDB"
   Goto Position=Top
   While .not. $_EOL
      IF $d_Name = $Vergleich
         DATABASE Name="$OCDB"
         Goto Position=Top
         IF $Zähler>0
            Goto Position=$Zähler
         ENDIF
         USERFLAG Type=Set Range=1
         DATABASE Name="$GCDB"
         Goto Position=Bottom
      ENDIF
      Goto Position=Next
   EndWhile
   DATABASE Name="$OCDB"
   $Zähler = $Zähler + 1
   Goto Position=$Zähler
EndWhile
Nur so eine Idee :???:

Jurgen & co
Geomaster
Beiträge: 613
Registriert: Fr 26. Aug 2005, 00:16
Wohnort: 26131 Oldenburg

Beitrag von Jurgen & co » Do 26. Jan 2006, 16:50

Stimt es das man mit diese macro ein flag setzt in OCdb bei die caches die in beide anwezend sind. Wenn nicht kanst du mir erklären was das ziel ist von diese macro.

Banana Joe
Geomaster
Beiträge: 474
Registriert: Di 31. Aug 2004, 17:45

Beitrag von Banana Joe » Do 26. Jan 2006, 17:01

@ Jurgen & co:
Das stimmt. Das Makro setzt einen User Flag für alle Einträge, die AUCH in einer zweiten Datenbank stehen. Was man dann mit diesen Einträgen macht, dass ist Jedem selbst überlassen: löschen, Status verändern, exportieren, etc...

Jurgen & co
Geomaster
Beiträge: 613
Registriert: Fr 26. Aug 2005, 00:16
Wohnort: 26131 Oldenburg

Beitrag von Jurgen & co » Do 26. Jan 2006, 17:10

Den habe ich eine viel snelere lösung. Bei mir wahr er mit ein mit 7000 und eind db mit 1600 caches sehr lange in die gange. Mit den move/copy befehl is es möglich von db A alle caches zu copieren nach db B. Mann kan es aber so einstellen das die caches nicht copiert werden aber nur der flag gesetzt wird wenn die sowohl in A und B sind. Dies ging in einige secunden.

MOVECOPY <Settings="name">

Move or Copy waypoints from one database to another

Settings = Name of the corresponding settings you would like to use for this move/copy. You must have previously created these settings from the move/copy dialog (Database=>Move/Copy Waypoints...)

Jurgen & co
Geomaster
Beiträge: 613
Registriert: Fr 26. Aug 2005, 00:16
Wohnort: 26131 Oldenburg

Beitrag von Jurgen & co » Do 26. Jan 2006, 18:07

Ich habe dies in ein macro umgezets. Nun habe aber probleme mit mein mail reinholen weil ergentwie die einstellungen sich geanderd haben von GETMAIL. Habe schön das probleem in das GS-Forum geposted.

Banana Joe
Geomaster
Beiträge: 474
Registriert: Di 31. Aug 2004, 17:45

Beitrag von Banana Joe » Fr 27. Jan 2006, 10:20

delta4 hat geschrieben:Dieses Macros sucht für alle Waypoints in der Datenbank "OCde" einen Waypoint in der Datenbank "GCcom", der den gleichen Namen hat und setzt in "OCde" den UserFlag.
Habe das Macro für meine Zwecke umgestrickt und ausprobiert. Es funktioniert, ist aber tatsächlich recht langsam.
Wenn man in seinen Datenbanken lediglich die Caches von GC.com hat, sollte man den eindeutigen GC-Code ($d_Code) statt des mehrdeutigen Waypoint-Namens ($d_Name) verwenden.

Banana Joe
Geomaster
Beiträge: 474
Registriert: Di 31. Aug 2004, 17:45

Beitrag von Banana Joe » Di 15. Aug 2006, 17:32

Jurgen & co hat geschrieben:Ich habe dies in ein macro umgezets. ...
@ Jurgen & co
Kannst Du bitte das von Dir erstellte Macro hier einstellen? Ich möchte zwei Datenbanken abgleichen - aber NICHT über den GC-Code sondern über den 10/12/16-stelligen Smart Name. Die zweite Datenbank hat nämlich die Navicache Codes. Vielen Dank.

Jurgen & co
Geomaster
Beiträge: 613
Registriert: Fr 26. Aug 2005, 00:16
Wohnort: 26131 Oldenburg

Beitrag von Jurgen & co » Di 15. Aug 2006, 17:59

Sei bitte vorsicht mit welche settings du benutzt. Es ist ja moglich das du dein datei versaut. Vielleicht is es gut es erstmal mit testdateien oder kopies zu probieren.

Ich glaube es war diese. Ich habe es lang nicht mehr benutzt weil ich nur zwei dateien benutze im moment und wenn ich abgleichen mochte tu ich dass meisten per hand.

Code: Alles auswählen

# man solte erst in Database eine MOVECOPY machen und speichern.

#MOVECOPY <Settings="name">

#Move or Copy waypoints from one database to another

#Settings = Name of the corresponding settings you would like to use for this move/copy. You must have previously created these settings from the move/copy  dialog (Database=>Move/Copy Waypoints...)

Set $OCDB = "OCde"                       # OCde und GCcom durch die
Set $GCDB = "GCcom"                      # Namen der entsprechenden
                                         # Datenbanken ersetzen

DATABASE Name="$GCDB"
USERFLAG Type=clear Range=all
MOVECOPY Settings=OCde
Garmin GPSMAP 60C, Palm Tungsten T5, Fortuna Bluetooth clipon GPS, Mapsource, GSAk, TomTom, AutoRoute, etc.

Antworten