Comandi Speciali e Variabili Globali Integrate

Samuele Kaplun

    kaplun@aliceposta.it

Traduzione del documento

# Comandi Speciali e Variabili Globali Integrate

I comandi speciali sono funzioni che vengono processate da &kommander;. Sappi che fino a quando &kommander; non avrà un parser completo tutti i comandi speciali saranno eseguiti prima che venga eseguito lo script. In molti casi questo non è un problema, ma talvolta sì.

`@dcop(appId, oggetto, funzione, argomenti)`

  Esegue una chiamata a &DCOP;. @dcop(kmail, KMailIface, checkMail(), )

`@dcopid`

  L'id &DCOP; del processo (kmdr-executor-@pid)

`@dialog(finestra_di_dialogo[,parametri])`

  Richiama la finestra di dialogo di Kommander specificata. Le finestre di dialogo sono ricercate nella cartella delle finestre di dialogo e nella cartella corrente - in quest'ordine. Ciò mette in sospeso la chiamata all'esecutore ed imposta la cartella predefinita a quella in cui si trova l'applicazione di Kommander. I parametri possono essere passati nell'usuale maniera Unix o puoi passare dei parametri per nome come in variabile=valore. Puoi infine recuperare i parametri passati nell'ambiente globale. @global(variabile) ritornerebbe valore.

`@env(variabileDiAmbiente)`

  Viene espanso alla variabile d'ambiente specificata. @env(PWD) viene espanso a $PWD. Ricorda che $ è parte della sintassi shell e non dovrebbe essere utilizzato.

`@exec(comando)`

  restituisce l'output dell'esecuzione del comando specificato. @exec(ls -l).

`@execBegin ... @execEnd`

  come in `@exec`, ma supporta gli script shebang (cioè che cominciano, ad esempio, con #!/bin/sh) e su più righe. Questo è utile in diversi linguaggi di scripting sia dichiarandoli o utilizzando una shebang.

  - `@execBegin(php)`

  - `@execBegin`#!/usr/bin/php

  Il primo utilizza il nome dell'eseguibile PHP. &kommander; cerca nel PATH php e se non lo trova verifica se è registrato con &kommander; in una posizione al di fuori del tuo path. Se non è così notifica all'utente che non può essere trovato. Il secondo esempio utilizza la classica shebang che può portare sia benefici che alcuni problemi. È utile ad esempio, se possiedi una copia beta di PHP5 in `/usr/local/bin` che non deve essere trovata perché il percorso di ricerca è `/usr/bin`. Se, però, distribuisce la finestra di dialogo a qualcuno che ha messo PHP in `/usr/local/bin` questo non verrà trovato quando verrà usata la shebang. Perciò utilizzate le shebang con cautela. È invece raccomandato indicare l'eseguibile se condividete i file.

`@global(variabile)`

  viene espanso nel valore della variabile globale specificata.

`@null`

  Restituisce null. Ora che Kommander verifica i widget vuoti durante l'esecuzione questo comando preverrà la segnalazione errata di errori nel caso della non impostazione dello stato di un widget.

`@parentPid`

  Il &PID; del processo genitore.

`@pid`

  Il &PID; del processo.

`@readSetting(chiave, valorePredefinito)`

  legge un valore da `kommanderrc`

`@selectedWidgetText`

  il contenuto selezionato di un widget che può visualizzare più di un valore, come i widget lista

`@setGlobal(variabile, valore)`

  Imposta la variabile globale al valore specificato.

`@widgetText`

  il contenuto di un widget

`@writeSetting(chiave, valore)`

  scrive il valore in `kommanderrc`

## Gruppo delle Funzioni per Array

`@Array.values(array)`

  Restituisce una lista separata da EOL di tutti i valori contenuti nell'array. Può essere utilizzato per scorrere attraverso l'array.

`@Array.keys(array)`

  Restituisce un elenco separato da fine riga (EOL) di tutte le chiavi del vettore.

`@Array.setValue(array, chiave, valore)`

  Imposta una chiave ed un valore per un elemento di un array. Se l'array non esiste, viene creato.

`@Array.clear(array)`

  Rimuove tutti gli elementi dal vettore.

`@Array.count(array)`

  Restituisce il numero di elementi nel vettore.

`@Array.value(array,chiave)`

  Restituisce il valore associato alla chiave indicata.

`@Array.remove(array,chiave)`

  Rimuove l'elemento con la chiave indicata dall'array.

`@Array.fromString(array,stringa)`

  Aggiunge tutti gli elementi nella stringa nell'array. La stringa dovrebbe essere nel formato chiave\tvalore\n."

`@Array.toString(array,stringa)`

  Restituisce tutti gli elementi nell'array nel formato chiave\t\n."

## Gruppo di Funzioni per File

`@File.read(file)`

  Restituisce il contenuto del file indicato.

`@File.write(filestringa)`

  Scrive la stringa data su un file.

`@File.append(filestringa)`

  Aggiunge la stringa data alla fine del file.

## Gruppo di Funzioni per Stringhe

`@String.length(stringa)`

  Restituisce il numero di caratteri nella stringa.

`@String.contains(stringa,sottostringa)`

  Controlla se la stringa contiene la sottostringa data.

`@String.find(stringa)`

  Restituisce la posizione di una sottostringa nella stringa, o -1 se non trovata."

  Questo comando avrà un altro parametro intero opzionale indicante la posizione iniziale da cui cercare nella versione Alpha 6.

`@String.left(stringa, int)`

  Restituisce i primi n caratteri della stringa.

`@String.right(stringa, int)`

  Restituisce gli ultimi n caratteri della stringa.

`@String.mid(stringa, int inizio, int fine)`

  Restituisce una sottostringa della stringa, iniziando dalla posizione data.

`@String.remove(stringa, sottostringa)`

  Rimuove tutte le occorrenze di una data sottostringa.

`@String.replace(stringa, sottostringa_trova, sottostringa_sostituisci)`

  Sostituisce tutte le occorrenze di una data sottostringa con un'altra fornita.

`@String.upper(stringa)`

  Converte la stringa in maiuscolo.

`@String.lower(stringa)`

  Converte la stringa in minuscolo.

`@String.compare(stringa, stringa)`

  Confronta due stringhe. Restituisce 0 se sono uguali, -1 se la prima è più bassa, 1 se la prima è più alta

`@String.isEmpty(stringa)`

  Controlla se la stringa è vuota.

`@String.isNumber(stringa)`

  Controlla se la stringa è un numero valido.

## Variabili Globali Integrate

L'accesso alle variabili globali integrate è analogo alle variabili globali regolari con `@global`.

`@global(_KDDIR)`

  La cartella in cui si trova la finestra di dialogo corrente.

`@global(_NAME)`

  Il nome della finestra di dialogo