Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema <graphics.h>
Forum - C/C++ - Problema <graphics.h>

Avatar
deserto (Normal User)
Newbie


Messaggi: 10
Iscritto: 22/08/2006

Segnala al moderatore
Postato alle 15:04
Sabato, 17/02/2007
Ho un problema con la libreria <graphics.h>.
Quando clicco su RUN dice: "BGI graphics not supported under Windows"

1) Che significa???
2) Cosa posso fare per utilizzare le funzioni grafiche in c++???



PM Quote
Avatar
deserto (Normal User)
Newbie


Messaggi: 10
Iscritto: 22/08/2006

Segnala al moderatore
Postato alle 15:43
Sabato, 17/02/2007
Ho risolto il problema !!!!

Cmq vorrei sapere adesso come si fa a mettere su schermo il contenuto di una variabile.
Ho provato con la funzione Outtextxy ma nn funge...Help me!!!

Ultima modifica effettuata da deserto il 17/02/2007 alle 15:44
PM Quote
Avatar
andry89mm (Member)
Pro


Messaggi: 128
Iscritto: 21/12/2006

Segnala al moderatore
Postato alle 21:17
Sabato, 17/02/2007
Carissimo..prima chiedi aiuto e poi...sono io a chiederlo a te..!! un pò di tempo fa mi era venuta la "fissa" di <graphics.h> ..ma a causa di quell'odioso messaggio che appariva anche a te decisi di lasciar perdere...puoi spiegarmi come hai risolto?? ti ringrazio :k:

PM Quote
Avatar
deserto (Normal User)
Newbie


Messaggi: 10
Iscritto: 22/08/2006

Segnala al moderatore
Postato alle 11:50
Domenica, 18/02/2007
Vedi se hai scritto correttamente queste istruzioni:

...........
int gdriver = DETECT;
int gmode;
initgraph(&gdriver,&gmode,"c:\\TC\\BGI");
............

Almeno il mio problema era questo, usando come compilatore il turbo c++ 3.0 della borland...poi nn so il tuo...


Ultima modifica effettuata da deserto il 18/02/2007 alle 11:58
PM Quote
Avatar
alexis (Normal User)
Newbie


Messaggi: 1
Iscritto: 04/03/2008

Segnala al moderatore
Postato alle 9:42
Venerdì, 23/05/2008
salve io sono uno studente di informatica e ho mooooooolti problemi con la grfica in c++.
ora vi spiego nn trovo una libreria da potere utilizzare in devc++.Mi basterebbe una libreria di grafica primitiva.
Attendo vostre risposte Grazie in anticipo:k:

PM Quote
Avatar
Zonzo (Ex-Member)
Rookie


Messaggi: 34
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 16:10
Venerdì, 23/05/2008
Per utilizzare la funzione grafica outtextxy, devi semplicemente passare la coppia di coordinate e la stringa che vorresti scrivere.
Ricordanto che nella finestra grafica l'origine delle assi comincia in alto a sinistra.

Il prototipo della funzione è questo:

void outtextxy(int x, int y,char *stringa);

Quindi i primi due valori sono le coppie di coordiante mentre l'ultimo parametro è la stringa da scrivere.


Codice sorgente - presumibilmente C++

  1. #include <grapichs.h>
  2.  
  3. int main()
  4. {
  5.    char stringa="Asse x";
  6.  
  7.    initwindow(300,300);  
  8.    outtextxy(100,100,"Asse x");  //Primo caso
  9.    outtextxy(100,100,stringa);   //Secondo caso
  10.  
  11. return 0;
  12. }



Puoi applicare sia il primo sia il secondo caso, in entrambi la funzione scriverà la stringa alla posizione (100,100).:k:

Per quanto riguarda il problema degli utenti che non riescono ad utilizzare la libreria  grapichs.h sotto windows o con il dev-c++, sarei felice di rispondergli.

Dovete sapere che la libreria graphics.h non risponde allo standard imposto dal C++.
Come tutti sappiamo esistono librerie standard del C, che ogni software house deve rispettare
come ad esempio la "stdio.h" la "stdlib.h"
la "conio.h" e tantissime altre.
La libreria graphics.h fù sviluppata solo da una software house di nome Borland, che appunto sviluppò il Borland C.
A quei tempi si utlizzava il sistema operativo DOS.
Credo che a questo punto vi siate già fatti un idea.
Visto che la libreria graphics.h non appartiene allo standard imposto dal C, tutte le altre software hose non hanno i diritti per copiare la libreria nel loro ambiente.
E così è successo per il Dev-c++.
L' ente o persona che ha sviluppato il Dev-c++ ha incluso tutte le librerie standard del C/C++ e
dato che nelle librerie standard non abbiamo la graphics.h che è solo ed esclusivamente propietà di Borland, il nostro compliatore non riconosce la libreria quando la includiamo.
Ora vi starete chiedendo: "Ma è possibile risolvere il problema?"
Certo, un giorno, una persona di buon cuore, ma di una bontà indescrivibile ha pensato di riscrivere la libreria grapichs.h per ambiente windows.
Assieme a questa risposta vi allego due file che adesso spiegherò a cosa servono.
(Per gli esempi prendo spunto dal Dev-C++)
Nel file zip torvate altri due file, di cui un headers file e una libreria statica di estensione ".a".
Cosa fare di questi due file?
Bisogna copiare l'headers file di nome "graphics.h" nella cartella "include" del C che si chiama "Dev-C++".
Mentre il file di nome "libbgi.a" bisogna copiarlo nella cartella di nome "lib".
Dopo aver fatto questo, il lavoro è quasi finito.
Manca un'utlimo tocco.
Bisogna aggiungere dei parametri al compilatore  
in modo che possa utilizzare la graphics.h.
Per inserire questi valori, nell'ambiente Dev-C++ si và dal seguente menù:
Strumenti->Opzioni di Compilazione.
Mettete una spunta sulla scelta "Aggiugni questi comandi alla linea di comando del linker"
e ci incollate questi qua:

-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

senza modificare spazi o altro.
Dopo date OK ed il gioco è fatto.
Ora potete utilizzare anche sotto windows tutte le funzioni grafiche che volete.
Date sfogo alla vostra immaginazione...
Ciao...Ciao...

:k:


Zonzo ha allegato un file: Graphics.h.zip (52968 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da Zonzo il 23/05/2008 alle 16:47
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 9:06
Domenica, 25/05/2008
Solo una precisazione che mi sento di indicare ogni volta che vedo scritto che un file .h e' una "libreria" ...

Specialmente per chi inizia a programmare in C ... un file .h e' un INCLUDE e NON una libreria.

Un INCLUDE e una LIBRERIA sono concetti diversi e distinti.

PM Quote
Avatar
Zonzo (Ex-Member)
Rookie


Messaggi: 34
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 15:16
Lunedì, 26/05/2008
Testo quotato

Postato originariamente da gantonio:

Solo una precisazione che mi sento di indicare ogni volta che vedo scritto che un file .h e' una "libreria" ...

Specialmente per chi inizia a programmare in C ... un file .h e' un INCLUDE e NON una libreria.

Un INCLUDE e una LIBRERIA sono concetti diversi e distinti.



Giusto, però per semplificare il concetto mi sono permesso di fare questo errore, chiedo scusa.
Giusta osservazione...:k:

PM Quote