1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
|
<?xml version="1.0" encoding="UTF-8" ?>
<sect1 id="specials">
<sect1info>
<title>Comandi Speciali e Variabili Globali Integrate</title>
<authorgroup>
<author><firstname></firstname> <surname></surname> <affiliation><address> <email></email>
</address></affiliation>
</author>
<othercredit role="translator"><firstname>Samuele</firstname><surname>Kaplun</surname><affiliation><address><email>kaplun@aliceposta.it</email></address></affiliation><contrib>Traduzione del documento</contrib></othercredit>
</authorgroup>
</sect1info>
<title>Comandi Speciali e Variabili Globali Integrate</title>
<para>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ì. </para>
<variablelist>
<varlistentry>
<term><function>@dcop(<parameter>appId</parameter>, <parameter>oggetto</parameter>, <parameter>funzione</parameter>, <parameter>argomenti</parameter>)</function></term>
<listitem>
<para>Esegue una chiamata a &DCOP;. @dcop(<quote>kmail</quote>, <quote>KMailIface</quote>, <quote>checkMail()</quote>, <quote></quote>) </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@dcopid</function></term>
<listitem>
<para>L'id &DCOP; del processo (kmdr-executor-@pid) </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@dialog(<parameter>finestra_di_dialogo</parameter>[,<parameter>parametri</parameter>])</function></term>
<listitem>
<para>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 <quote>variabile=valore</quote>. Puoi infine recuperare i parametri passati nell'ambiente globale. @global(variabile) ritornerebbe <quote>valore</quote>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@env(<parameter>variabileDiAmbiente</parameter>)</function></term>
<listitem>
<para>Viene espanso alla variabile d'ambiente specificata. @env(PWD) viene espanso a $PWD. Ricorda che <quote>$</quote> è parte della sintassi shell e non dovrebbe essere utilizzato. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@exec(<parameter>comando</parameter>)</function></term>
<listitem>
<para>restituisce l'output dell'esecuzione del comando specificato. @exec(ls -l). </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@execBegin ... @execEnd</function></term>
<listitem>
<para>come in <function>@exec</function>, 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. </para>
<itemizedlist>
<listitem><para><function>@execBegin(php)</function></para></listitem>
<listitem><para><function>@execBegin</function>#!/usr/bin/php</para></listitem>
</itemizedlist>
<para>Il primo utilizza il nome dell'eseguibile <acronym>PHP</acronym>. &kommander; cerca nel PATH <application>php</application> 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 <quote>shebang</quote> che può portare sia benefici che alcuni problemi. È utile ad esempio, se possiedi una copia beta di <acronym>PHP5</acronym> in <filename>/usr/local/bin</filename> che non deve essere trovata perché il percorso di ricerca è <filename>/usr/bin</filename>. Se, però, distribuisce la finestra di dialogo a qualcuno che ha messo <acronym>PHP</acronym> in <filename>/usr/local/bin</filename> questo non verrà trovato quando verrà usata la shebang. Perciò utilizzate le shebang con cautela. È invece raccomandato indicare l'eseguibile se condividete i file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@global(<parameter>variabile</parameter>)</function></term>
<listitem>
<para>viene espanso nel valore della variabile globale specificata. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@null</function></term>
<listitem>
<para>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.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@parentPid</function></term>
<listitem>
<para>Il &PID; del processo genitore. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@pid</function></term>
<listitem>
<para>Il &PID; del processo. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@readSetting(<parameter>chiave</parameter>, <parameter>valorePredefinito</parameter>)</function></term>
<listitem>
<para>legge un valore da <filename>kommanderrc</filename> </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@selectedWidgetText</function></term>
<listitem>
<para>il contenuto selezionato di un widget che può visualizzare più di un valore, come i widget lista </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@setGlobal(<parameter>variabile</parameter>, <parameter>valore</parameter>)</function></term>
<listitem>
<para>Imposta la variabile globale al valore specificato. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@widgetText</function></term>
<listitem>
<para>il contenuto di un widget </para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@writeSetting(<parameter>chiave</parameter>, <parameter>valore</parameter>)</function></term>
<listitem>
<para>scrive il valore in <filename>kommanderrc</filename> </para>
</listitem>
</varlistentry>
</variablelist>
<sect2 id="arrays">
<title>Gruppo delle Funzioni per Array</title>
<variablelist>
<varlistentry>
<term><function>@Array.values(<parameter>array</parameter>)</function></term>
<listitem>
<para>Restituisce una lista separata da EOL di tutti i valori contenuti nell'array. Può essere utilizzato per scorrere attraverso l'array.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@Array.keys(<parameter>array</parameter>)</function></term>
<listitem>
<para>Restituisce un elenco separato da fine riga (EOL) di tutte le chiavi del vettore.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@Array.setValue(<parameter>array</parameter>, <parameter>chiave</parameter>, <parameter>valore</parameter>)</function></term>
<listitem>
<para>Imposta una chiave ed un valore per un elemento di un array. Se l'array non esiste, viene creato.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@Array.clear(<parameter>array</parameter>)</function></term>
<listitem>
<para>Rimuove tutti gli elementi dal vettore.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@Array.count(<parameter>array</parameter>)</function></term>
<listitem>
<para>Restituisce il numero di elementi nel vettore.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@Array.value(<parameter>array</parameter>,<parameter>chiave</parameter>)</function></term>
<listitem>
<para>Restituisce il valore associato alla chiave indicata.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@Array.remove(<parameter>array</parameter>,<parameter>chiave</parameter>)</function></term>
<listitem>
<para>Rimuove l'elemento con la chiave indicata dall'array.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@Array.fromString(<parameter>array</parameter>,<parameter>stringa</parameter>)</function></term>
<listitem>
<para>Aggiunge tutti gli elementi nella stringa nell'array. La stringa dovrebbe essere nel formato <emphasis>chiave\tvalore\n</emphasis>."</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@Array.toString(<parameter>array</parameter>,<parameter>stringa</parameter>)</function></term>
<listitem>
<para>Restituisce tutti gli elementi nell'array nel formato <emphasis>chiave\t\n</emphasis>."</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="files">
<title>Gruppo di Funzioni per File</title>
<variablelist>
<varlistentry>
<term><function>@File.read(<parameter>file</parameter>)</function></term>
<listitem>
<para>Restituisce il contenuto del file indicato.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@File.write(<parameter>file</parameter><parameter>stringa</parameter>)</function></term>
<listitem>
<para>Scrive la stringa data su un file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@File.append(<parameter>file</parameter><parameter>stringa</parameter>)</function></term>
<listitem>
<para>Aggiunge la stringa data alla fine del file.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="strings">
<title>Gruppo di Funzioni per Stringhe</title>
<variablelist>
<varlistentry>
<term><function>@String.length(<parameter>stringa</parameter>)</function></term>
<listitem>
<para>Restituisce il numero di caratteri nella stringa.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.contains(<parameter>stringa</parameter>,<parameter>sottostringa</parameter>)</function></term>
<listitem>
<para>Controlla se la stringa contiene la sottostringa data.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.find(<parameter>stringa</parameter>)</function></term>
<listitem>
<para>Restituisce la posizione di una sottostringa nella stringa, o -1 se non trovata."</para>
<note><para>Questo comando avrà un altro parametro intero opzionale indicante la posizione iniziale da cui cercare nella versione Alpha 6.</para></note>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.left(<parameter>stringa</parameter>, <parameter>int</parameter>)</function></term>
<listitem>
<para>Restituisce i primi n caratteri della stringa.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.right(<parameter>stringa</parameter>, <parameter>int</parameter>)</function></term>
<listitem>
<para>Restituisce gli ultimi n caratteri della stringa.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.mid(<parameter>stringa</parameter>, <parameter>int inizio</parameter>, <parameter>int fine</parameter>)</function></term>
<listitem>
<para>Restituisce una sottostringa della stringa, iniziando dalla posizione data.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.remove(<parameter>stringa</parameter>, <parameter>sottostringa</parameter>)</function></term>
<listitem>
<para>Rimuove tutte le occorrenze di una data sottostringa.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.replace(<parameter>stringa</parameter>, <parameter>sottostringa_trova</parameter>, <parameter>sottostringa_sostituisci</parameter>)</function></term>
<listitem>
<para>Sostituisce tutte le occorrenze di una data sottostringa con un'altra fornita.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.upper(<parameter>stringa</parameter>)</function></term>
<listitem>
<para>Converte la stringa in maiuscolo.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.lower(<parameter>stringa</parameter>)</function></term>
<listitem>
<para>Converte la stringa in minuscolo.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.compare(<parameter>stringa</parameter>, <parameter>stringa</parameter>)</function></term>
<listitem>
<para>Confronta due stringhe. Restituisce 0 se sono uguali, -1 se la prima è più bassa, 1 se la prima è più alta</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.isEmpty(<parameter>stringa</parameter>)</function></term>
<listitem>
<para>Controlla se la stringa è vuota.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@String.isNumber(<parameter>stringa</parameter>)</function></term>
<listitem>
<para>Controlla se la stringa è un numero valido.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="builtins">
<title>Variabili Globali Integrate</title>
<para>L'accesso alle variabili globali integrate è analogo alle variabili globali regolari con <function>@global</function>.</para>
<variablelist>
<varlistentry>
<term><function>@global(_KDDIR)</function></term>
<listitem>
<para>La cartella in cui si trova la finestra di dialogo corrente.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>@global(_NAME)</function></term>
<listitem><para>Il nome della finestra di dialogo</para></listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
|