Indice

1. Che cosa è yab? 7. Mostrare un grafico
2. Creare la finestra di una applicazione 8. Creare un bottone
3. Inloop - Durevole richiesta di funzioni 9. Test del programma nel terminale
4. Barra del menú nella finestra 10. Legare il codice del programma (soltanto Zeta)
5. Creare View addizionali 11. Help durante la programmazione
6. Mostrare un testo  

 




Che cosa è yab?

L'interprete yab è un dialetto BASIC, con alcuni progressi nello sviluppo delle finestre, disponibile per Linux e Playstation 2 YABASIC. yab è stato ottimizzato per BeOS, ZETA e Haiku con l'aggiunta di alcuni comandi.

Grazie a questo linguaggio di programmazione è molto facile creare piccoli e semplici programmi e perfino i programmi più complessi. Un buon esempio è costituito dal programma per masterizzare (CD/DVD) JABA contenuto in ZETA.

Scoprirete nel corso di questa lezione quanto sia semplice creare un'applicazione con yab . Questa guida non fornirà un'applicazione completa, ma le conoscenze base da imparare per iniziare a programmare in yab.



ritorna all'indice




Creare la finestra di una applicazione

Creare la finestra di una applicazione è semplice, dovete fornire solo l'istruzione window open e aggiungere alcuni dati riguardo dimensione, nome e indicazioni interne.

window open 50,50 to 600,500, "View", "WindowName"


Viene aperta una finestra, che inizia a 50 pixel dal bordo sinistro dello schermo e a 50 pixel dal bordo superiore. Dopo to vengono indicati il bordo destro e quello inferiore della finestra. Così otteniamo una finestra di dimensioni 550 pixel in larghezza e 450 pixel in altezza. Come potete vedere non viene data la dimensione della finestra, ma solo le sue coordinate sullo schermo.

Dopo i dati relativi alla dimensione della finestra segue il nome (qui: "View") per uso interno (internal). Con questo nome potete richiamare la finestra per esempio per chiuderla o inserire qualcosa in entrata.

WindowName indica il nome, che verrà visualizzato nella linguetta per contraddistingue la finestra. Cioè il nome, che vedrà I'utente.

ritorna all'indice


Inloop - Durevole richiesta di funzioni

Di seguito creiamo un Inloop, che ci è d'aiuto nell'esecuzione richieste ricorrenti nel programma. Tutto quello che è situato in questo loop (ciclo) del programma viene esguito continuamente come richiesto. Tutto ciò che sta fuori dal loop si avvia solo una volta o quando viene richiamato. Qui va notato che tutto quello che è prima del loop viene eseguito prima dell'avvio del loop e tutto quello che è contenuto nel loop solo quando richiamato.

inloop = true
while(inloop) 
     msg$ = message$ 
     switch msg$ 

          Here the entries are inserted into the loop. 

     end switch 
wend


Chiudere la finestra dalla TAB è un buon esempio, perchè questa funzione dovrebbe essere selezionabile in qualunque momento nella sequenza del programma. Inserite il seguente codice nella parte indicata nel loop con " Here the entries are inserted into the loop.". Utilizziamo l'istruzione case, che inizia con l'indicazione del nome e termina con break.

case "View:_QuitRequested|" 

    window close "View" 

break


Quando viene cliccato close sulla TAB, con il nome della finestra (View) e viene passata una domanda pertinente (qui _ QuitRequested).

Tutto ciò che si trova tra case "View:_QuitRequested|" e break, verrà eseguito una volta chiamata la sequenza. Poichè vorremmo chiudere la finestra, con window close "View" la finestra View viene chiusa.

ritorna all'indice


Barra del menù nella finestra

Nella maggior parte dei casi la finestra ha una barra dei menù, Per avere questa barra dei menù, dovete aggiungere il seguente codice sopra inloop e dopo l'apertura della finestra del programma, affinchè sia sempre visibile.

menu "Program", "Quit", "Q", "View"

Inoltre con questo esempio ci occupiamo della terminazione del programma. Con questo codice creiamo nel menù la voce Program e dopo questo punto si trova il punto secondario Quit (termina). L'indicazione della Q è I'indicazione della scorciatoia di tastiera (Alt + Q) con cui uno può terrminare il programma senza utilizzare il menù, L'ultima istruzione View è la finestra in cui va collocato il menù, Per arrivare alla formazione di altre voci del menù, devono essere inserite ulteriori linee, che sono costruite con lo stesso metodo illustrato. Cambiando il primo nome viene automaticamente aggiunta una seconda voce al menù. Lo stesso vale per i sottomenù.

Per l'opzione menù va aggiunta un'ulteriore entrata in Inloop. Che appare come segue:

case "View:Program:Quit|" 

  window close "View" 

break

Poichè chiamiamo una chiusura della finestra sopra la barra dei menu, l'edizione del comando segue la sequenza della selezione di menu scelta. La finestra del programma (View) su cui si trova il menù, la voce del menù Program e il sottomenù Quit.

ritorna all'indice


Creare View addizionali

Per non chiudere sempre la finestra del programma per caricare una nuova vista, è raccomandabile creare una ulteriore View alla stessa view principale. Ciò dovrebbe cominciare approssimativamente... 10 pixel sotto (nel caso fuori) una barra del menù nella finestra del programma il margine superiore.

view 0,10 to 550,450, "View1", "View"

Creare una View è simile ad aprire una finestra. Noi forniamo una View con il nome View1 sulla finestra del programma View. La View comincia in base al formato della finestra di programma sul lato sinistro da 0 pixel e dal margine superiore con 10 pixel (a causa della barra dei menu). Il bordo destro e quello inferiore sono indicati dopo to.

La View1è inserita dove dovrebbe essere indicata, in questo caso è direttamente sotto la finestra del programma.

ritorna all'indice

Mostrare un testo

Ora mostreremo del testo su questa View1.

view 0,10 to 550,450, "View1", "View"


Con draw text indichiamo che vorremmo aggiungere del testo. Con le specifiche 20.20 indichiamo le coordinate del testo sulla View. Cioè 20 pixel dal margine sinistro e 20 pixel dal margine superiore. ll testo che segue è il testo, che è indicato sulla View. Qui non viene fornita nessuna automatic line-makeup, così ciò va fornito, adattando il testo per indicare la finestra (View). Alla fine segue l'indicazione delle Views, su cui va indicato il testo.

ritorna all'indice


Mostrare un grafico

Per mostrare grafici dobbiamo aggiungere il codice seguente sotto le Views, su cui gradiremmo questi annunci (View1).

err = draw image 150,30, "/Path/to/Graphic/graphic.jpg", "View1"

Con err = draw image indichiamo che vorremmo inserire un grafico. Come nel caso del testo, seguono le coordinate, a cui va indicato lo schema. Secondo l'indicazione della posizione dell'immagine, vengono indicati il percorso del file e il file(Path/to/Graphic/graphic.jpg), che vorreste mostrare. I noltre alla conclusione di questa istruzione segue l'indicazione delle Views, su cui lo schema deve essere indicato.

ritorna all'indice


Creare un bottone.

Che cosa è un programma senza superfici di selezione per le specifiche funzioni del programma. Sia per aprire ulteriori finestre di programma o per effettuare varie mansioni, un tasto è untilizzato molto spesso.

button 400, 400 to 450, 420, "internal_Button name", "shown_Button name", "View1"


Noi forniamo un Button con 400 pixel del Viewborder di sinistra e 400 pixel del Viewborder superiore. Il formato dei tasti deriva dai dati seguenti (450 pixels) sul bordo destro e (420 pixels) su quello inferiore del bottone. come mostra l'esempio il nome del bottone per uso interno è seguito dal nome che viene mostrato sul bottone.

La funzione dei tasti è indicata come per la chiusura del programma, in Inloop come una istruzione case .

case "Internal_Button name|" 

   window close "View" 

break

Qui come prima con gli altri cases viene indicata la View e il nome interno del bottone. Inoltre in questo caso usiamo l'istruzione window close per terminare il programma. l tasto può anche anche mostrare per esempio il testo supplementare, il tasto, grafica o aprire e/o chiudere una finestra o una vista ulteriore.

ritorna all'indice


Test del programma nel terminale.

Se volete testare il vostro programma potete avviare il codice sorgente direttamente in una finestra del terminale.

yab /Path/to/source code.yab

Basta inserire yab in una finestra del terminale seguito da uno spazio. Poi trascinate (drag and drop) il file sorgente sul terminale così che il percorso venga mostrato, premete Enter per eseguire il programma.

Nel caso che state usando yab IDE, potete avviare il programma dalla MenuBar selezionate Program e poi con Run in Terminal lanciate il programma.

ritorna all'indice


Legare il codice del programma. (soltanto Zeta)

Il vostro programma è pronto, il prossimo passo è legarlo (bind ). Legandolo impedirete ad altre persone di visualizzare il codice del programma così solo voi potrete guardare e modificare il codice sorgente.

Aprite una finestra del terminale e inserite quanto segue:

yab -bind "Name of the program" /Path/to/source code.yab


Con yab -bind dichiarate che volete legare il codice sorgente. Il nome del programma è il nome del file che trovate nella vostra cartella home. Il codice sorgente può essere aggiunto come prima trascinandolo (drag and drop).

ritorna all'indice


Help durante la programmazione

- Vista la somiglianza con YABASIC, è sempre raccomandato cercare le soluzioni nella loro Documentazione.

- yab viene fornito con del codice esempio, che mostra differenti funzioni, potete trovarlo nella vostra cartella yab.

- Qui su BeSly c'è un yab ProgramHelp (in tedesco), dove sono descritte molte funzioni.

ritorna all'indice

Translation by Giuseppe Gargaro (Beck) of the www.iltuosistema.it.
Tutorial written by Christian Albrecht (Lelldorin) March 2006
Made available by BeSly, the BeOS & Zeta Knowledge.