Specials en ingebouwde globale variabelen
&Sander.Koning;
Specials en ingebouwde globale variabelen 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. @dcop(appId, object, function, arguments) Doe een &DCOP;-aanroep. @dcop(kmail, KMailIface, checkMail(), ) @dcopid Het &DCOP;-id van het proces. (kmdr-executor-@pid) @dialog(dialog[,parameters]) 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 variable=value. U kunt de meegegeven parameters dan terugvinden in de global pool. @global(variable) retourneert value. @env(environmentVariable) Expandeert naar de opgegeven omgevingsvariabele. @env(PWD) expandeert naar $PWD. Onthoud dat $ deel van de shell is en niet gebruikt moet worden. @exec(command) retourneert de uitvoer van het uitvoeren van de opgegeven opdracht. @exec(ls -l). @execBegin ... @execEnd hetzelfde als @exec, maar met ondersteuning voor #! en meerregelige scripts. Dit ondersteunt diverse scripttalen door ze te declareren of door het gebruik van #!. @execBegin(php) @execBegin#!/usr/bin/php De eerste gebruikt de naam van het uitvoerbare bestand van PHP. &kommander; zoekt in het PATH naar php 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 weede voorbeeld gebruikt de klassieke #! die voor- en nadelen kan hebben. Als u een betaversie van PHP5 hebt, bijvoorbeeld, in /usr/local/bin die niet gevonden zou worden omdat de versie in /usr/bin gevonden zou worden is dit nuttig. Maar, als u het dialoogvenster verspreidt naar iemand die PHP alleen in /usr/local/bin 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. @global(variable) expandeert naar de waarde van de opgegeven globale variabele. @null 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. @parentPid Het &PID; van het ouderproces. @pid Het &PID; van het proces. @readSetting(key, defaultValue) leest een waarde uit kommanderrc @selectedWidgetText de geselecteerde inhoud in een widget die meer dan één waarde kunnen weergeven, zoals lijstwidgets @setGlobal(variable, value) Stelt de globale variabele in op de opgegeven waarde. @widgetText de inhoud van een widget @writeSetting(key, value) schrijf waarde naar kommanderrc De functiegroep "Array" @Array.values(array) Retourneert een EOL-gescheiden lijst van alle waarden in de array. Kan gebruikt worden om door een array te lopen. @Array.keys(array) Retourneert een EOL-gescheiden lijst van alle sleutels in de array @Array.setValue(array, key, value) Stel sleutel en waarde in voor een element van een array. Als geen array bestaat wordt deze aangemaakt. @Array.clear(array) Verwijder alle elementen uit de array. @Array.count(array) Retourneer aantal elementen in de array. @Array.value(array,key) Retourneer de waarde die bij de opgegeven sleutel hoort. @Array.remove(array,key) Verwijder element met de opgegeven sleutel uit de array. @Array.fromString(array,string) Voeg alle elementen in de tekenreeks toe aan de array. De tekenreeks moet van het formaat key\tvalue\n zijn. @Array.toString(array,string) Retourneer alle elementen in de array in key\tvalue\n formaat. De functiegroep "File" @File.read(file) Retourneer inhoud van het opgegeven bestand. @File.write(filestring) Schrijf gegeven tekenreeks naar een bestand. @File.append(filestring) Voeg gegeven tekenreeks toe aan het einde van een bestand. De functiegroep "String" @String.length(string) Retourneert het aantal tekens in de tekenreeks. @String.contains(string,substring) Controleer of de tekenreeks gegeven subreeks bevat. @String.find(string) Retourneer positie van een subreeks in de tekenreeks, of -1 als deze niet gevonden werd. Een optionele startpositie voor het vinden van volgende voorkomens is beschikbaar vanaf Alpha 6. @String.left(string, int) Retourneer de eerste n tekens van de tekenreeks. @String.right(string, int) Retourneer de laatste n tekens van de tekenreeks. @String.mid(string, int start, int end) Retourneer subreeks van de tekenreeks vanaf opgegeven positie. @String.remove(string, substring) Verwijder alle voorkomens van een gegeven subreeks. @String.replace(string, substring find, substring replace) Vervang alle voorkomens van een gegeven subreeks door een gegeven vervanging. @String.upper(string) Zet de tekenreeks om naar hoofdletters. @String.lower(string) Zet de tekenreeks om naar kleine letters. @String.compare(string, string) Vergelijk twee tekenreeksen. Retourneer 0 als ze gelijk zijn, -1 als de eerste lager is, 1 als de eerste hoger is. @String.isEmpty(string) Controleer of de tekenreeks leeg is. @String.isNumber(string) Controleer of de tekenreeks een geldig getal is. Ingebouwde globale variabelen Ingebouwde globale variabelen worden net als gewone globale variabelen benaderd met @global. @global(_KDDIR) De map waar het huidige dialoogvenster zich in bevindt. @global(_NAME) De naam van het dialoogvenster