" ... avete presente lo schemino degli insiemi che si intersecano? ...navigheremo soprattutto nella zona tratteggiata...a volte spostandoci, a seconda della corrente, anche nell'uno o nell'altro emisfero...senza allontanarci troppo però ..."

giovedì 5 agosto 2010

Hello World: l'evoluzione della specie !! Parte 2 ... il codice


Licenza Creative Commons
Questa opera è pubblicata sotto una 
Licenza Creative Commons.
Tutto quello che viene pubblicato in questo Blog è rilasciato sotto licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia

ovvero, in sintesi:

- puoi liberamente modificare, distribuire, esporre in pubblico tutto ciò che è presente in 
  questo Blog
- non puoi usare i contenuti del Blog per scopi commerciali
- devi citare l'autore: Franco Babbo - bytewalker su egoprogrammo.blogspot.com
- devi condividerlo allo stesso modo.
per altre informazioni:



Benvenuti nella seconda parte di “Hello World”: l'evoluzione della specie.
(terzo post in ordine cronologico)


Al solito una piccola premessa. Lo so che non vedete l'ora di iniziare a programmare, ma penso sia utile soffermarci un attimo, proprio per non perdere tempo dopo. Infatti le poche precisazioni che seguono mi permetteranno di non ripetermi troppo spesso.


Tutti gli esempi sono stati sviluppati nel seguente ambiente operativo e con le seguenti modalità.


Sistema operativo:
Linux Ubuntu 10.04 - Lucid Lynx - rilasciata nell'aprile 2010 e supportata fino ad aprile 2013


Compilatore:
g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3


Editor:
Ho usato sempre l'editor installato nell'SDK ...


Qt Creator 1.3.1
Based on Qt 4.6.2 (32 bit)
Built on Mar 10 2010 at 19:53:55


... ma anche gedit (con gli opportuni settaggi per l'evidenziazione del codice sorgente) andrà benissimo.
Ovviamente potete usare qualunque altro editor di vostro gradimento, a seconda anche del sistema operativo che stato usando, purchè generi  testo semplice (altrimenti il compilatore si arrabbia).


Nomi di file, directory e classi: ovviamente potete usare i nomi che preferite ma tenete presente che devono essere coerenti tra loro se fanno parte di un progetto.


Andiamo ad incominciare ...


hello1


Ecco il codice sorgente:
----------------------------------------
//Semplice Hello World modalità testo


#include
using namespace std;

int main(int argc, char *argv[])
{

cout << "Hello World!!"  <<  endl; 
return 0;
 } 
----------------------------------------


 Ed ecco le istruzioni per compilarlo:
 - create una cartella tanto per mantenere un po d'ordine: Hello1
 - create un file di testo e chiamatelo hello1.cpp 
- aprite la console e spostatevi sotto la directory Hello1
- lanciate il compilatore: g++ -o hello1 hello1.cpp
- date il comando ls noterete che oltre al file sorgente hello1.cpp è stato creato il file eseguibile hello1
- lanciatelo con il comando ./hello osserverete il messaggio “Hello World!!” in console 




hello2


 Ecco il codice: 


------------------------------------------


 //dimostrazione di un semplice Hello World grafico con le librerie Qt #include
#include


int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QLabel *hello_label = new QLabel("Hello World!!");

hello_label->show();

return a.exec();

}

--------------------------------------------

Istuzioni per la compilazione:

- create una directory Hello2
- create un file hello2.cpp e copiate il codice
- andate sotto la directory Hello2
- fate ls per dare un occhiata ai file, ovviamente per ora c'è solo hello2.cpp
- date il comando qmake -project
- fate ls: è stato creato il file hello2.pro
- date il comando qmake Hello2.pro (occhio a maiuscole / minuscole, il file ha il nome della directory)
- è stato creato il file MakeFile che contiene le direttive necessarie al compilatore per creare il vostro eseguibile
- date il comando make
- con ls noterete che sono stati creati i file Hello2.o ed Hello2 (che è il vostro eseguibile)
- lanciatelo con ./Hello2

apparirà la finestra (con il messaggio “Hello World!!”); ridimensionatela se necessario
Noterete che è una finestra molto semplice, ritagliata intorno al testo Hello World!!
 Questo perchè è priva di Layout; ne parleremo in seguito.

hello3

Stavolta usremo solo Qt, senza mai (necessariamente) usare la console.
- aprite Qt creator
- fate File --> New File or Project
- selezionate Qt 4 Gui Application
- scrivete il nome del proggetto: Hello3 e selezionate la directory che preferite
- fate Next
- lasciate inalterate le scelte in Select Required Modules e proseguite
- scrivete come nome di classe HelloClass e selezionate come Base Class “Qwidget”
- NOTA: osservate i nomi dei file header, sorgente e form
- fate Next
- fate Finish

A questo punto sarà stata creata una directoy nella posizione da voi scelta chiamata Hello3. Nella directory trovano posto i tre file di cui sopra più il file Hello3.pro creato anch'esso da Qt.

- aprite la cartella Forms (dentro Qt creator non dal vostro file manager)
- fate doppio click su helloclass.ui
- noterete una finestra vuota pronta per essere riempita di widget
- trascinate, dalla barra a sinistra, il widget TextLabel sulla Form a destra
- fate doppio click nella label e scrivete Hello World !! (o quello che vi pare)
- dalla barra dei Menù fate Build --> Run qmake
- NOTA: se date un occhiata al filesystem noterete che è stato aggiunto il MakeFile
- adesso fate Build --> Build Hello3.pro
- noterete che sono stati aggiunti numersi altri file: helloclass.o, main.o, moc_helloclass.o, Hello3.o, moc_helloclass.cpp e sopratutto il nostro eseguibile Hello3
- fate doppio click su Hello3 ed avrete la vostra finestra con relativo saluto

Di tutti questi file di progetto discuteremo in un secondo tempo. Per notate solo che:
- non avete scritto una riga di codice
- la finestra è più grande rispetto ad Hello2, ha la misura che avete scelto (o avreste potuto scegliere) dentro Qt usando il mouse.

Ma dei diversi aspetti dei programmi che abbiamo svilppato parleremo un'altra volta.

Per ora Buon divertimento ...

Nessun commento:

Posta un commento