#*************************************************************************************** # MacVersion = 1.2 # MacDescription = Difference GSAK vs gc.nl # MacAuthor = GeoFlowers # MacFileName = DiffGSAKvsGCNL.gsk # MacUrl = http://www.wandelverhalen.com/gps/uitleg/DiffGSAKvsGCNL.gsk #*************************************************************************************** # GeoFlowers heeft na DiffGCCOMvsGCNL.gsk van Xaa ook wat gerommeld met de GSAK founds # Er wordt een database aangemaakt waarin als uiteindelijk resultaat alle Cacheregels # die ook bij GC.nl voorkomen, van een note zijn voorzien. # Dus de Cache regels die niet van die note zijn voorzien ontbreken bij GC.nl #*************************************************************************************** # Let op dat het gemaakte tekstbestandje van GC.nl is aangemaakt en de folder en naam # hier is ingevuld $gcnl = "C:\gsak\test\gcnlfounds.txt" # Eerst even de te gebruiken en de tijdelijke werkdatabase opgeven $copyfromdb = "okt2007" # vul hier je standaard db in $workingdb = "diffgsakvsgcnl" # de werkdb vooral tijdelijk dus # Dan controleren we of er een workingdb aanwezig is # Wel aanwezig=leegmaken en niet aanwezig=aanmaken # Natuurlijk kunnen we er ook voor kiezen om altijd de werkdb te verwijderen # maar hier zien we ook het gebruik van een IF - Else - ENDIF IF (DatabaseExists($workingdb)) MSGOK Caption="GeoFlowers" Msg="Database $workingdb bestaat al! Wordt nu leeg gemaakt" DATABASE Name=$workingdb CancelFilter MacroDelete Action=DelScope ELSE DATABASE Name=$workingdb Action=create ENDIF # Nu selecteren we de standaard database en zetten het filter op gevonden caches # Let op dat het genoemde filter ook bestaat in je beschikbare "saved filter" # iets wat je in het venster Search --> Filter na kunt kijken DATABASE Name=$copyfromdb Action=select FILTER Name="My Found Caches (GSAK default)" # MacroSet is een commando dat de mogelijkheid geeft om venster en filter instellingen # mee te geven. Hierdoor werkt de macro ook bij andere GSAK gebruikers die niet dezelfde # "settings" voor vensters of filters hebben. Tussen een verderop geplaatste # en moeten onder gelijke Varname van de Dialog de settings worden meegegeven. MACROSET Dialog=MoveCopy VarName=$MoveCopy MOVECOPY Settings= VarName=$MoveCopy [TfmMove] cbxDestination.Text=diffgsakvsgcnl rbtAdd.Checked=True rbtAddFlag.Checked=False rbtAddIgnore.Checked=False rbtCopy.Checked=True rbtExistIgnore.Checked=False rbtFlagOnly.Checked=False rbtMove.Checked=False rbtReplace.Checked=True rbtReplaceFlag.Checked=False chkDisplay.Checked=True # Lokatie van GC.nl data ophalen $data = $gcnl pause msg="$data" # nu kan je even de inhoud van $data zien, deze regel kan ook weg! $data = GetFile("$data") pause msg="$data" # ook weer even kijken, later weghalen of # ervoor #$data = Replace(chr(0),"",$data,false) # deze is bij "schone" dat niet nodig # hier tellen we de regels nodig voor de WHILE --- ENDWHILE loop $CountLines = RegexCount("\r\n", $data) # Selekteer de werkdatabase DATABASE Name=$workingdb Action=select # begin met regel 2 want op de eerste regel staat geen gccode maar een getal $i = 2 WHILE $i<=$CountLines # We zoeken de code op van de GC.nl tekst, op elke volgende regel $line = Extract($data, "$_Newline", $i) # nu gaan we zoeken of deze GCcode ook in de werkdatabase voorkomt IF seek($line) # gevonden dus een note plaatsen $d_usernote = "Found staat ook in GC.NL" ELSE # deze missen we dus $d_usernote = "" ENDIF $i = $i + 1 ENDWHILE # nu nog even de laatst gevonden bovenaan zetten Sort by="FoundbyMe" Sequence=D # Even een mededeling, weten we ook dat de macro is afgelopen :-) MSGOK Caption="GeoFlowers" Msg="Niet in GC.NL, hebben geen note!"