Posts Tagged “tutorial”

I do use MediaWiki since several month at work for documentation (we are already running a small farm with several wiki’s). It takes some time to get used to the wiki-synthax, but if you got that part, its just a great thing.

As a co-worker asked me how to start a mobile wiki on a USB-device for Windows i stumpled upon this lifehacker-article.

But hey, i’m a mac dude, so lets try to get this idea working on a mac.

Read the rest of this entry »

Comments 10 Comments »

Der Open-with Dialog im Finder füllt sich in der Regel mit dem Alter der Mac OS X Installation und der steigenden Programme-Anzahl stark.

Leider kann es auch vorkommen dass sich dort Programm-Verweise einnisten die nicht mehr vorhanden -> nicht gewünscht sind.

In meinem Fall habe ich aufgrund der vielen Versionen von Tierprogramm eine sehr lange Liste im Falle von Grafikdateien.

Daher will ich im folgenden mal kurz erklären wie man unter Leopard (10.5) diese Liste aufräumt. Dieser Ablauf ist NUR für 10.5 gültig, ein entsprechner Beitrag für Tiger (10.4) folgt.

Read the rest of this entry »

Comments 1 Comment »

Nachdem ich in Lektion I - III den Umgang mit Dialogen versucht habe zu erklà¤ren wird es nun Zeit den Blick auf andere Aspekte von appleScript zu werfen.

Zuvor aber nochmal die Links zu den bisherigen Beitrà¤gen der Serie:

Nun aber der Blick nach vorne und das heutige Thema

Umgang mit Text

Là¤nge von Text

Wir wollen die Là¤nge einer Text-Variable errechnen bzw wissen. Dafà¼r definieren wir uns vorab einen String myTestText und erhalten durch den Gebrauch des Befehles length die Là¤nge unserer Test-Variable. Diese wird abschließend ausgegeben. Das folgende Bild sollte dies ausreichend erlà¤utern: Read the rest of this entry »

Comments No Comments »

Dies ist der dritte Beitrag der Serie “Getting started mit AppleScript” und befasst sich thematisch erneut mit “display dialog”.

In den vorherigen Beiträgen wurden Dialoge erzeugt und mit Grundeigenschaften wie Fenster-Titel (title), Anzeige-Dauer (giving up after X) sowie Knöpfen versehen.

Zielsetzung Lektion III:

Aufzeigen zusätzlicher Möglichkeiten im Rahmen der Verwendung von Display Dialog. Aufzeigen der Limitierungen bei reiner Verwendung vom Script Editor.

Read the rest of this entry »

Comments 7 Comments »

Im ersten Teil der Serie Getting started mit AppleScript wurde das klassische Hello World in wenigen Schritten erklà¤rt.

In diesem Teil will ich den Umgang mit Display Dialog in Applescript etwas nà¤her erlà¤utern und nebenbei den Umgang mit Kommentaren erklà¤ren.

Fangen wir mit den Kommentaren an.

Ein Kommentar in Programmier / Script Sprachen dient im Kern der spà¤teren Nachvollziehbarkeit von Code. Klingt eventuell jetzt fà¼r euch unsinnig, weil ist ja der eigene Code und so, aber jeder der nach Monaten mal wieder eigenen Code à¼berarbeiten wollte wird mir zustimmen das dies ohne Kommentare kompliziert werden kann. Oft endet es in Fragen wie:

Was zum Henker habe ich mir damals mit diesen Zeilen gedacht ?.

Um dies zu verhindern hier der Einsteig ins Kommentieren. à€“ffnet hierzu die Datei:

macfidelity_applescript_lektion1.scpt

im Script Editor. Das ganze sollte in etwa so aussehen:

Nun fà¼gen wir mal einen einzeiligen Kommentar ein, der den Script-Ersteller hinterlegt.

Das unkompilierte Ergebnis solle in etwa so aussehen:

Durch die Betà¤tigung des Knopfes “Compile” wird das Script wieder umgesetzt und sofern wir keine Fehler eingebaut haben auch lauffà¤hig.

Kommentare werden im Script Editor ebenso mit einer eigenen Farbe dargestellt, in diesem Fall in grau.

Einzeilige Kommentare werden also mit “–” angefangen. Ihr kà¶nnt natà¼rlich beliebig viele einzeilige Kommentare am Stà¼ck verwenden wie der folgende Screenshot zeigt:

Neben einzeiligen Kommentaren existieren natà¼rlich auch mehrzeilige Kommentare in AppleScript.

Persà¶nlich ziehe ich einzeilige Kommentare vor und verwende bei Bedarf dann einfach eine Reihe einzeiliger am Stà¼ck sofenr notwendig (siehe Linie 1 & 2 im Beispiel). Dies ist aber nur eine Stilfrage und ich mags optisch einfach einheitlich.

Wenden wir uns dem Umgang mit Display Dialog zu:

Bis dato haben wir Diaply Dialog verwendet um ein Default Dialog Fenster zu erhalten. Dieses Default Dialog Fenster hat vordefinierte Eigenschaften, z.b. die 2 Buttons “OK” und “Cancel”. Natà¼rlich kann man einen Display Dialog auch anpassen, z.b. mit einem Titel, Anzahl Buttons, Dialog Titel, Anzeigedauer, Icon Verwendung etc…

Als erstes wollen wir wir den Dialog mit einem Namen versehen, dafà¼r benà¶tigen wir folgenden Code:

display dialog “Verstehen Sie AppleScript schon ein bisschen ?” with title “Display Dialog”

Dies sollte im Script Editor im kompilierten Zustand wie folgt aussehen:

Und im ausgefà¼hrten Zustand so:

Ok. eigentlich ganz simpel. nun wollen wir aber eigentlich andere Button-Texte haben, daher à¤ndern wir dies auch noch ab.

Wir ergà¤nzen den alten Code wie folgt:

display dialog “Verstehen Sie AppleScript schon ein bisschen ?” buttons {”Ja”, “Nein”, “à€žhm Jein”} with title “Working with Display Dialogs”

Und erhalten einen Display Dialog, mit eigens definiertem Titel und 3 eigens definierten Buttons. Das ganze sieht so aus:

Beziehungsweise ausgefà¼hrt so:

Bei der Verwendung merken wir jedoch dass wir z.b einen Button als Default Antwort vorselektieren wollen. Dies macht Sinn, da somit die Vorgabe relativ zà¼gig mit   dem Return Knopf zu treffen ist und die vorgabe fà¼r den Nutzer visuell ersichtlich ist.

Dafà¼r ergà¤nzen wir den Code erneut:

display dialog “Verstehen Sie AppleScript schon ein bisschen ?” buttons {”Ja”, “Nein”, “à€žhm Jein”} default button {”à€žhm Jein”} with title “Working with Display Dialogs”

Das Script sollte im Script Editor wie folgt aussehen:

Und ausgefà¼hrt so:

Manchmal will man jedoch einen Dialog nicht unendlich lange anzeigen, sondern mittels Vorhgabe definieren wie lange er maximal angezeigt wird.

Dies liesse sich so bewerkstelligen:

display dialog “Verstehen Sie AppleScript schon ein bisschen ?” buttons {”Ja”, “Nein”, “à€žhm Jein”} default button {”à€žhm Jein”} with title “Working with Display Dialogs” giving up after 3

Konkret wà¼rde unser Dialog nun nach 5 Sekunden verschwinden. Relativ kurze Zeit, aber gerade zu Testwecken recht angenehm … wer will jeweils schon 30 Sekunden warten, wenn es nur ums testen geht.

War doch bisher alles relativ einfach. nun was bringen uns Dialoge mit Buttons wenn wir nicht die Antwort des Anwenders auslesen und interpretieren… kurzum eine Folge einbinden.

Wir wollen nun je nach selektiertem Button einen unterschiedlichen Folgedialog anzeigen.

Dafà¼r mà¼ssen wir nun erstmal den Code wieder anpassen:

display dialog "Verstehen Sie AppleScript schon ein bisschen ?" buttons {"Ja", "Nein", "à€žhm Jein"} default button {"à€žhm Jein"} with title "Working with Display Dialogs" giving up after 5

– antwort aufnehmen und verarbeiten
set DlogResult to result

if button returned of result = “Ja” then
display dialog “Ja gedrà¼ckt”
else if button returned of result = “Nein” then
display dialog “Nein gedrà¼ckt”
else if button returned of result = “à€žhm Jein” then
display dialog “à€žhm Jein gedrà¼ckt”
else
display dialog “Timeout”
end if

Im Script Editor sollte dies wie folgt aussehen:

Aufklà¤rung zum aktuellen Zeitpunkt:

Unser Script zeigt einen Dialog mit angepasten 3 Buttons, einem Titel fà¼r das Fenster, einem vordefinierten Default Button, einer vordefinierten Anzeige-Dauer und einer Routine die prà¼ft was selektiert wurde. Hierfà¼r wurde ein IF-Konstruktion verwendet, welche ich hier nur kurz streife. Denke Schleifen etc sind ein eigenes Thema in AppleScript.

Abschliessend das komplette Script nochmal mit Kommentaren:


– Autor: fidel
– Date: 20080713

– Display Dialog mit Title fà¼r Dialog Fenster
display dialog “Verstehen Sie AppleScript schon ein bisschen ?” buttons {”Ja”, “Nein”, “à€žhm Jein”} default button {”à€žhm Jein”} with title “Working with Display Dialogs” giving up after 3

– antwort aufnehmen und verarbeiten
set DlogResult to result
– Anfang IF

– Wurde ja gedrà¼ckt ?
if button returned of result = “Ja” then
– Bestà¤tigungsdialog
display dialog “Ja gedrà¼ckt”
– wurde Nein gedrà¼ckt ?
else if button returned of result = “Nein” then
– Bestà¤tigungsdialog
display dialog “Nein gedrà¼ckt”
– wurde à€žhm Jein gedrà¼ckt ?
else if button returned of result = “à€žhm Jein” then
– Bestà¤tigungsdialog
display dialog “à€žhm Jein gedrà¼ckt”
– d.h. keiner der 3 Buttons wurrde gedrà¼ckt
else
– timeout Dialog
display dialog “Timeout”
end if

– ENDE IF

Das ganze wird jetzt gespeichert:

So, hoffe das ganze war nachvollziehbar und interessant fà¼r den einen onder anderen. Wie schon beim ersten Beitrag gilt auch hier: bei Fragen einfach melden.

Der nà¤chste Beitrag in dieser Kategorie wird sich erneut dem Display Dialog widmen und ich denke dann ist das Thema auch fà¼r den Einsteig ausreichend abgefeiert.

Links:

Comments 20 Comments »

Eigentlich kann ich den wirklichen Reiz den Apple’s Applescript auf mich ausà¼bt nur schlecht in Worte fassen. Denke der Hauptaspekt ist der der Tatsache geschuldet, dass es anfà¤nglich einerseits nach einer relativ simplen Script-Sprache aussah und anderseits die Hoffnung damit in Zukunft viel in meinem Arbeitsalltag automatisieren zu kà¶nnen.

Mit diesem Hintergrund habe ich mich vor einigen Monaten mal drangesetzt und mir immer mal wieder kleine Script-Aufgaben gesetzt, die dann letztlich zu Tierprogramm gefà¼hrt haben. Das ganze ist mein erstes richtiges AppleScript basierendes Projekt und dienst als Lern & Spielwiese. Ein weiterer praktischer Aspekt war dass ich meiner Freundin beim editieren der Exifdaten Ihrer Bilder/Photos helfen konnte.

Da ich annehme das der Einsteig in Applescript fà¼r einige ein Problem darstellen kann, habe ich mich entschlossen in den folgenden Wochen immer wieder kleine Beispiele zu verà¶ffentlichen (je nach Nachfrage natà¼rlich)

Um dem alten Prinzip der Klassiker zu folgen ist der Einsteig ein einfaches Hello-World in Applescript.

How to:

Ich verwende inzwischen XCode als Entwicklungsplatform fà¼r Tierprogramm, aber fà¼r den Einstieg ist dies sicher etwas à¼berdimensioniert und bedarf eines eigenen umfassenden How-To’s. Daher wird im folgenden Apple’s Script Editor.app verwendet. Zu finden ist dieser unter:

/Applications/AppleScript/Script Editor.app

Ihr solltet etwas vergleichbares wie im folgenden Screenshot vor euch sehen.

Soweit so gut.

Nun wollen wir das ganze mal mit etwas Leben fà¼llen. Ziel ist es wie bereits erwà¤hnt das klassische Programmierbeispiel Hello World umzusetzten. Gebt dafà¼r nun im Script Editor folgenden Code ein:

display dialog “Hello World”

Das ganze sollte nun in etwa so aussehen wie im zweiten Screenshot.

Der Text ist komplett einfarbig, ganz einfach aus dem Grund dass wir ihn weder ausgefà¼hrt noch gespeichert haben. Ein klick auf den Button “Compile” wà¼rde unser kleines Programm nun minimal in der Darstellung innerhalb Script Editor abwandeln und folgendes Bild sollte sich zeigen:

Die Schrift hat sich zum letzten Screenshot verà¤ndert und wir sehen AppleScript eigene Befehle in blau angezeigt, den auszugebenden Text (innerhalb den Anfà¼hrungszeichen in schwarz).

Eigentlich sind wir nun auch schon fast am Ende des ersten kleinen Schrittes in AppleScript. Nun wollen wir das ganze natà¼rlich auch noch ausfà¼hren um unser Test-Script mal in Aktion zu sehen. Betà¤tigt dafà¼r bitten den Button “Run” in Script Editor.app und euch sollte ein Dialog-Fenster wie folgt entgegen springen:

Vielleicht noch ein abschliessender Kommentar bevor dir das ganze als Lektion abspeichern. Wenn Ihr den Hello World -Dialog mit “OK” bestà¤tigt passiert im Script Editor etwas … und zwar wird uns im unteren Bereich der Rà¼ckgabe Wert angezeigt.

Ok, ich denke das reicht als Lektion I, daher speichern wir das ganze via:

  • File
  • Save as “macfidelity_applescript_lektion1″

Im folgenden wird jeweils auch immer das abschliessende File als Download angeboten, wenngleich dies in dieser Lektion 1 vielleicht nicht wirklich notwendig ist.

Die nà¤chste Lektion wird sich dem Umgang mit Display Dialog widmen, wenn Fragen bestehen, einfach die Kommentar Funktion verwenden. Bin ja mal gespannt wer sich dafà¼r interessiert.

Fragen:

Sofern weiteres Interesse an dieser Serie besteht, was genau wà¼rde euch den interessieren ? Verwendet Ihr selber schon AppleScript, wenn ja wie lange und fà¼r was ?

Links:

Comments 3 Comments »

Some weeks ago i tested the package macfuse & fink’s ntfs-3g to get a basic write-support for OSX working on my Mac Pro.

Today lets do it much easier and much better :D

Get yourself the following packages:

Install MacFuse first, then install the ntfs-3g package. Reboot your mac.

If you have an NTFS-partition connected to your mac you will recognize some small changes:

  • Icon changes from default HDD-Icon to Network-device-Icon
  • You should have read & write support now on that drive

Big thanks to the MacFuse project and for sure to those guys from the ntfs-3g project.

The big advantage to my first attempt is clear and easy:

  • Less installation trouble (i.e.fink is not needed)
  • Drives are auto-mounted with ntfs-3g driver

Nice :D

Comments 3 Comments »

1