C++ débutant...

C++ débutant... - Programmation

Marsh Posté le 10-05-2001 à 04:49:47    

je cherche des sites ou il y des bon code pour apprendre vite les structure.

Reply

Marsh Posté le 10-05-2001 à 04:49:47   

Reply

Marsh Posté le 10-05-2001 à 10:28:30    

http://www.cplusplus.com
 
Mais je pense que tu ferais mieux d'acheter un bon bouquin...

Reply

Marsh Posté le 11-05-2001 à 00:13:01    

Sans vouloir te décevoir, dans "apprendre vite à programmer", il y a déjà une contradiction...  :sarcastic:
Alors en plus, si tu démarres avec C++...

 

[edit]--Message édité par BifaceMcLeOD--[/edit]

Reply

Marsh Posté le 11-05-2001 à 04:43:22    

tgrx a écrit a écrit :

http://www.cplusplus.com
 
Mais je pense que tu ferais mieux d'acheter un bon bouquin...




j'ai deja 4 livres et il sont super bien fait mais c trop repetif a la longue alors il me faut de code fait par des pro
pour que je puisse me casser la tete a les dechiffrer et apprndre mieux (c'est ma façon de faire  :D  )

Reply

Marsh Posté le 11-05-2001 à 04:45:19    

BifaceMcLeOD a écrit a écrit :

Sans vouloir te décevoir, dans "apprendre vite à programmer", il y a déjà une contradiction...  :sarcastic:
Alors en plus, si tu démarres avec C++...
 
 




Mais non, le c'est quand pas si dur que ça il faut juste etre attentif' malgré que des fois... :crazy:

Reply

Marsh Posté le 11-05-2001 à 10:27:42    

Ded_2K> trouve un petit projet qui te motive, et essaie de le faire le plus possible de maniere autonome (recherche sur internet en cas de pb, etc...). Et si tu galeres, on se fera un plaisir de t'aider.
C'est ma maniere d'apprendre un langage et la plus efficace.

Reply

Marsh Posté le 12-05-2001 à 04:35:23    

tgrx a écrit a écrit :

Ded_2K> trouve un petit projet qui te motive, et essaie de le faire le plus possible de maniere autonome (recherche sur internet en cas de pb, etc...). Et si tu galeres, on se fera un plaisir de t'aider.
C'est ma maniere d'apprendre un langage et la plus efficace.




C,est vrai que cette technique est tres efficace.

Reply

Marsh Posté le 12-05-2001 à 09:41:37    

Idée: tu fais un optimiseur d'organisation de fichiers pour une gravure sur plusieur cd, ca rendrait service à certains dans software :D

Reply

Marsh Posté le 12-05-2001 à 13:35:30    

gizmo a écrit a écrit :

Idée: tu fais un optimiseur d'organisation de fichiers pour une gravure sur plusieur cd, ca rendrait service à certains dans software :D




 
c'est vrai ça gizmo. ça me rendrait bien service :)

Reply

Marsh Posté le 12-05-2001 à 13:40:38    

ah bin ouais genre quand on a 5 Gigas a gravé tout prevoir pour que sa rentre bien sur le moins possible de CD

Reply

Marsh Posté le 12-05-2001 à 13:40:38   

Reply

Marsh Posté le 12-05-2001 à 14:16:09    

Kyp Durron a écrit a écrit :

ah bin ouais genre quand on a 5 Gigas a gravé tout prevoir pour que sa rentre bien sur le moins possible de CD




 
Oui, c'est un bon projet ça pour se lancer.
 
Ded_2K, au boulot :D


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 13-05-2001 à 07:09:39    

kadreg a écrit a écrit :

 
 
Oui, c'est un bon projet ça pour se lancer.
 
Ded_2K, au boulot :D




Vous ete dingue ou koi!
Chuis juste un débutant je peux pas faire des truc de ce genre quand meme  :lol:

Reply

Marsh Posté le 13-05-2001 à 08:35:20    

cout<<"hello world"<<endl


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 13-05-2001 à 08:36:37    

moi j'avais fait un prog qui calcule le nieme nombre premier...tres bien pour apprendre a se servir des tableaux et des whiles


---------------
Do you serve a purpose,Or purposely serve?
Reply

Marsh Posté le 13-05-2001 à 16:44:31    

djfm a écrit a écrit :

moi j'avais fait un prog qui calcule le nieme nombre premier...tres bien pour apprendre a se servir des tableaux et des whiles




 
Des tableaux? tu allais jusqu'a quel nombre pour devoir utiliser des tableaux? non, les nombre premiers c'est un peu trop facile, ca prend une ligne en Mumps :D
 
Ded_2k>> Rassure-toi, ce n'est pas si compliqué comme programme, du moins l'algorithme de base, après, tu peux t'amuser avec les interfaces et les commandes sur les fichiers.

Reply

Marsh Posté le 15-05-2001 à 03:46:38    

Chuis pas encore au niveau pour faire des tableux ( en tout si vous parler de tableux graphique...) pour l'instant chuis juste en traint de faire un petit calculateur de note de bultin pour me pratiquer avec les "IF" et "THEN" et les variables.  :lol:  
 
Mais un jour je serai bon... tres bon  :p  :lol:  :sol:

Reply

Marsh Posté le 16-05-2001 à 04:10:45    

A quoi ça sert les MAIN avec des "void"
ex:
un code régulier
main()
{
...
}

 
mais ya des code comme ça:
 
void main(void)
{
...
}

 
C'est quoi que ça fait quand ya un void? Est ce que c'est pour desactive tout ce qu'il y a dans la fonction?
 :??:  
Chuis vraiment un débutant... :wahoo:

Reply

Marsh Posté le 16-05-2001 à 05:08:17    

Ded_2K a écrit a écrit :

A quoi ça sert les MAIN avec des "void"
ex:
un code régulier
main()
{
...
}

 
mais ya des code comme ça:
 
void main(void)
{
...
}

 
C'est quoi que ça fait quand ya un void? Est ce que c'est pour desactive tout ce qu'il y a dans la fonction?
 :??:  
Chuis vraiment un débutant... :wahoo:




clair tu es un vrai de chez vrai :D
 
tu peux regarder la définition de 'void' dans le dico au fait :)
void sert à indiquer dans ce cas que la fonction ne prend aucun argument et n'en renvoie aucun. les deux écritures sont identiques et génèrent le même code, après c'est le style de chacun qui dicte l'écriture du code.
 
on définit souvent une fonction qui ne prend aucun paramètre et qui ne retourne rien par  void main().  
 
pour apprendre le c++, je n'ai jamais touché à un bouquin, c'est pour ça d'ailleurs que je ne connais pas les trucs cryptiques de puristes (je dirais bien inutiles mais bon ... :)).
j'ai appris en matant les sources & docs des MFC (fournies avec visual c++) ainsi que la sdk de 3d studio max. mater comment tout ça marche est déjà un excellent cours.

Reply

Marsh Posté le 16-05-2001 à 09:13:18    

youdontcare a écrit a écrit :

 
pour apprendre le c++, je n'ai jamais touché à un bouquin, c'est pour ça d'ailleurs que je ne connais pas les trucs cryptiques de puristes (je dirais bien inutiles mais bon ... :)).
j'ai appris en matant les sources & docs des MFC (fournies avec visual c++) ainsi que la sdk de 3d studio max. mater comment tout ça marche est déjà un excellent cours.




 
Ouais, c bien d'apprendre sans bouquins, j'fais pareil tant que possible, mais si tu mates pas un bouquin pdt que t'apprends, tu rates plein de détails, qui pourraient être utils...
Par exemple, tu sauras que:
void UneFonction(void) ou void UneFonction()
 
c pas la même chose que
 
UneFonction(), qui est plutot équivent à  
int UneFonction()
 
en effet, par défaut, quand on précise pas la valeur de retour, il s'agit d'une fonction de type int !
 
Tu devrais peut être te mettre à la lecture, non ? :D  :D  :D

Reply

Marsh Posté le 17-05-2001 à 04:26:40    

El_gringo a écrit a écrit :

 
 
Ouais, c bien d'apprendre sans bouquins, j'fais pareil tant que possible, mais si tu mates pas un bouquin pdt que t'apprends, tu rates plein de détails, qui pourraient être utils...
Par exemple, tu sauras que:
void UneFonction(void) ou void UneFonction()
 
c pas la même chose que
 
UneFonction(), qui est plutot équivent à  
int UneFonction()
 
en effet, par défaut, quand on précise pas la valeur de retour, il s'agit d'une fonction de type int !
 
Tu devrais peut être te mettre à la lecture, non ? :D  :D  :D




Je lit mais je check aussi des source mais vu que je nai pas vc++6.0 je regarde sur internet  :) et je regarde aussi des tutorial en anglais de http://www.cplusplus.com

Reply

Marsh Posté le 17-05-2001 à 07:01:40    

El_gringo a écrit a écrit :

 
 
Ouais, c bien d'apprendre sans bouquins, j'fais pareil tant que possible, mais si tu mates pas un bouquin pdt que t'apprends, tu rates plein de détails, qui pourraient être utils...
Par exemple, tu sauras que:
void UneFonction(void) ou void UneFonction()
 
c pas la même chose que
 
UneFonction(), qui est plutot équivent à  
int UneFonction()
 
en effet, par défaut, quand on précise pas la valeur de retour, il s'agit d'une fonction de type int !
 
Tu devrais peut être te mettre à la lecture, non ? :D  :D  :D



en tant que programmeur discipliné, je précise toujours le type de retour de mes fonctions :D
 
c'est justement le genre de subtilités dont je me fous totalement ... mais merci quand même ;)

Reply

Marsh Posté le 17-05-2001 à 09:29:01    

youdontcare a écrit a écrit :

 en tant que programmeur discipliné, je précise toujours le type de retour de mes fonctions :D
 
c'est justement le genre de subtilités dont je me fous totalement ... mais merci quand même ;)




 
Mais je suis pas le genre, programmeur tatillon qui fait gaffe à tout les détails qui servent à rien (c plutot le contraire d'ailleur !); mais en apprenant ...au feeling, ou du moins sans bouquins, c claire que tu peux pas te servir de pleins de truc qui t'échappent forcément, c ça que j'voulais dire, même si, c clair que sur l'exemple que g donné, on s'en tape (ms j'répondais à Mister pour sa question sur le main en même temps !)

Reply

Marsh Posté le 18-05-2001 à 04:37:41    

:crazy:  :sarcastic:  :crazy:

Reply

Marsh Posté le 19-05-2001 à 05:05:34    

Les tutorial de http://www.cplusplus.com sont vraiment super il m'apprenne plein de truc.
Je commence a vraiment aimer ça  :p


---------------
/Faut savoir dompter la technologie...\
Reply

Marsh Posté le 20-05-2001 à 05:14:42    

Il me faut un site ou je peux downloader des header...

Reply

Marsh Posté le 21-05-2001 à 04:45:21    

Personne ne connais de site pour moi ou il y a des headers...
Je cherche le <glut.h>
 :sweat:

Reply

Marsh Posté le 21-05-2001 à 07:16:43    

Quel est le log. le plus convivial que vous conseillez pour faire du C++  :??: moi j'ai un vieux CodeWarrior et j'aimerais bien changer !
@+

Reply

Marsh Posté le 22-05-2001 à 04:05:37    

...la g un probleme quand jessai de compilé des code openGL avec glut.h  (#include <gl/glut.h> )
sa dit se message la:
 
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1135: Declaration syntax error
Error E2238 c:\Borland\Bcc55\include\GL/gl.h 1136: Multiple declaration for 'WINGDIAPI'
Error E2344 c:\Borland\Bcc55\include\GL/gl.h 1135: Earlier declaration of 'WINGDIAPI'
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1136: Declaration syntax error
Error E2238 c:\Borland\Bcc55\include\GL/gl.h 1137: Multiple declaration for 'WINGDIAPI'
Error E2344 c:\Borland\Bcc55\include\GL/gl.h 1136: Earlier declaration of 'WINGDIAPI'
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1137: Declaration syntax error
Error E2238 c:\Borland\Bcc55\include\GL/gl.h 1138: Multiple declaration for 'WINGDIAPI'
Error E2344 c:\Borland\Bcc55\include\GL/gl.h 1137: Earlier declaration of 'WINGDIAPI'
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1138: Declaration syntax error
Error E2238 c:\Borland\Bcc55\include\GL/gl.h 1139: Multiple declaration for 'WINGDIAPI'
Error E2344 c:\Borland\Bcc55\include\GL/gl.h 1138: Earlier declaration of 'WINGDIAPI'
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1139: Declaration syntax error
Error E2238 c:\Borland\Bcc55\include\GL/gl.h 1140: Multiple declaration for 'WINGDIAPI'
Error E2344 c:\Borland\Bcc55\include\GL/gl.h 1139: Earlier declaration of 'WINGDIAPI'
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1140: Declaration syntax error
Error E2238 c:\Borland\Bcc55\include\GL/gl.h 1141: Multiple declaration for 'WINGDIAPI'
Error E2344 c:\Borland\Bcc55\include\GL/gl.h 1140: Earlier declaration of 'WINGDIAPI'
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1141: Declaration syntax error
Error E2238 c:\Borland\Bcc55\include\GL/gl.h 1142: Multiple declaration for 'WINGDIAPI'
Error E2344 c:\Borland\Bcc55\include\GL/gl.h 1141: Earlier declaration of 'WINGDIAPI'
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1142: Declaration syntax error
Error E2238 c:\Borland\Bcc55\include\GL/gl.h 1143: Multiple declaration for 'WINGDIAPI'
Error E2344 c:\Borland\Bcc55\include\GL/gl.h 1142: Earlier declaration of 'WINGDIAPI'
Error E2141 c:\Borland\Bcc55\include\GL/gl.h 1143: Declaration syntax error
Error E2228 c:\Borland\Bcc55\include\GL/gl.h 1143: Too many error or warning messages
*** 26 errors in Compile ***

 
pourtant c un code parfait, c pas moi qui les fait je les prit dans un tutorial. Et de plus j'ai les headers qu'il faut:
gl.h
glut.h
 
jutilise le compilateur de borland.

 

[edit]--Message édité par Ded_2K--[/edit]

Reply

Marsh Posté le 22-05-2001 à 11:39:03    

Essaye avec visual...
 
et puis pour la doc de structure, je trouve que le site de microsoft est suffisament bien fait. Tu as aussi les specif d'opengl et de directX. Tout est assez bien expliquer et bien présenter. Malheureusement, tout ne s'applique pas à borland...
 
http://msdn.microsoft.com/

Reply

Marsh Posté le 23-05-2001 à 03:32:15    

maintenant g rejouter des headers et le pb et - grand mais il est quand meme la, ça donne ça:
 
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
C:\WINDOWS\Bureau\DED\C++\Ded\mainGLUT.cpp:
Warning W8057 C:\WINDOWS\Bureau\DED\C++\Ded\mainGLUT.cpp 33: Parameter 'envp' is never used in function main(int,char * *,char * *)
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 'C:\BORLAND\BCC55\LIB\GLUT32.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

 
je pense que je devrai chager de compileur parce que g pas visual C++ pour l'instant.
Donne des lien ou j'pourrai downloader un bon compileur compatible glut.h parce je commence vraiment a avoir marre de se calvaire moi.
Bioland c de la merde on dirai :gun: .

Reply

Marsh Posté le 23-05-2001 à 03:33:46    

Ded_2K a écrit a écrit :

maintenant g rejouter des headers et le pb et - grand mais il est quand meme la, ça donne ça:
 
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
C:\WINDOWS\Bureau\DED\C++\Ded\mainGLUT.cpp:
Warning W8057 C:\WINDOWS\Bureau\DED\C++\Ded\mainGLUT.cpp 33: Parameter 'envp' is never used in function main(int,char * *,char * *)
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 'C:\BORLAND\BCC55\LIB\GLUT32.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

 
je pense que je devrai chager de compileur parce que g pas visual C++ pour l'instant.
Donne des lien ou j'pourrai downloader un bon compileur compatible glut.h parce je commence vraiment a avoir marre de se calvaire moi.
Bioland c de la merde on dirai :gun: .




ou il faut peut etre que je prenne un autre glut32.lib  :??:

Reply

Marsh Posté le 24-05-2001 à 04:01:46    

maitenant mon probleme est regler quand jutilise <gl/glut.h>
c parfait mais quand c une version windows avec <windows.h>,<gl/gl.h> et <gl/glu.h> sa donne cette merde:
 
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp:
Warning W8066 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 85: Unreachable code in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
Warning W8057 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 87: Parameter 'hPrevInstance' is never used in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
Warning W8057 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 87: Parameter 'lpCmdLine' is never used in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
Warning W8057 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 87: Parameter 'nCmdShow' is never used in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
Warning W8066 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 155: Unreachable code in function __stdcall WinProc(HWND__ *,unsigned int,unsigned int,long)
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_main' referenced from C:\BORLAND\BCC55\LIB\C0X32.OBJ
 
 :fou: c vraiment con sa rien merche avec ce foutu compilateur :fou:

Reply

Marsh Posté le 25-05-2001 à 05:04:22    

Avec Dev-C++ aussi sa marche pas  :fou:  :fou:  :fou:  
pourtant tout les hesders et lib son la  :fou:  
 :fou:                       :fou:  
    :fou:                 :fou:  
       :fou:            :fou:  
          :fou:       :fou:  
             :fou:  :fou:
                :fou:

 

[edit]--Message édité par Ded_2K--[/edit]

Reply

Marsh Posté le 27-05-2001 à 06:44:44    

comment on fai pour inpoeter des .lib avec Dev-C++  
est ce que c comme avec borland dans une console dos
IMPLIB  *.lib c:\windows\system\*.dll  :??:  
ou ya une autre methode specifique au Dev-C++
 
 :??:

Reply

Marsh Posté le 30-05-2001 à 03:46:21    

:??:

Reply

Marsh Posté le 30-05-2001 à 09:30:51    

Ded_2K a écrit a écrit :

maitenant mon probleme est regler quand jutilise <gl/glut.h>  
c parfait mais quand c une version windows avec <windows.h>,<gl/gl.h> et <gl/glu.h> sa donne cette merde:  
 
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland  
C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp:  
Warning W8066 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 85: Unreachable code in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)  
Warning W8057 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 87: Parameter 'hPrevInstance' is never used in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)  
Warning W8057 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 87: Parameter 'lpCmdLine' is never used in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)  
Warning W8057 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 87: Parameter 'nCmdShow' is never used in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)  
Warning W8066 C:\WINDOWS\Bureau\DED\C\Ded\Main (Windows).cpp 155: Unreachable code in function __stdcall WinProc(HWND__ *,unsigned int,unsigned int,long)  
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland  
Error: Unresolved external '_main' referenced from C:\BORLAND\BCC55\LIB\C0X32.OBJ  
 
 :fou: c vraiment con sa rien merche avec ce foutu compilateur :fou:




 
T'as oublié de spécifier que la cible était une appli Win32 dans ta ligne de commande (tu minke avec C0x32.obj, c'est pour des applis consoles !). Regarde dans l'aide du compilo, ça doit être l'option -t je crois me rappeler...

Reply

Marsh Posté le 31-05-2001 à 03:48:47    

ya pas de prob c un code parfai que j'ai pris dans un tutorial alors il doit etre bon...
ya surement un autre prob

Reply

Marsh Posté le 31-05-2001 à 04:37:26    

ahaha :)
Ok ok t'enerve pas !! D'autant plus que c'est ni la faute du compilo ni celle du code mais tout simplement la tienne :)
 
Desole de te fexer mais t'enerver comme ca et reporter la faute sur ton compilo sert a rien ! Demande toi deja si tu l'as bien regle !!
 
Donc pour l'explication : quand tu cree un projet tu as plusieurs options (en vrac et en gros !!):
- creation DLL statique/dynamique
- Une appli Win32 console (pas de mode graphique = une petite fenetre dos)
- Une appli Win22 (= mode graphique)
 
D'apres minuplus, (j'ai pas regarde moi meme) tu as cree ton projet en mode Console alors que glut...ben c'est des graphismes, de la 3D !!
 
Donc ca marche pas !! Comment tu veux qu'il compile ton truc si tu lui donne les mauvais settings ???
 
Alors tu change les settings comme minuplus t'as dit (ou tu cherche toi meme, ou tu recree un projet et insere ton code) avant de repondre "c'est pas de la faute du code..."
Si tu avais lu le message de minuplus en entier tu aurais vu que ca n'a rien a voir avec ton code mais c'est les options du compilo !
 
Et puis c'est pareil pour tout les compilo, c'est pas de la faute de Bordland !
 
Desole, je suis un peu violent mais tes posts m'ont enerve ! :)


---------------
Si t'es pas net, reste a la buvette
Reply

Marsh Posté le 01-06-2001 à 04:18:14    

...c'est pas ma faute non plus j'ai pas Borland...
J'ai juste le compilateur et pas Builder
donc ya un prob avec les .lib probablement
voici le code:

 
#include <windows.h>
#include <gl/gl.h>
#include <gl/glu.h>
 
void Draw();
void Reshape(int width,int height);
void InitGL();
 
void SetupPixelFormat(HDC hDC);
LRESULT CALLBACK WinProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
 
 
HINSTANCE HInst;
HDC   DC;
HGLRC  RC;
 
double a=0,b=0; //Angles
 
/////////////////////////////////////////////////////////////////
 
int WINAPI WinMain(     HINSTANCE hInstance,  
                        HINSTANCE hPrevInstance,    
                        LPSTR lpCmdLine,    
                        int nCmdShow)
{
 HInst = hInstance;
 
 WNDCLASS WindowClass =
 {
  0,
  WinProc,
  0,
  0,
  HInst,
  0,
  0,
  0,
  NULL,
  "La classe !",
 };
 
 
 if (!RegisterClass( &WindowClass)) exit(1);  
 
 
 HWND OpenGLWindow = CreateWindow( "La classe !",   //Classe de la fenêtre
                                      "Fenêtre OpenGL",     //Nom de la fenêtre
                                       WS_VISIBLE | WS_SYSMENU |  
           WS_SIZEBOX | WS_MAXIMIZEBOX |  
           WS_MINIMIZEBOX,   //Caractéristiques
                                      0,      //Position x
                                      0,      //Position y
                                      320,      //Largeur
                                      240,      //Hauteur
                                      0,      //Handle de la fenêtre mère
                                      0,      //Identifiant de la fenêtre fille
                                      HInst,    
 if (!OpenGLWindow) exit(1);
 
 MSG msg;
 do
 {
  while (PeekMessage(&msg,OpenGLWindow,0,0,PM_NOREMOVE))
  {
   if(GetMessage(&msg,OpenGLWindow,0,0))
   {
    DispatchMessage(&msg);
   }
   else return 0;
  }
 }
 while(1);
 
 return 0;//Pour la forme
 
}
 
/////////////////////////////////////////////////////////////////
 
void SetupPixelFormat(HDC hDC)
{
    PIXELFORMATDESCRIPTOR pfd = {
        sizeof(PIXELFORMATDESCRIPTOR), //taille descripteur format
  1,        //version
        PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW | PFD_DOUBLEBUFFER, //Propriétés
        PFD_TYPE_RGBA,  //couleurs
        16,        //Bits de couleur
        0, 0, 0, 0, 0, 0,    //Paramètres des couleurs
        0, 0,       //Paramètres alpha
        0, 0, 0, 0, 0,     //Paramètres du buffer d'accumulation
        32,        //Bits de profondeur
        0,        //Bits du buffer stencil  
        0,        //Nombre de buffers auxiliaires
        0,        //ignoré (obsolète)
        0,        //réservé
        0,        //ignoré (obsolète)
        0,        //Couleur de transparence
        0        //Ignoré (obsolète)
 };
    int pixelFormat;
 
    pixelFormat = ChoosePixelFormat(hDC, &pfd);
    if (pixelFormat == 0) {
        MessageBox(WindowFromDC(hDC), "Mode graphique non supporté par le driver.", "Problème",
                MB_ICONERROR | MB_OK);
        exit(1);
    }
 
    if (SetPixelFormat(hDC, pixelFormat, &pfd) != TRUE) {
        MessageBox(WindowFromDC(hDC), "Mode graphique non supporté par le driver.", "Problème",
                MB_ICONERROR | MB_OK);
        exit(1);
    }
}
 
/////////////////////////////////////////////////////////////////
 
LRESULT CALLBACK WinProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
 switch(uMsg)
 {
 case WM_CLOSE:
  wglMakeCurrent(NULL, NULL);
  if (RC) wglDeleteContext(RC);  
  ReleaseDC(hwnd,DC);
  PostQuitMessage(0);
  break;
 case WM_CREATE:
  DC=GetDC(hwnd);
  SetupPixelFormat(DC);
  RC = wglCreateContext(DC);
  if (!RC) SendMessage(hwnd,WM_CLOSE,0,0);
  wglMakeCurrent(DC, RC);
  InitGL();
  break;
 case WM_SIZE:
  Reshape(LOWORD(lParam),HIWORD(lParam));
  break;
 case WM_PAINT:
  Draw();
  break;
 default:
  return DefWindowProc(hwnd,uMsg,wParam,lParam);
  break;
 }
 return 0;
}
 
/////////////////////////////////////////////////////////////////
 
void InitGL()
{
 glEnable(GL_DEPTH_TEST);
 glEnable(GL_COLOR);
}
 
/////////////////////////////////////////////////////////////////
 
void Draw()
{
 a+=2;
 b+=1.6;
 
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
 
 glTranslated(0,0,-5);// Equivaut exactement à gluLookAt(0,0,5,0,0,0,0,1,0);
 glRotated(a,0,1,0);
 glRotated(b,1,0,0);  
 
 glColorMaterial(GL_FRONT_AND_BACK,GL_SPECULAR);
 glBegin(GL_QUADS);
  glColor3d(1,0,0);glVertex3i(1,1,1);
  glColor3d(0,1,0);glVertex3i(1,-1,1);
  glColor3d(0,0,1);glVertex3i(-1,-1,1);
  glColor3d(1,0,1);glVertex3i(-1,1,1); // 1 face
  glColor3d(1,1,0);glVertex3i(1,1,-1);
  glColor3d(0,1,1);glVertex3i(1,-1,-1);
  glColor3d(1,0,0);glVertex3i(-1,-1,-1);
  glColor3d(1,1,1);glVertex3i(-1,1,-1); // 2 faces
  glColor3d(1,0,0);glVertex3i(1,1,1);
  glColor3d(0,1,0);glVertex3i(1,-1,1);
  glColor3d(0,1,1);glVertex3i(1,-1,-1);
  glColor3d(1,1,0);glVertex3i(1,1,-1); // 3 faces
  glColor3d(1,0,1);glVertex3i(-1,1,1);
  glColor3d(0,0,1);glVertex3i(-1,-1,1);
  glColor3d(1,0,0);glVertex3i(-1,-1,-1);
  glColor3d(1,1,1);glVertex3i(-1,1,-1); // 4 faces
  glColor3d(1,1,1);glVertex3i(-1,1,-1);
  glColor3d(1,0,1);glVertex3i(-1,1,1);
  glColor3d(1,0,0);glVertex3i(1,1,1);
  glColor3d(1,1,0);glVertex3i(1,1,-1); // 5 faces
  glColor3d(1,0,0);glVertex3i(-1,-1,-1);
  glColor3d(0,0,1);glVertex3i(-1,-1,1);
  glColor3d(0,1,0);glVertex3i(1,-1,1);
  glColor3d(0,1,1);glVertex3i(1,-1,-1); // 6 faces
 glEnd();                        
 
 SwapBuffers(DC);
}
 
/////////////////////////////////////////////////////////////////
 
void Reshape(int width,int height)
{
 glViewport(0,0,width,height);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluPerspective(45.,float(width)/float(height),0.01,100);
}
//fin

 

[edit]--Message édité par Ded_2K--[/edit]

Reply

Marsh Posté le 01-06-2001 à 09:42:42    

Ded_2K > Je sais que tu n'as que le compilo. Quand tu compiles, tu tapes quelque chose comme  
 
'BCC32 -o truc.exe truc.cpp'
 
OK ? Ben ça, c'est la ligne de commande. Bon et ben tu regardes dans l'aide du compilo les options de ligne de commande, tu note laquelle te permet de dire au compilo que tu veux une application WINDOWS et pas une application DOS (comme je te l'ai déjà expliqué, ce doit être l'option '-t')
 
tu n'as rigoureusement pas besoin d'extraire quoique ce soit d'une quelconque dll.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed