<?xml version="1.0" encoding="UTF-8" ?> <sect1 id="specials"> <sect1info> <title >Specials en ingebouwde globale variabelen</title> <authorgroup> <author ><firstname ></firstname > <surname ></surname > <affiliation ><address > <email ></email> </address ></affiliation> </author> &Sander.Koning; </authorgroup> </sect1info> <title >Specials en ingebouwde globale variabelen</title> <para >Specials zijn functies die door &kommander; verwerkt worden. Let erop dat, totdat &kommander; een volledige parser heeft, alle &kommander;-specials eerst uitgevoerd worden en daarna het script. In de meeste gevallen is dat geen probleem, maar soms wel. </para> <variablelist> <varlistentry> <term ><function >@dcop(<parameter >appId</parameter >, <parameter >object</parameter >, <parameter >function</parameter >, <parameter >arguments</parameter >)</function ></term> <listitem> <para >Doe een &DCOP;-aanroep. @dcop(<quote >kmail</quote >, <quote >KMailIface</quote >, <quote >checkMail()</quote >, <quote ></quote >) </para> </listitem> </varlistentry> <varlistentry> <term ><function >@dcopid</function ></term> <listitem> <para >Het &DCOP;-id van het proces. (kmdr-executor-@pid) </para> </listitem> </varlistentry> <varlistentry> <term ><function >@dialog(<parameter >dialog</parameter >[,<parameter >parameters</parameter >])</function ></term> <listitem> <para >Start het opgegeven Kommander-dialoogvenster op. Het dialoogvenster wordt gezocht in de dialoogmap en in de huidige map - in die volgorde. Dit gaat vooraf aan de aanroep naar de uitvoerder en stelt de standaardmap in op degene waar de Kommander-toepassing zich in bevindt. Parameters kunnen op de gebruikelijke Unix-manier worden meegegeven of u kunt parameters met naam meegeven als <quote >variable=value</quote >. U kunt de meegegeven parameters dan terugvinden in de global pool. @global(variable) retourneert <quote >value</quote >. </para> </listitem> </varlistentry> <varlistentry> <term ><function >@env(<parameter >environmentVariable</parameter >)</function ></term> <listitem> <para >Expandeert naar de opgegeven omgevingsvariabele. @env(PWD) expandeert naar $PWD. Onthoud dat <quote >$</quote > deel van de shell is en niet gebruikt moet worden. </para> </listitem> </varlistentry> <varlistentry> <term ><function >@exec(<parameter >command</parameter >)</function ></term> <listitem> <para >retourneert de uitvoer van het uitvoeren van de opgegeven opdracht. @exec(ls -l). </para> </listitem> </varlistentry> <varlistentry> <term ><function >@execBegin ... @execEnd</function ></term> <listitem> <para >hetzelfde als <function >@exec</function >, maar met ondersteuning voor #! en meerregelige scripts. Dit ondersteunt diverse scripttalen door ze te declareren of door het gebruik van #!. </para> <itemizedlist> <listitem ><para ><function >@execBegin(php)</function ></para ></listitem> <listitem ><para ><function >@execBegin</function >#!/usr/bin/php</para ></listitem> </itemizedlist> <para >De eerste gebruikt de naam van het uitvoerbare bestand van <acronym >PHP</acronym >. &kommander; zoekt in het PATH naar <application >php</application > en als dit niet gevonden is, wordt gezocht of het in &kommander; is ingesteld buiten uw pad. Zo niet, dan wordt de gebruiker verteld dat het niet gevonden kan worden. Het tweede voorbeeld gebruikt de klassieke <quote >#!</quote > die voor- en nadelen kan hebben. Als u een betaversie van <acronym >PHP5</acronym > hebt, bijvoorbeeld, in <filename >/usr/local/bin</filename > die niet gevonden zou worden omdat de versie in <filename >/usr/bin</filename > gevonden zou worden is dit nuttig. Maar, als u het dialoogvenster verspreidt naar iemand die <acronym >PHP</acronym > alleen in <filename >/usr/local/bin</filename > heeft wordt deze niet gevonden als u de #! gebruikt. #! gebruiken is dus niet zonder risico en het wordt aangeraden het uitvoerbare bestand te gebruiken als u bestanden deelt.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@global(<parameter >variable</parameter >)</function ></term> <listitem> <para >expandeert naar de waarde van de opgegeven globale variabele. </para> </listitem> </varlistentry> <varlistentry> <term ><function >@null</function ></term> <listitem> <para >Retourneert null. Nu Kommander op een lege widgetText controleert bij het uitvoeren, voorkomt dit foutieve fouten in het geval van een niet-ingestelde staat op een widget.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@parentPid</function ></term> <listitem> <para >Het &PID; van het ouderproces. </para> </listitem> </varlistentry> <varlistentry> <term ><function >@pid</function ></term> <listitem> <para >Het &PID; van het proces. </para> </listitem> </varlistentry> <varlistentry> <term ><function >@readSetting(<parameter >key</parameter >, <parameter >defaultValue</parameter >)</function ></term> <listitem> <para >leest een waarde uit <filename >kommanderrc</filename > </para> </listitem> </varlistentry> <varlistentry> <term ><function >@selectedWidgetText</function ></term> <listitem> <para >de geselecteerde inhoud in een widget die meer dan één waarde kunnen weergeven, zoals lijstwidgets </para> </listitem> </varlistentry> <varlistentry> <term ><function >@setGlobal(<parameter >variable</parameter >, <parameter >value</parameter >)</function ></term> <listitem> <para >Stelt de globale variabele in op de opgegeven waarde. </para> </listitem> </varlistentry> <varlistentry> <term ><function >@widgetText</function ></term> <listitem> <para >de inhoud van een widget </para> </listitem> </varlistentry> <varlistentry> <term ><function >@writeSetting(<parameter >key</parameter >, <parameter >value</parameter >)</function ></term> <listitem> <para >schrijf waarde naar <filename >kommanderrc</filename > </para> </listitem> </varlistentry> </variablelist> <sect2 id="arrays"> <title >De functiegroep "Array"</title> <variablelist> <varlistentry> <term ><function >@Array.values(<parameter >array</parameter >)</function ></term> <listitem> <para >Retourneert een EOL-gescheiden lijst van alle waarden in de array. Kan gebruikt worden om door een array te lopen.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@Array.keys(<parameter >array</parameter >)</function ></term> <listitem> <para >Retourneert een EOL-gescheiden lijst van alle sleutels in de array</para> </listitem> </varlistentry> <varlistentry> <term ><function >@Array.setValue(<parameter >array</parameter >, <parameter >key</parameter >, <parameter >value</parameter >)</function ></term> <listitem> <para >Stel sleutel en waarde in voor een element van een array. Als geen array bestaat wordt deze aangemaakt.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@Array.clear(<parameter >array</parameter >)</function ></term> <listitem> <para >Verwijder alle elementen uit de array.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@Array.count(<parameter >array</parameter >)</function ></term> <listitem> <para >Retourneer aantal elementen in de array.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@Array.value(<parameter >array</parameter >,<parameter >key</parameter >)</function ></term> <listitem> <para >Retourneer de waarde die bij de opgegeven sleutel hoort.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@Array.remove(<parameter >array</parameter >,<parameter >key</parameter >)</function ></term> <listitem> <para >Verwijder element met de opgegeven sleutel uit de array.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@Array.fromString(<parameter >array</parameter >,<parameter >string</parameter >)</function ></term> <listitem> <para >Voeg alle elementen in de tekenreeks toe aan de array. De tekenreeks moet van het formaat <emphasis >key\tvalue\n</emphasis > zijn.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@Array.toString(<parameter >array</parameter >,<parameter >string</parameter >)</function ></term> <listitem> <para >Retourneer alle elementen in de array in <emphasis >key\tvalue\n</emphasis > formaat.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="files"> <title >De functiegroep "File"</title> <variablelist> <varlistentry> <term ><function >@File.read(<parameter >file</parameter >)</function ></term> <listitem> <para >Retourneer inhoud van het opgegeven bestand.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@File.write(<parameter >file</parameter ><parameter >string</parameter >)</function ></term> <listitem> <para >Schrijf gegeven tekenreeks naar een bestand.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@File.append(<parameter >file</parameter ><parameter >string</parameter >)</function ></term> <listitem> <para >Voeg gegeven tekenreeks toe aan het einde van een bestand.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="strings"> <title >De functiegroep "String"</title> <variablelist> <varlistentry> <term ><function >@String.length(<parameter >string</parameter >)</function ></term> <listitem> <para >Retourneert het aantal tekens in de tekenreeks.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.contains(<parameter >string</parameter >,<parameter >substring</parameter >)</function ></term> <listitem> <para >Controleer of de tekenreeks gegeven subreeks bevat.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.find(<parameter >string</parameter >)</function ></term> <listitem> <para >Retourneer positie van een subreeks in de tekenreeks, of -1 als deze niet gevonden werd.</para> <note ><para >Een optionele startpositie voor het vinden van volgende voorkomens is beschikbaar vanaf Alpha 6.</para ></note> </listitem> </varlistentry> <varlistentry> <term ><function >@String.left(<parameter >string</parameter >, <parameter >int</parameter >)</function ></term> <listitem> <para >Retourneer de eerste n tekens van de tekenreeks.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.right(<parameter >string</parameter >, <parameter >int</parameter >)</function ></term> <listitem> <para >Retourneer de laatste n tekens van de tekenreeks.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.mid(<parameter >string</parameter >, <parameter >int start</parameter >, <parameter >int end</parameter >)</function ></term> <listitem> <para >Retourneer subreeks van de tekenreeks vanaf opgegeven positie.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.remove(<parameter >string</parameter >, <parameter >substring</parameter >)</function ></term> <listitem> <para >Verwijder alle voorkomens van een gegeven subreeks.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.replace(<parameter >string</parameter >, <parameter >substring find</parameter >, <parameter >substring replace</parameter >)</function ></term> <listitem> <para >Vervang alle voorkomens van een gegeven subreeks door een gegeven vervanging.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.upper(<parameter >string</parameter >)</function ></term> <listitem> <para >Zet de tekenreeks om naar hoofdletters.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.lower(<parameter >string</parameter >)</function ></term> <listitem> <para >Zet de tekenreeks om naar kleine letters.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.compare(<parameter >string</parameter >, <parameter >string</parameter >)</function ></term> <listitem> <para >Vergelijk twee tekenreeksen. Retourneer 0 als ze gelijk zijn, -1 als de eerste lager is, 1 als de eerste hoger is.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.isEmpty(<parameter >string</parameter >)</function ></term> <listitem> <para >Controleer of de tekenreeks leeg is.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@String.isNumber(<parameter >string</parameter >)</function ></term> <listitem> <para >Controleer of de tekenreeks een geldig getal is.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="builtins"> <title >Ingebouwde globale variabelen</title> <para >Ingebouwde globale variabelen worden net als gewone globale variabelen benaderd met <function >@global</function >.</para> <variablelist> <varlistentry> <term ><function >@global(_KDDIR)</function ></term> <listitem> <para >De map waar het huidige dialoogvenster zich in bevindt.</para> </listitem> </varlistentry> <varlistentry> <term ><function >@global(_NAME)</function ></term> <listitem ><para >De naam van het dialoogvenster</para ></listitem> </varlistentry> </variablelist> </sect2> </sect1>