Mon reve en C Majeur....

Sujets variés concernant le développement en PureBasic
Warkering
Messages : 808
Inscription : ven. 08/janv./2010 1:14
Localisation : Québec, Canada

Re: Mon reve en C Majeur.... :-(

Message par Warkering »

Salut!

Je fréquente souvent un site de programmation que je trouve génial : http://www.siteduzero.com

Tu prend le cours de programmation en Langage C dans le menu à droite et te voilà en business.
Il est très simpliste et te donne les bases du C. En un mois, tu est capable de te débrouiller en console.
Aussi, je te déconseille fortement la Windows API pour tes débuts. Elle est difficile d'adaptation au départ.
Pour les interface graphique, je ne peux pas vraiment te conseiller quelque chose puisque j'utilise PureBasic justement pour ce point là et je n'ai pas réellement chercher! :P

Bonne chance.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mon reve en C Majeur.... :-(

Message par Kwai chang caine »

Merci :wink:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Re: Mon reve en C Majeur.... :-(

Message par cha0s »

Déjà le C++ c'est du C déguisé, tant qu'on utilise pas certaine notion comme le mot clé virtual c'est exactement pareil avec une syntaxe différente, après je peut dire que tu est vraiment maso de mettre les mains dans le camboui, il existe beaucoup de lib qui interface les API (QT, GTK, wxwidget ...) et rentre la création, le skinage et l'utilisation simple comme un jeu d'enfant !

Ensuite pourquoi faire du C++ et pas du C ? car en C++ on peut utiliser les libs C mais pas l'inverse (ou alors faire un warp comme pour pure mais c'est lourds et chiant) et que la syntaxe C++ permet de faire du code agréable a relire, ce qui est chiant a lire on le fou dans une couche d'abstraction et sa devient du gâteau.

Par contre parser un langage vers un autre c'est très chiant et sa demande beauuucoup d'investissement avant d'être fonctionnel, surtout que PB change beaucoup et vite. Pour sa que j'ai plus ou moins laissé Chronos de coté !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mon reve en C Majeur.... :-(

Message par Kwai chang caine »

Merci beaucoup de tes conseils CHAOS 8)

Evidemment que si j'avais pu commencer par le C, comme dit patrick88 en temps et en heure, j'aurais été fier et je m'y serais remis
Et tu as tout raison, le C++ a deja été pensé pour faciliter le C, comme je pense que la nouvelle mouture c# fait de meme envers le C++.

Mais je crois sans trop me tromper qu'il faut essayer de comprendre le C++, car c'est lui qui est a l'origine de beaucoup de languages.

Je suis pas mazo, je suis inconscient, car comme toux ceux qui sont en bas d'une montagne qui est dans le brouillard, je ne voit pas la route a faire.
Mais, bon, tu as encore raison, il doit exister des trucs de dingue qui facilitent la programmation.
Deja MFC, je crois qui a deja été conçu pour eviter de passer par l'API, je me rappelle l'avoir lu

Je n'ai pas la pretention de faire un convertisseur complet de code, car tu as toujours raison, c'est un truc de guedin et tout bouge vite.
L'avantage du VC++ c'est qu'il bouge plus lui, puisqu'il est presque mort :lol:
Pour PB, c'est vrai c'est chiant, mais bon on s'en sort avec nos programmes, alors peut etre ...

Non ce qui m'aurait botté, c'est aller elements par elements...
C'est a dire par curiosité, regarder a quoi correspond une fenetre en C++, voir meme en C, fourrer ça dans une procedure PB.
Un peu comme je vois que certains d'entre vous regardent a quoi ressemble une fonction ou un grand code en ASM

Je m'excuse...mais CHRONOS, je n'avais pas suivi, je suis désolé que tu es été obligé de l'arreter si cela te tenais a coeur :(
A mon avis, j'irais pas bien loin dans mon projet....moi non plus, mais peut etre que ça donnera des idées à d'autres ?? :roll:

Deja j'ai une question super importante, si vous pouviez me repondre.
J'ai vu que VC++ creait noir de fichiers....ces fichiers sont il indispensables a tous les compilateurs, ou bien existe t'il un compilateur qui fait comme PB, compile le code source et basta ??? :roll:
En un mot ma question, c'est comme je connais CROSOFT et sa manie de tout compliquer, je me demande si y'a pas moyen de faire du C++ .....mais en plus plus simple :lol:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Re: Mon reve en C Majeur.... :-(

Message par cha0s »

En fait le C++ a été crée pour ajouter une couche objet au C, or l'objet c'est maintenant beaucoup utilisé et c'est normalisé (donc c'est bien :p). Pour crée une interface graphique en C/C++ le code dépend de L'API utilisé, la plus barbare que je connaisse étant X11(serveur X de linux) en concurrence avec celle de windaube.

Pour VC faut savoir que tu utilise un compilateur Microsoft qui va te crée PLEINN de truc inutile qui seront seulement intéressant si tu veut faire du code crade pas portable et au passage configurer ton appli de A à Z (par exemple dire que ta société a fait ce programme wow). Si tu utilise un compilo C/C++ tu doit forcement passer par les options de compilation pour lui dire comment tu veut compiler la bête et les librairies externes utilisé (si il y'en a). Celui de crosoft j'ai jamais rien comprit alors j'utilise GCC que je connait bien (MinGW sous windows), par contre changement de compilo = changement d'IDE (code::blocks par exemple interface énormément de compilo)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mon reve en C Majeur.... :-(

Message par Kwai chang caine »

Merci beaucoup CHAOS

Pour commencer, il me faut le plus simple possible....pour que ça m'embrouille pas...
Bon pour mon oeil que j'ai perdu, tanpis....si c'est plus simple avec MinGW et que ça fait le strict necessaire, je pourrais essayer.

Il faut que j'utilise un truc qui fait comme PB ....mais en C...
C'est a dire pas de chichi, pas de fichiers qui te compliquent la vie
Et l'ideal..ce serait un qui ne créé pas de fichier binaire....que du TXT comme PB, je ne sais pas si celui que tu m'a conseillé fait ça ?? :roll:
Comme ça plus facile de le parser 8)

Autrement comme j'achete noir de truc en C
J'avais acheté C++ builder 4....encore un jour ou j'avais cru que acheté la boite allais me rendre intelligent :oops:
Crois tu qu'il est du type que je recherche ???? sans chichi comme PB ??? :roll:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: Mon reve en C Majeur.... :-(

Message par flaith »

Comme Chaos, je te conseille d'utiliser Code::Blocks ou tu as aussi CodeLite
Tous les deux intègrent des templates, te permettant d'avoir un squelette de programme, compilables et fonctionnels immédiatement
:mrgreen:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mon reve en C Majeur.... :-(

Message par Kwai chang caine »

Merci FLAITH 8)
J'ai grand besoin de conseils en ce moment..

J'ai téléchargé COdeBlock..mais il est balaise et entretemps j'ai téléchargé Dev C++
J'ai aussi téléchargé MinGW on dirait VC++ ça a l'air bien , mais certains disent qu'il bug..alors je ne peut pas me permettre de commencer avec un truc qui BUG.
Parce que pour les BUG....c'est moi qui m'en occupe, j'suis super entrainé avec PB :mrgreen:

Je viens d'essayer aussi DEV C++, il a l'air drolement bien aussi et en plus en français 8O
Et a part un fichier .o en binaire...il a pas l'air de faire de chichi, apparement il utilise MinGW et il s'occupe de l'installe
Parce que j'ai écouté les conseils de CHAOS et essayé d'installer MinGW....et bah ça fait deux fois que je le telecharge...rien que l'installe c'est galere

J'ai aussi essayé de télécharger un Ultimate C++ ..

Apparement beaucoup de bien est dit de Dev C++ ....gratuit, pas de bug, il fonctionne sur XP en 32 bits, mais je viens de lire qu'il a été arreté.
http://www.dil.univ-mrs.fr/~garreta/gen ... evCpp.html

Bon j'ai fini de telecharger CodeBlock, je vais l'essayer....
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mon reve en C Majeur.... :-(

Message par Kwai chang caine »

Waooouuhh !!! vous avez raison...oui je sais, je sais ...vous avez toujours raison :?
Il est superbe ce code block 8O

Je peux vous le dire maintenant, mais comme j'avais lu qu'il fait un peu tous les langages..je voyais ça comme un bloc note sophistiqué :(
Et le probleme, c'est que comme j'y connais rien, je savais que j'allais me perdre pour tout connecter ensemble

Mais j'ai vu qu'il est top, il a trouvé tout seul le MinGW et je l'ai choisi par defaut.
Mais j'ai vu qu'il pouvait aussi utliser celui de VCC ++ donc j'suis content :D

En plus ça ressemble a VCC, il demande quelle appli je veux faire, j'ai repondu W32 GUI, c'est ce que je fait avec PB :mrgreen:
Par contre il est pas toujours poli, y me demande, frame based ou dialog based :?

Est ce que j'en sais si je veux du "frame based ou dialog based" ....moi j'veux du "KCC based ou PB Based" mais y'a pas l'option :(
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mon reve en C Majeur.... :-(

Message par Kwai chang caine »

C'est le TOP...merci mille fois CHAOS et FLAITH !!!
C'est apparement ce que je cherchais !!!
Comme PB il fait pas de la fioriture...je me demande juste si comme PB il est portable...sur une clef :roll:
Ce serait le top du top..faudra que j'essaie...

Je suis arrivé a creer facilement un projet...en fin de compte j'ai choisi "frame based " j'sais pas pourquoi ?? :roll:
J'ai fait run y m'a créé l'exe et ma jolie fenetre jaune elle est apparue.
Et y'a juste deux fichier TXT

main.cpp (Ou y'a le code dedans)
PbEnC.cbp (Ou y'a des infos, mais en txt, ce doit etre un style de XML :roll: )

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
	<FileVersion major="1" minor="6" />
	<Project>
		<Option title="PbEnC" />
		<Option pch_mode="2" />
		<Option compiler="gcc" />
		<Build>
			<Target title="Release">
				<Option output="bin\Release\PbEnC" prefix_auto="1" extension_auto="1" />
				<Option object_output="obj\Release\" />
				<Option type="0" />
				<Option compiler="gcc" />
				<Compiler>
					<Add option="-O2" />
				</Compiler>
				<Linker>
					<Add option="-s" />
				</Linker>
			</Target>
		</Build>
		<Compiler>
			<Add option="-Wall" />
		</Compiler>
		<Linker>
			<Add library="gdi32" />
			<Add library="user32" />
			<Add library="kernel32" />
		</Linker>
		<Unit filename="main.cpp" />
		<Extensions>
			<code_completion />
			<envvars />
			<debugger />
			<lib_finder disable_auto="1" />
		</Extensions>
	</Project>
</CodeBlocks_project_file>
Et apres deux autres fichier en TXT aussi...
PbBenc.workspace (Pour la sauvegarde)

Et pour le dessert un fichier "Yaourt" :D
PbEnC.layout

Je vous aimes...j'suis tellement content que ça m'a donné faim....
Y'a un sanglier dans la cour....je crois que je vais l'aimer aussi :mrgreen:
Bon j'vais prendre 10 Kg pour feter ça :D

Encore merci 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Mon reve en C Majeur.... :-(

Message par Backup »

Merci les gars , grace a vous KCC va se KC sur les forum du C
ça va nous faire des vacances :lol:
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Mon reve en C Majeur.... :-(

Message par Patrick88 »

essayes le "MEU"

MEU est une des syllabes du langage quadrisyllabique des Shadoks (avec GA, BU et ZO). C'est en particulier leur mot pour le chiffre « trois »

:mrgreen:

pat
Avatar de l’utilisateur
case
Messages : 1545
Inscription : lun. 10/sept./2007 11:13

Re: Mon reve en C Majeur.... :-(

Message par case »

je comprend pas KCC sur ce coup la ,)

lol
ImageImage
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mon reve en C Majeur.... :-(

Message par Kwai chang caine »

Merci les gars , grace a vous KCC va se KC sur les forum du C
ça va nous faire des vacances
Deja KCC y va pas se casser sur le forum du C, parce que les forums du C...vous y etes pas :?

J'y suis deja allé, car une fois on m'avait dit que pour parler C, fallait que je demenage....et ben j'suis allé voir...et ben c'est triste :(
Et super dur....
Moi je voudrais essayer de rendre un peu accessible le C grace a PB
je comprend pas KCC sur ce coup la ,)
J'ai toujours voulu faire du C mais j'ai jamais eu le courage, et j'y comprenais rien.
Apres j'ai mal tourné, vers le GFA basic, le QBasic, pour finir delinquant du VB6

Ensuite, depuis que je fais du PB malgré que ce soit un basic, on retrouve beaucoup de sujet du C; normal bas niveau il est, mon jeune padawan, donc.....

Image

Je vieilli, et je vois défiler les années, et vu que je commence a voir la force penetrer en moi, par le petit orifice....non pas celui la :?
Et bien je me dit que je peux peut etre commencer ma formation

Ce n'est pas nouveau puisque deja y'a trois ans j'en parlais
http://www.purebasic.fr/french/viewtopi ... 384#p66384

J'ai abandonné, comme dab, mais le remord me hante tous les jours.
C'est mon reve, pour moi on est un vrai programmeur que lorsque l'on connait, ne serais ce qu'un peu, l'un de ces deux illustres langages que sont l'ASM et le C/C++
D'ailleurs comment se fait il que pas mal de programmeurs de haut niveau sevissant sur le forum continue a faire du C apres avoir connu et maitriser PB ???
Parce que je pense qu'ils sont complementaires....et aussi pour un souci d'echange dans le monde professionnel

Je sais, je sais on en a déja parlé, maintes et maintes fois...
Mais comme le saumon, je ne sais pourquoi, j'ai ce besoin de remonter aux sources, alors que tout le monde va de l'avant.
J'ai la sensation d'avoir loupé quelque chose...rien que quand on code en PB, les references au C sont omni presente, on ne peut ignorer la force, meme si elle est invisible elle est la :roll:
Pour ceux qui le connaissent, il est difficile de comprendre pourquoi un mec qui n'arrive deja pas a coder en PB, recherche la difficulté dans le C
Mais vous le connaissez, alors vous avez choisi de votre plein gré de faire du PB..moi j'ai choisi PB car il est simple tout en etant puissant, rapide comme le C...comme le C, le C..le C...

C'est juste un rapprochement pour la Nieme fois que je cherche a faire...par une revolution de la programmation, ni un super parser de la mort. Je n'en ai pas les moyens intellectuels....
Juste une approche du C...a partir de PB
Et j'ai vu que FRED lui meme n'y voyais pas de mal...
C'est quand j'ai vu que le compilateur PB etait fait en C, que le cauchemar a commencé...moi j'etais sur qu'il etait fait en ASM

De plus je suis un passioné des DLL...et le C est LE langage de la DLL 8)

Mais je trouve l'idée interessante...
Un peu comme le HTML, j'avais commencé a faire un generateur de code HTML, pour eviter de me cogner la mise en page de X annonces sur EBay...

Et puis, j'aimerais au moins arriver un peu plus loin que le double clic sur l'icone VC++ et le clic sur le carré de l'angle droit :(

Le tout c'est de trouver un IDE aussi simple que PB...pour commencer..;et qui créé pas noir de daube qui servent a rien
Apparement ce CodeBlock il a l'air cool
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Mon reve en C Majeur.... :-(

Message par Kwai chang caine »

Bon un coup de balai...je sais que les puristes vont se tirer les cheveux
Mais j'ai indenté à la PB, pour pas trop m'y perdre...

Faut reconnaitre que plus on fait du C...plus on aime PB :roll:
Mais c'est rigolo....y'a quand meme des sacré similitudes 8O

Reste à fourrer ça dans une procedure PB....en separant bien sur la gestion d'evenement, la couleur et tout le toutim..... :roll:
Alors de ce que j'ai compris ..
Ca c'est l'equivalent de WindowEvent(), faut pas qu'j'oublie de le declarer au debut...je m'rapelle d'un de mes livres que j'avais lu ....

Code : Tout sélectionner

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
Ca c'est le select case de l'Event

Code : Tout sélectionner

switch (message){
  case WM_DESTROY:
   PostQuitMessage (0);       // envoie un message WM_QUIT dans la file d'attente
   break;
  default:
   return DefWindowProc (hwnd, message, wParam, lParam);
 }
Avec le WM_DESTROY qui devrait correspondre a #PB_Event_CloseWindow
Break..pas besoin de trouduc.....heu non...un trouduc....vous en avez un dans le forum...c'est votre serviteur KCC....j'voulais dire de traduc :oops:
Quoi qu'il en soit...meme si c'est nul....que ça pu...c'est drolement utile d'avoir un trouduc...car autrememnt on est drolement dans la mer.....
Tiens... ça me fait penser à une blague...(Non KCC..pas à cette heure :? )

Ca c'est l'appel du hublot

Code : Tout sélectionner

hWnd = CreateWindowEx (0, szClassName, "Fenetre simple", WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 644, 475, HWND_DESKTOP, NULL, hThisInstance, NULL);
Avec la protection que FREDO y nous dit de mettre si la fenetre elle peut pas etre crée If OpenWindow(#Fenetre, x, y, LargeurInterne, HauteurInterne, Titre$ [, Options [, FenetreMereID]])

Code : Tout sélectionner

if (RegisterClassEx (&wincl) == false) // On enregistre la classe déclarée avec WNDCLASSEX
  return 0 ;   //  et en cas d'erreur on quitte le programme
Et ça tout le monde y connait....car FREDO Y s'est fait un fion comme ça, pour toutes nous les repertorier avec un underscore derriere 8)

Code : Tout sélectionner

ShowWindow(hWnd, nCmdShow);
Bon je crois que fait le tour de la fenetre...enfin presque.
"J'ai rien compris a la classe"..WNDCLASSEX wincl;
Mais j'ai l'habitude, ma femme me dit ça tous les jours :?

Et reste du flou pour le retour d'evenement que je suppose en callback (Trop malin ce KCC c'est ecris partout 8O )

Code : Tout sélectionner

MSG messages;
  while (GetMessage (&messages, NULL, 0, 0)){
   TranslateMessage(&messages);
   DispatchMessage(&messages);
  }
  return messages.wParam;
Je sais pas quand j'aurais le temps de me remettre la dessus....
Mais bon...grace à vous....j'ai deja un debut
Demain j'suis puni de PC...faut que je sorte avec ma femme :(
Pis j'ai aussi mon organigramme et mon prog de decoupe de zic en morceau tout "pourite" à finir... :roll:
On chome pas dans la KCC Industrie CORPORATION :?

Encore merci à tous...et si vous voyez une erreur que j'aurais fait ou si je m'y prend mal....
Ca m'etonnerais...mais on sait jamais pour une fois :lol:
Hesitez pas....gentillement...mais hesitez pas :D

Lundi, j'aurais de la corne sur le dessus des mains
Car elles vont frotter les murs des couloirs du bureau....
J'vais ecarter les bras, me mettre de travers pour passer les portes, en entrant dans le bureau en disant :
"Ce Week end avec les copains....j'ai codé en C, ma premiere fenetre, mon cher 8), t'en ai ou toi dans tes macros de VBA !! :lol:"

Trop cool il est ce PB...trop cool, sans parler des "pubissiens"...euhh !! Purbasiciens..enfin vous quoi !!!! 8)

Code : Tout sélectionner

#include <windows.h>

LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
HWND hWnd;

const HBRUSH hCouleur_Jaune   =  CreateSolidBrush(RGB(255,255,0));
HBRUSH hBackground = hCouleur_Jaune;
static char szClassName[ ] = "Fenêtre Windows simple";

int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpcmdLine, int nCmdShow){

 WNDCLASSEX wincl;
 wincl.hInstance = hThisInstance;
 wincl.lpfnWndProc = WindowProcedure;
 wincl.hbrBackground = hBackground;
 wincl.style = CS_HREDRAW | CS_VREDRAW;
 wincl.lpszClassName = szClassName;
 wincl.cbSize = sizeof (WNDCLASSEX);
 wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
 wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
 wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
 wincl.lpszMenuName = NULL;
 wincl.cbClsExtra = 0;
 wincl.cbWndExtra = 0;

 if (RegisterClassEx (&wincl) == false) // On enregistre la classe déclarée avec WNDCLASSEX
  return 0 ;   //  et en cas d'erreur on quitte le programme

 hWnd = CreateWindowEx (0, szClassName, "Fenetre simple", WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 644, 475, HWND_DESKTOP, NULL, hThisInstance, NULL);
 ShowWindow(hWnd, nCmdShow);

 MSG messages;

  while (GetMessage (&messages, NULL, 0, 0)){
   TranslateMessage(&messages);
   DispatchMessage(&messages);
  }

  return messages.wParam;
  
 }

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){

 switch (message){

  case WM_DESTROY:

   PostQuitMessage (0);       // envoie un message WM_QUIT dans la file d'attente
   break;

  default:

   return DefWindowProc (hwnd, message, wParam, lParam);
 }

 return 0;

}
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre