Spring naar bijdragen

Ideetje... macro's voor beginners


Xaa

Aanbevolen berichten

ReizenReizen

Terwijl ik gisteren beetje ruzie aan het maken was met macro's en zo, bedacht ik me dat het misschien een idee zou zijn om een keer iets te maken als 'macro maken voor beginners'.

 

Mijn ervaring is dat voldoende "commentaar" in de macro code ook heel erg helpt bij het begrijpen van wat er in de macro gedaan wordt. Dat soort macros zijn vaak erg leerzaam terwijl de macros waarin alleen de macrocode zelf staat vaak maar lastig te begrijpen zijn.

 

Dus, posten die handel! :dribble:

Link naar opmerking
Deel via andere websites

Ik sluit me volledig aan bij Wammus.

Wanneer er (voldoende) commentaar wordt opgenomen in een macro verbeterd dat de leesbaarheid, en snap je (meteen) wat er eigenlijk allemaal gebeurd.

Ik denk dat het een goed plan van Xaa is om via deze weg meer mensen in de gelegenheid te gaan stellen om hun eigen macro's te kunnen maken.

Link naar opmerking
Deel via andere websites

Je wilt dus hier macro's hebben met uitgebreid commentaar en gebruiksaanwijzing?

 

Voorbeeld:

Omschrijving

Deze macro importeert de PQ's in aparte databases. Voorwaarde is dat de opbouw van de PQ-naam als volgt is: <tekst> (<nummer>), bijv. "Nederland (01)". Op het moment dat de PQ's gedownload worden hebben de bestanden dus ook dergelijke namen. Hiermee komen dan alle PQ's met de naam "Nederland (01)", "Nederland (02)" etc. terecht in de database met de naam "Nederland". De tekst is vrij te kiezen mits er maar een database bestaat met die naam, dus "Founds", "Vakantie" etc. kan ook.

Op het moment dat er geen database is met de naam die hoort bij de PQ wordt de PQ niet geïmporteerd.

De macro is niet foolproof er komen geen meldingen als bestanden niet gevonden worden.

Voor het gebruik moet de regel die begint met $dir aangepast worden. Tussen de " " moet het pad worden opgenomen van de directory waar de PQ's staan. Voorbeeld: "D:\Documenten\Geocaching\Pocket Queries\"

Vergeet de \ aan het eind niet!

 

De macro:

# Importeer Pocket Queries

 

# Dit is de directory waar de pq's te vinden zijn

$dir = "<vul hier het volledige pad in>"

 

# Bepaal welke databases in GSAK voorkomen

$databases = sysInfo("Databases")

$return=list("db","create",";")

$return= list("db","replace",$databases)

 

# Bepaal eerst het aantal databases.

$Count = val(list("db","Count",""))

 

# Ga nu een loop in van 1 tot en met het aantal gevonden databases

$Teller = 1

While $Teller <= $Count

 

# Haal de naam van de database uit de lijst en toon deze

$db = list("db","Item","$Teller")

ShowStatus msg=$db

 

# Bouw de zoeken bestandsnaam op, zoiets als "databasenaam (*).zip"

$files = $dir + $db + " (*).zip"

 

# Stel vast of er bestanden zijn die aan het filter voldoen.

If FileExists($files)

# Laad de gevonden pocketqueries in de database en toon de statistieken.

Load File=$files database=$db showstats=Yes

EndIf

 

# Ga door met de volgende database in de lijst.

$Teller = $Teller + 1

EndWhile

 

Zoiets?

Link naar opmerking
Deel via andere websites

Een cursus macro's voor beginners zou erg welkom zijn. De voorbeeldmacro van dets helpt me al een heel eind op weg, maar laat me toch met vragen zitten. Waarom 2 opdrachtregels met $return aan het begin? $return is dus blijkbaar geen gewone variabele. En ShowStatus is ook nog niet duidelijk voor mij. Verder is het verhaal redelijk duidelijk. Als een dergelijke macro aangevuld wordt met achtergrondinfo/theorie, dan zou dat een geweldig mooi resultaat opleveren.

Xaa, hou je vooral niet in. Gewoon doen.

Link naar opmerking
Deel via andere websites

Voor de liefhebbers, begin maar te schieten...

pief paf poef :thumbdown:

Aha, dus de syntaxis staat helemaal gedocumenteerd in de GSAK helpfiles. Oké, dan zal ik proberen de voorbeelden te volgen en zelf de achtergronden er bij te zoeken.

Ik wil toch nog even terugkomen op de variabele $return in het voorbeeld van dets. Is dat dan een dummy die alleen gebruikt wordt om de lists te definieren?

Link naar opmerking
Deel via andere websites

Xaa, adresje bij nuttige link vergeten?

 

Overigens een leuke optie Sort kiezen uit bestaande settings bij de GPS uitvoer.

Denk daarbij ook aan de location, of waar ga ik cachen.

 

De $return is ook de return variabele van INPUT, wordt dus vaker gebruikt dan we misschien denken te weten. Voorzichtig gebruiken dus.

Link naar opmerking
Deel via andere websites

Op het GSAK-event heb ik aan enkele deelnemers beloofd om een voorbeeld van een HTML output te laten zien. De volgende macro, HtmlTables.txt geeft een found-tabel voorbeeld. Ik heb in dit voorbeeld ook erg veel uitleg regels gemaakt. Met dit voorbeeld moet het mogelijk zijn om de meeste uitvoer naar de eigen website aan te maken. Omdat er *.gif icoontjes nodig zijn, worden deze ook door de macro aangemaakt.

 

GeoFlowers

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
  • Onlangs hier   0 leden

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