Script AmigaDos

Riflessioni, eventi, curiosità

Script AmigaDos

Messaggioda Ricossa » mar lug 05, 2005 7:20 pm

Salve a tutti, e non tiratemi torte in faccia se vi faccio una domanda da ultimo della classe:

ecco, sto creando un piccolo script in cui ho bisogno di inserire una variabile al momento di eseguirlo (si tratta di "WAIT n"). Come faccio a farlo? Nel vecchio manuale di Commodore non ho trovato nulla di simile, ma solo variabili definite nello script stesso.

Grazie per i consigli

Luca il novellino
Luca Ricossa
http://lrs.club.fr
Avatar utente
Ricossa

Veterano
 
Messaggi: 188
Iscritto il: mar apr 12, 2005 6:13 pm
Località: Ginevra (CH)

Risolto

Messaggioda Ricossa » mar lug 05, 2005 7:58 pm

Mi rispondo da solo: la soluzione è REQUESTSTRING, che non c'era nell'AmigaDos. Grazie lo stesso

Luca

PS: lo script serve per quando viene l'abbiocco davanti al computer e che si vuole fare un sonnellino: si lancia il mio script, si sceglie fra quanti minuti si viene svegliati, e l'Amiga dice qualcosa col suo vocione robotico per svegliarvi.

Per chi lo vuole:

REQUESTSTRING Sveglia Minuti: >ENV:n
WAIT min=$n
SAY "Sveliah, fah nulohna, keh kohsah fah ee ahnkohrah ah la toh"

che vorrebbe essere: "sveglia fannullone che cosa fai ancora a letto"
Luca Ricossa
http://lrs.club.fr
Avatar utente
Ricossa

Veterano
 
Messaggi: 188
Iscritto il: mar apr 12, 2005 6:13 pm
Località: Ginevra (CH)

Messaggioda moly » mar lug 05, 2005 8:15 pm

I manuali dell'amigados (che sono anche tra i manuali del 3.5 e del 3.9) spiegano abbastanza bene come fare script. Se non riesci a reperirli te li posso spedire io in formato HTML. Tornando a bomba, devi aggiungere all'inizio dello script

.KEY VAR1,VAR2,...
.BRA {
.KET }

e così via. Per accedere ad una variabile devi usare le parentesi graffe {}

{VAR1}

nel tuo caso (se non vuoi usare i requeststring ma la linea di comando)

.KEY MINUTI/N
.BRA {
.KET }

WAIT min={MINUTI}
SAY "Sveliah, fah nulohna, keh kohsah fah ee ahnkohrah ah la toh"


o per esempio

.KEY FROM/A,TO,FORCE/S
.BRA {
.KET }

comando {FROM} {TO} {FORCE}


dove "/A" significa che la variebile deve essere sempre presente (ALWAYS) altrimenti viene generato un errore, "/N" se l'argomento è un numero, mentre "/S" è uno SWITCH e lo si usa come parametro di controllo o come opzione. Esistono altri template come /M (MULTIPLE) per argomenti multipli, /K (KEYWORD) se l'argomento è anche una parola chiave (es: BUF=BUFFER/K/N significa che il comando si aspetta qualcosa come BUF 20 o BUFFER 20 ) ed /F se l'argomento è una stringa.
No matter how many planets and stars are reflected in a lake

No matter how many universes there are

Franco Battiato - The Game is Over
Avatar utente
moly

Eroe
 
Messaggi: 900
Iscritto il: mer nov 26, 2003 10:17 pm
Località: Cesenatico.tmp (FC)

Messaggioda afxgroup » mer lug 06, 2005 4:30 pm

La shell dell'OS è stata sempre uno spettacolo. Peccato no l'abbiano potenziata. Anche se nell'ultimo aggiornamento qualche comando in più l'hanno inserito
Elf.library.. a noi due....
The BUG Hunter.. +1..
AMIGAONE - SAM - MOANA - A1200 - A600 - A500 - C64
Avatar utente
afxgroup

Admin
 
Messaggi: 3647
Iscritto il: ven giu 11, 2004 9:49 am
Località: Taranto

AmigaDos

Messaggioda Ricossa » gio lug 07, 2005 7:32 pm

@ moly:
>I manuali dell'amigados (che sono
>anche tra i manuali del 3.5 e del
>3.9) spiegano abbastanza bene
>come fare script.

OK, io ho solo quelli del sys 3.0, dei bei vecchi tempi quando comprai il 4000 (prima avevo un 2000) che c'era ancora commodore. Cerco di fare con quel che ho. Comunque, ho perfezionato un po' il mio script, magari gli faccio suonare una musichetta invece di farmi insultare :-)
Comunque, i manuali DOS in formato html mi interesserebbero. Oppure ci sono con AmigaForever? Devo dare un'occhiata (ho anche il cd del sys 3.9)

Salut,
luca
Luca Ricossa
http://lrs.club.fr
Avatar utente
Ricossa

Veterano
 
Messaggi: 188
Iscritto il: mar apr 12, 2005 6:13 pm
Località: Ginevra (CH)

Re: AmigaDos

Messaggioda Lecta » gio lug 07, 2005 8:54 pm

Ricossa ha scritto:Comunque, i manuali DOS in formato html mi interesserebbero. Oppure ci sono con AmigaForever? Devo dare un'occhiata (ho anche il cd del sys 3.9)

Salut,
luca


Se non ricordo male sul cd del 3.9 dovrebbero esserci i manuali in formato html.
Saluti,
Stefano Guidetti
AmigaOS 4 Translator & Betatester

Qualunquemente...
Avatar utente
Lecta

Eroe
 
Messaggi: 1145
Iscritto il: dom giu 08, 2003 3:55 pm
Località: Reggio Emilia (o giù di lì)

Messaggioda moly » gio lug 07, 2005 10:21 pm

Se hai il CD del 3.9 sei a posto! nella cartella dei manuali trovi un indice generale diviso in cinque parti tra cui il muanuale di AmigaDOS, che oltre a spiegare i comandi della shell spiega anche il funzionamento degli script.
No matter how many planets and stars are reflected in a lake

No matter how many universes there are

Franco Battiato - The Game is Over
Avatar utente
moly

Eroe
 
Messaggi: 900
Iscritto il: mer nov 26, 2003 10:17 pm
Località: Cesenatico.tmp (FC)

manuali

Messaggioda Ricossa » ven lug 08, 2005 8:07 am

@moly

>Se hai il CD del 3.9 sei a posto!

OK, vado a darci un'occhiata.
Grazie per i consigli (comunque lo script funziona anche col vecchio stile e requeststring (che è anche incluso nell'OS4!)

Luca
Luca Ricossa
http://lrs.club.fr
Avatar utente
Ricossa

Veterano
 
Messaggi: 188
Iscritto il: mar apr 12, 2005 6:13 pm
Località: Ginevra (CH)

Messaggioda moly » ven lug 08, 2005 10:00 pm

Potresti comunque aggiungere il ".KEY MIN/N" così da shell puoi immettere direttamente il valore numerico mentre da wb, senza il parametro, apparirebbe il requeststring :ammicca: ...
No matter how many planets and stars are reflected in a lake

No matter how many universes there are

Franco Battiato - The Game is Over
Avatar utente
moly

Eroe
 
Messaggi: 900
Iscritto il: mer nov 26, 2003 10:17 pm
Località: Cesenatico.tmp (FC)

script

Messaggioda Ricossa » sab lug 09, 2005 8:29 am

Per ora lo faccio così, e funziona come voglio io:

REQUESTSTRING Sveglia Per_quanti_minuti_vuoi_dormire?: >ENV:n
IF $n EQ ""
QUIT
ELSE
WAIT min=$n
SAY "svegliah fahn nool lohneh, keh kohsah fi ankoh rah ah leht toh"
ENDIF

l'ho messo in s: con un'icona di script e defaulttool iconx. Comunque per lanciarlo faccio ramiga+e (per eseguire un command), scrivo solo "sveglia" --il nome del mio script-- e funziona.

Altrimenti, invece di SAY, posso dare l'ordine di lanciare AMP con una musica di mia scelta, ma devo cambiare la fine ...

Salutoni

Luca
Luca Ricossa
http://lrs.club.fr
Avatar utente
Ricossa

Veterano
 
Messaggi: 188
Iscritto il: mar apr 12, 2005 6:13 pm
Località: Ginevra (CH)


Torna a Amiga in generale

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti

cron