Language avec la méme syntaxe que le C mais plus rapide au dévelopement ?

jerem3000 Messages postés 52 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 7 décembre 2011 - 21 mars 2010 à 16:53
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 23 mars 2010 à 15:23
Bonjours,

Cela fait maintenant 1 ans que je développe en C et C++ , ce sont les seul langage de programmation logiciel que je connait et maintenant j'aimerais savoir si il existe d'autre langage avec la même syntaxe mais plus rapide au développement (c'est peut étre moi qui suis long ^^ ).

j'ai actuellement un gros projet et cela fait 2 mois que j'ai commencer et cela na pas trop avancer.

Je développe en API Win32 sans MFC le problème viens peut être de la.
En 2 moi (2h par jour) j'ai juste réussi a faire un chat avec authentification ,message différer et multidestinataire.

J'ai aussi quelque problème pour l'interface graphique que j'aimerais un peut dans le style de outlook 2007 et malheureusement cela ne ressemble je n'est rien comprit auriez vous un bon livre ou tutoriel sur ce type d'interface graphique?

6 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
21 mars 2010 à 18:18
Seulement 1 an ? C'est très peu. Il n'y a pas de miracle, seul la pratique te permettra de t'améliorer.

Toutefois si tu cherches à faire des interfaces graphiques, tu as plusieurs choix:
- C++ avec Qt (portable, donc ton code devrait fonctionner sous toutes les plateformes). Teste QtCreator.
- C ou C++ avec GTK (portable, mais moins bon que Qt)
- C ou C++ avec wxWidget (portable, mais moins bon que Qt)
- C++ avec MFC (windows uniquement, donc non portable)
- C# avec le système de fenêtre intégré (pas mal, mais il te faut apprendre un autre langage).

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
21 mars 2010 à 19:31
Salut,
Sinon tu peux aussi continuer en Win32 sans MFC !
Ca reste le plus performant, polyvalent et portable sous Windows.

Côté productivité, c'est sûr qu'un bon gros RAD genre C++ Builder, Delphi ou VB6, c'est plus rapide pour faire des interfaces simples (Hop, un bouton, hop, un edit...). Mais ça ne facilite en rien les interfaces travaillées telles que celle de outlook.

Et puis les dégradés bleu clair, c'est pas trop dur non plus !


#ifdef UNICODE
#define _T(x) L ## x
typedef unsigned short TCHAR;
#else
#define _T(x) x
typedef char TCHAR;
#endif

#define _WIN32_WINNT 	0x0500
#define WINVER      	0x0500

#include <windows.h>

HINSTANCE _hThisInstance;              /* Handle du module                    */
HWND _hWnd;                            /* Handle de la fenêtre                */
LPTSTR _lpAppName = _T("Gradient");    /* Nom de l'appli                      */

TRIVERTEX _lpVertices[2];    /* Les deux coins du rectanles et leurs couleurs */
GRADIENT_RECT _gradientRect; /* Le rectangle de dégradé formé des 2 vertices  */

WORD __stdcall Err_ShowLast(TCHAR* lpTitle)
{
  DWORD nLastError;
  LPTSTR lpMessageBuffer;

  nLastError = GetLastError();

  FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
                NULL, nLastError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
                (TCHAR*)(void*)&lpMessageBuffer, 0, NULL);

  MessageBox(NULL, lpMessageBuffer, lpTitle, MB_OK | MB_ICONERROR);

  LocalFree(lpMessageBuffer);
  return 1;
}

LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam)
{
  RECT clientRect;            /* Zone de la fenêtre à dessiner                 */
  HDC hDc;                    /* DC de dessin                                  */
  int bHandled;               /* Pour savoir si le message est traité          */
  long nResult;

  nResult = 0;
  bHandled = 0;
  switch (nMessage)
  {
    case WM_SIZE:
      InvalidateRect(hWnd, NULL, TRUE);
      bHandled = 1;
      break;
    case WM_ERASEBKGND:
      hDc = (HDC)wParam;
      GetClientRect(hWnd, &clientRect);
      _lpVertices[1].x = clientRect.right;
      _lpVertices[1].y = clientRect.bottom;
      GradientFill(hDc, _lpVertices, 2, &_gradientRect, 1, GRADIENT_FILL_RECT_V);
      nResult = 1;
      bHandled = 1;
      break;
    case WM_DESTROY:
      /* On signale que le thread va s'arrêter */
      PostQuitMessage(0);
      bHandled = 1;
      break;
  }
  if (! bHandled)
    nResult = DefWindowProc(hWnd, nMessage, wParam, lParam);
  return nResult;
}

BOOL __stdcall CreateMyWindow()
{
  WNDCLASSEX wincl;       /* Classe de la fenêtre utilisée                    */
  int nResult;

  nResult = 0;

  /* Création de la classe de fenêtre */
  wincl.cbSize = sizeof(WNDCLASSEX);
  wincl.style = 0;
  wincl.lpfnWndProc = WindowProcedure;
  wincl.cbClsExtra = 0;
  wincl.cbWndExtra = 0;
  wincl.hInstance = _hThisInstance;
  wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
  wincl.hbrBackground = NULL;
  wincl.lpszMenuName = 0;
  wincl.lpszClassName = _lpAppName;
  wincl.hIconSm = NULL;

  /* Enregistrement de la classe */
  if (! RegisterClassEx(&wincl)) goto the_end;

  /* Création de la fenêtre */
  _hWnd = CreateWindowEx(0, _lpAppName, _lpAppName,
                         WS_OVERLAPPEDWINDOW,
                         CW_USEDEFAULT, CW_USEDEFAULT, 500, 200,
                         HWND_DESKTOP, NULL, _hThisInstance, NULL);
  if (! _hWnd) goto the_end;

  /* Affichage de la fenêtre */
  ShowWindow (_hWnd, SW_SHOW);

  nResult = 1;
the_end:
  return nResult;
}

/**
 * Main
 */
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  MSG message;                        /* Messages envoyés à l'application     */
  int nResult;

  /* Récupération du handle du module */
  _hThisInstance = hInstance;

  _lpVertices[0].x     = 0;
  _lpVertices[0].y     = 0;
  _lpVertices[0].Red   = 0xC800;
  _lpVertices[0].Green = 0xE100;
  _lpVertices[0].Blue  = 0xFF00;
  _lpVertices[0].Alpha = 0x0000;

  _lpVertices[1].x     = 0;
  _lpVertices[1].y     = 0;
  _lpVertices[1].Red   = 0x7D00;
  _lpVertices[1].Green = 0xA500;
  _lpVertices[1].Blue  = 0xE100;
  _lpVertices[1].Alpha = 0x0000;

  _gradientRect.UpperLeft  = 0;
  _gradientRect.LowerRight = 1;

  if (! CreateMyWindow())
  {
    nResult = Err_ShowLast(_T("Cannot create main window"));
    goto the_end;
  }

  /* Boucle de traitement des messages */
  while (GetMessage(&message, NULL, 0, 0))
  {
    TranslateMessage(&message);
    DispatchMessage(&message);
  }
  nResult = message.wParam;

the_end:
  return nResult;
}
0
jerem3000 Messages postés 52 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 7 décembre 2011
23 mars 2010 à 12:19
merci pour vous réponse.

Je pense que je vais rester sur le c++, je vois qu'il y a encore pas mal de chose que j'ai a apprendre car je n'est rien comprit au code de rt15

Aprés quelque recherche j'ai apprit ce qu'était la GDI et je ne mi était jamais vraiment pencher dessus ( apart pour la police et les couleur ).

Je pense que aprés avoir assimiler tous sa je pourrait faire l'interface que je souhaite.

j'ai commencer a regarder les tuto sur developpez.com mais je préféreré un bon bouquin , en auriez vous a me conseiller?

jérémy
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
23 mars 2010 à 14:43
En anglais, très bon bouquins sur le dev Windows tu as le CP5 et le JR4 sur cette page.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jerem3000 Messages postés 52 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 7 décembre 2011
23 mars 2010 à 15:05
J'ai oublier de préciser...

Je ne comprend pas très bien l'anglais ( j'arrive a me débrouiller sur msdn avec le peut de vocabulaire que j'ai mais un livre je ne peut pas )

Il n'existe pas un livre en français (peut importe le prix)?


jérémy
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
23 mars 2010 à 15:23
Arf... Je n'en connais pas, désolé.
0
Rejoignez-nous