[FR] [EN]
  [INFO] [COMPRA] [MAPPA] [RISORSE]

Compilatore


NUOVE CARATTERISTICHE DELLA VERSIONE 7

Questo documento riassume le nuove caratteristiche di FB^3 versione 7.

Come? un libro gratis?
Switching to FubureBASIC Una delle prime cose che noterete è l'inclusione della nostra nuova pubblicazione Switching to FutureBASIC (il vostro CD della Versione 7 è nell'interno della copertina di ultima pagina). Contiene informazioni per i programmatori che stanno imparando Mac OS X, l'ambiente Appearance e FutureBASIC in generale.

Un nuovo aspetto
Ci siamo rifatti il look! Le nostre nuove icone e la grafica sono disegnate per rinforzare il concetto che potete far crescere le vostre idee con FutureBASIC.



Lancio di stampa:
Parigi
21 sett. 2002

[ritorna all'inizio]

Thread
Per coloro che ancora non lo sanno: i thread sono una cosa molto bella! Potete assegnare un compito ad un a thread ed esso lo eseguirà mentre altre operazioni sono in corso.
FutureBASIC porta i thread un passo più avanti creando funzioni thread. Ogni volta che si chiama una funzione thread essa inizia il compito assegnato senza interrompere gli altri processi. Potete eseguire diverse di queste funzioni thread alla volta. Quando END FN viene incontrato, il thread è completo e l'ambiente di esecuzione dismette in modo trasparente tutto ciò che è stato usato per gestire tale particolare thread.

Un thread viene iniziato con:

THREADBEGIN FN miaFunzioneThread

Ad un certo punto nella funzione, dovrete verificare THREADSTATUS per concedere tempo di processo agli altri threads. Se restituisce un valore diverso da zero, allora c'è stata una richiesta di terminare l'azione della funzione. È anche possibile eseguire chiamate multiple alla stessa funzione thread e ogni chiamata produrrà la sua routine asincrona.



[ritorna all'inizio]

Help tag
Qualcuno può per piacere far scoppiare le bolle dei Balloon Help?
Stò passando agli Help Tag di Mac OS X. Questi piccoli, molto utili elementi possono apparire vicino ai bottoni (o altri oggetti Mac) per fornire utili aiuti ai vostri utenti finali.
Carbon Help Tags



[ritorna all'inizio]

Dove osano le aquile...
Ho usato le globali di memoria bassa (low memory globals) come [_time] così spesso nei miei programmi che posso scriverle nei miei sogni. Grosso problema: se fai tanto di guardare una globale di memoria bassa in Mac OS X, il tuo programma andrà in crash. Non ci sono finestre di avviso; nessuno ti batte sulla spalla e ti dice, "Hey, non farlo". Il tuo programma semplicemente terminerà.
E c'è di peggio. Non si può più sbirciare nelle strutture (come TEHandles) per estrarre le informazioni. Dovrete fare uso di funzioni di "prelievo" e "impostazione" del toolbox.

Usa FutureBASIC! Mentre il nostro programma viene compilato, FutureBASIC effettua una verifica dell'uso delle costanti corrispondenti a globali di memoria bassa o di strutture opache. Quando una costante "illegale" viene trovata, viene inviato un avviso (non vi metteremo in prigione per la prima volta).

Usa FutureBASIC ancora! Ora che Apple ha scordato tutto ciò con cui abbiamo lavorato, cosa dovremmo fare?
Dobbiamo solamente far scorrere il menu aiuto fino all'ultimo libro di Alain Pastor Conversione per Carbon. Alain esplora tutte le routine che sono scomparse dal vostro schermo radar Mac e fornisce sintassi alternative per ognuna di esse. Questo manuale è indispensabile per chiunque voglia cimentarsi con Carbon.



[ritorna all'inizio]

Utilità risorse
Mac OS X porta con sé un certo numero di problemi di gestione dei file. Molte delle chiamate da cui dipendono i nostri programmi improvvisamente hanno cessato di esistere.
Niete paura! Abbiamo sviluppato nuove routine che funzionano in tutte le versioni supportate del software di sistema (da 7.6 a 10.2 al momento in cui si scrive).

DEF CREATERESFILE
USR OPENRFPERM


Ci sono sempre stati problemi nella gestione delle risorse. Per aggiungere o modificare una risorsa in un file a volte dovevate preparare una pozione contenente occhi di pipistrello e una manciata di capelli di vostra suocera. FutureBASIC arriva in soccorso ancora una volta con una routine a prova di stupido che sostituisce o aggiunge una risorsa in un file in modo sicuro o vi restituisce i vostri soldi.

USR REPLACERESOURCE

Esiste un errore (e c'è sempre stato) nel Resource Manager del mac che riserva erroneamente spazio su disco ogni volta che viene effettuata una chiamata a ChangedResource. Se si effettua una modifica minore ad un piccolo handle di risorsa e si effettua tale chiamata per ogni modifica, il Resource Manager potrebbe allocare spazio per dozzine, anche per migliaia di copie della stessa risorsa.
Il nostro nuovo strumento per le risorse: DEF CHANGEDRESOURCE prima controlla un handle per verififcare che sia una risorsa. Se la è, si assicura che tale risorsa non sia già stata marcata come modificata. Solo quando tali criteri sono verificati essa chiama veramente il Resource Manager per che venga marcata.



[ritorna all'inizio]

UNIX
Ora da FutureBASIC abbiamo accesso al mondo UNIX. La nuova istruzione OPEN "UNIX" vi permette di trattare un canale UNIX come un file usando i comandi file i/o standard FutureBASIC.
Potete anche eseguire simultaneamente canali multipli unix aprendo ogni canale come se apriste un altro file. Sia che stiate copiando file, cercando volumi o anche solo scrivendo un calendario troverete che UNIX aggiungerà una nuova dimensione alla vostra programmazione.

// stampa un calendario per il 2002

OPEN "UNIX",1,"cal 2002"
DIM a$

DO
  LINE INPUT #1,a$
  PRINT a$
UNTIL EOF(1)

CLOSE 1


Switching to FubureBASIC



[ritorna all'inizio]

Seriali sotto OSX
Smettetela di parlare con i muri! Vi assicuriamo che implementare questa caratteristica non è stato un compito facile, ma siamo onorati di annunciare la disponibilità delle comunicazioni seriali in OS X. centinaia di programmi BASIC possono cominciare una nuova vita!


[ritorna all'inizio]

AppleScript
Fatevi una chiacchierata con il mondo usando AppleScript: Con la Versione 7, potete creare facilmente uno script AppleScript al volo dall'interno del vostro codice FutureBASIC, quindi eseguirlo ed ottenerne i risultati. Potete anche memorizzare lo script compilato per successivi usi. Una semplicità disarmante!
Un esempio?

ROUTE _toAppleScript
PRINT "return the path to me as string"
ROUTE _toScreen

LONG IF USR APPLESCRIPTRUN(messaggio$) = _noErr
PRINT messaggio$
END IF

Risultato:
Macintosh HD:AppleScriptRun folder:FB_Temp
Per un risultato più lungo avreste dovuto usare dataHandle = USR APPLESCRIPTGETRESULT.


[ritorna all'inizio]

Esempi, esempi, esempi...
Insieme alle migliaia di file di esempio sul CD potrete rimanere colpiti dalle nuove gemme che sono state aggiunte per questa versione. Troverete i programmi dimostrativi che vi mostreranno come:

  • disegnare con Quartz 2D
  • stampare testo senza aliasing
  • sperimentare con Altivec
  • caricare/scaricare file da Internet
  • implementare Drag & Drop
  • usare il Time Manager
  • mostrare le etichette di aiuto dinamiche di Carbon
  • programmare per OpenGL
  • accedere ai file ".nib"
  • accedere a proprietà non comuni delle finestre come sfondi metallici e trasparenze in OS X
  • giocare con la separazione del colore
  • suonare file musicali in OS X
  • creare ed eseguire script AppleScript dal vostro codice
  • inviare comandi UNIX
  • accedere alle porte seriali in OS X
  • e molti, molti altri...

  • [ritorna all'inizio]

    Un po' di questo e quello
    Certo, abbiamo sistemato qualche bug e migliorato alcune operazioni. Le operazioni di stringa sono molto più veloci di prima ed erano già molto veloci. Abbiamo anche cambiato il modo in cui si crea il nome predefinito per applicazioni senza nome. Ora viene creato usando il nome del file sorgente o del progetto. Abbiamo sistemato la finestra di Info predefinita e alcune altre cose per seguire le specifiche Apple del Human Interface Guidelines per Mac OS X.
    Ci siamo anche cambiati i calzini, quindi ci sono un sacco di buone notizie.


      © 2000 Pix&Mix
      tutti i diritti riservati
    INFO  |  ACQUISIRE  |  MAPPA  |  RISORSE

      FutureBASIC è un marchio registrato di Staz Software, Inc ed è usato previa autorizzazione.