Il Forum di Orebla.it

Benvenuto nella community di Orebla.it
Oggi è mer 20 nov, 2019 6:07 am

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 7 messaggi ] 
Autore Messaggio
 Oggetto del messaggio: Alcuni chiarimenti sul C
Messaggio da leggereInviato: ven 15 lug, 2005 9:51 am 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Sono appena partito per lo studio del C e gi? da subito ho trovato qualcosina che non riesco a chiarire da solo.

Allora prima cosa ho creato il primo programmino idxxxa che si crea sempre, cio? quello del saluto stampato sullo schermo, l'ho compilato e linkato con djgccp e funziona, per? ora non riesco pi? a cancellare il file eseguibile!! Mi dice che un altro programma lo st? usando... :shock: ma non capisco come mai... Fa cos? anche con altri programmini idioti da me creati...

Una seconda cosa non riesco a capire la differenza tra #define e const!!

Poi sarebbe possibile creare una grafica, mi spiego meglio, se usi la funzione scanf per prendere dati da tastiera devi sempre usare la riga di comando. Io mi chiedevo non sarebbe possibile come in Visual Basic usare tipo una text box???

Ringrazio che mi aiuter? nel mio cammino per imparare il C!!

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: sab 16 lug, 2005 12:27 pm 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
allora...

il problema del file eseguibile mi sembra davvero strano... se usi djgpp prova a compilare con un comando del genere:

Codice:
 gpp -o hello.exe hello.c


ed esegui il programma in linea di comando:

Codice:
 hello.exe


a me non d? alcun problema.

in quanto all'uso delle costanti, la #define ti crea una "macro": in poche parole se dichiari una costante in questo modo:

#define PI 3.1415926

non fai altro che dire al compilatore di sostituire alla scritta PI, quando questa compare nel programma, il valore 3.1415926. non c?? nessuna variabile PI in memoria, questa ? solo una direttiva al preprocessore.

con const, invece:

const double pi = 3.1415926

creo una variabile a sola lettura in modo molto pi? pulita, che viene normalmente allocata in memoria.

quanto al problema della grafica, questo ? un po' complicato: in genere le funzioni Windows (le API) per gestire tool come finestre, dialoghi & co sono piuttosto complesse (la documentazione ? piuttosto prolissa), al punto che viene sconsigliato di usarle "a mano" e viene invece consigliato di gestirle attraverso Visual C++ (che per? ? a pagamento)...

insomma, se vuoi gestire la grafica su Windows o sborsi un po' di soldini per acquistare Visual C++ o cerchi di imparare le centinaia di pagine che compongono la documentazione sulle API

_________________
Immagine
Immagine


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: mar 19 lug, 2005 9:37 am 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
BlackLight ha scritto:
gpp -o hello.exe hello.c


Io l'ho sempre compilato cos?:
Codice:
 gcc hello.c -o hello.exe -lm

Perch? lo avevo letto nella guida ma dato che ? in inglese avr? capito male...
Cmq provo come dici, st? difatto che ho creato anche altri programmini e non riesco a cancellarli....
Blacklight ha scritto:
insomma, se vuoi gestire la grafica su Windows o sborsi un po' di soldini per acquistare Visual C++ o cerchi di imparare le centinaia di pagine che compongono la documentazione sulle API

Ma che strano che la Microsoft pretende che tu paghi... ho abbandonato il visual basic perch? non volevo spendere dei soldi per il programma ora se uno vuole fare una piccola finestra deve sborsare....

Cmq grazie per il chiarimento tra #define e const, con il libro non avevo capito.

Io in rete ho trovato questo per creare un form in C:
Codice:

using System;
using System.Drawing;// il namespace per gli elementi del form
using System.Windows.Forms;// il namespaces per il form

class MyForm : Form
{
     public MyForm()
     {
      /*------------------------------------
                     Un Button     
      -------------------------------------- */
      Button btn1 = new Button();
      btn1.Text= "Prova";// il testo dell bottone
      btn1.Size = new Size (50, 20);// la dimensione del button
      btn1.Location = new Point(this.Width/2,this.Height/2);// la posizione del bottone
      /*------------------------------------
                     Le propriet? dei form     
      -------------------------------------- */
      this.Text= "Prova di Form";// titolo del form
      this.StartPosition = FormStartPosition.CenterScreen;posizione sullo skermo al'inizio             
      this.Click += new EventHandler(clicking);// se viene cliccato quaccosa
      this.Controls.Add(btn1);// aggiungo il button
     }
      /*------------------------------------
                    Se il form viene clikkato     
      -------------------------------------- */
     public void clicking(object ob, EventArgs e)
     {
          MessageBox.Show("Tu hai cliccato sul form");
     }
     public static void Main()
     {
            Application.Run(new MyForm());
     }
}



Devo ancora provarlo, per? penso funzioni!

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: sab 27 ago, 2005 6:16 pm 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
[quote="orebla
Codice:

using System;
using System.Drawing;// il namespace per gli elementi del form
using System.Windows.Forms;// il namespaces per il form

class MyForm : Form
{
     public MyForm()
     {
      /*------------------------------------
                     Un Button     
      -------------------------------------- */
      Button btn1 = new Button();
      btn1.Text= "Prova";// il testo dell bottone
      btn1.Size = new Size (50, 20);// la dimensione del button
      btn1.Location = new Point(this.Width/2,this.Height/2);// la posizione del bottone
      /*------------------------------------
                     Le propriet? dei form     
      -------------------------------------- */
      this.Text= "Prova di Form";// titolo del form
      this.StartPosition = FormStartPosition.CenterScreen;posizione sullo skermo al'inizio             
      this.Click += new EventHandler(clicking);// se viene cliccato quaccosa
      this.Controls.Add(btn1);// aggiungo il button
     }
      /*------------------------------------
                    Se il form viene clikkato     
      -------------------------------------- */
     public void clicking(object ob, EventArgs e)
     {
          MessageBox.Show("Tu hai cliccato sul form");
     }
     public static void Main()
     {
            Application.Run(new MyForm());
     }
}



Devo ancora provarlo, per? penso funzioni![/quote]

beh, quello mi sa proprio che ? C++ non C (la keyword using ? solo del C++ e solo il C++ usa le classi...). cmq tutte quelle righe di codice non fanno altro che crearti un semplice form che non fa niente (per quello che mi ricordo della programmazione grafica sotto windows...) immagina quante righe di codice dovrai scrivere per creare un form un po' pi? complesso!!! volente o nolente, se vuoi programmare in modalit? grafica sotto windows mi sa proprio che devi usare visual c++ (o quella merda da bambini di visual basic).

quanto al comando, in genere per compilare listati in C si usa gcc, ma secondo molti guru della programmazione ? meglio compilare anche quelli con gpp (il compilatore C++) in quanto ? pi? rigido e pi? attento agli errori di programmazione di gcc. ma alla fine la differenza si fa solo su listati pi? o meno complessi, non certo su listati da tutorial!

ti ripeto che il problema degli eseguibili non me lo so proprio spiegare (forse perch? gcc non l'ho mai usato su windows), ma so che alcune versioni di gcc (almeno su linux) quando non viene specificato nessun file per l'output scelgono di default a.out (non so se sia lo stesso anche su windows). fammi sapere!

_________________
Immagine
Immagine


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: sab 27 ago, 2005 6:53 pm 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Allora ho risolto il problema di cancellare gli eseguibili!!
Infatti ho scoperto che devi cancellarli dal DOS. Vai sulla cartella di gcc e poi usando il del lo cancelli e tutto fila liscio... Non ho capito per? il perch?...
Forse perch? vengono usate dei file in comune con WIN.

Cmq ho poi trovato Visual C++, ora me lo devono portare poi vedo come funziona!! Devo dire che tra C o C++ e Visual Basic ci passa la sua bella differenza. Molto meglio il C!! MA di mille volte!!

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: lun 29 ago, 2005 9:26 am 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
s?, il visual basic l'ho sempre considerato alla stregua di un giocattolo per bambini... bambini che voglioni divertirsi a fare gli allegri programmatori e allora creano un bel form dove trascinano bottoni, griglie, menu... senza sapere neanche loro cosa fanno...

_________________
Immagine
Immagine


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: lun 29 ago, 2005 9:28 am 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Ho installato Dev C++ e devo dire che per il momento ? un po' difficilino da usare, ma st? imparando in fretta!

Cavolo per fare una finestra ci vogliono una cifra di righe di codice...

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 7 messaggi ] 

Tutti gli orari sono UTC + 1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010
phpBB SEO