Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

А правда, что программа, написаная на чистом API имеет очень маленький размер? Можно пример?

Автор: kenai
Исходная ссылка: - - -

Правда, но вряд ли имеет смысл использовать для этих целей именно C++Builder.

Пример программы на Win32 API:
#include <windows.h>
 
 
 
 LRESULT CALLBACK HelloWorldWndProc (HWND,UINT,UINT,LONG);
 
 int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int
 
 nCmdShow)
 
 {
 
 HWND hWnd;
 
 WNDCLASS WndClass;
 
 MSG Msg;
 
 char szClassName[]="HelloWorld";
 
 WndClass.style=CS_HREDRAW | CS_VREDRAW;
 
 WndClass.lpfnWndProc=HelloWorldWndProc;
 
 WndClass.cbClsExtra=0;
 
 WndClass.cbWndExtra=0;
 
 WndClass.hInstance=hInstance;
 
 WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
 
 WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
 
 WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
 
 WndClass.lpszMenuName=NULL;
 
 WndClass.lpszClassName=szClassName;
 
 
 
 if(!RegisterClass(&WndClass))
 
 {
 
 MessageBox(NULL,"Cannot register class","Error",MB_OK);
 
 return 0;
 
 }
 
 
 
 hWnd=CreateWindow(szClassName,"Program №1",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,
 
 CW_USEDEFAULT,NULL,NULL,NULL,hInstance,NULL);
 
 
 
 if(!hWnd)
 
 {
 
 MessageBox(NULL,"Cannot create window","Error",MB_OK);
 
 return 0;
 
 }
 
 
 
 ShowWindow(hWnd,nCmdShow);
 
 UpdateWindow(hWnd);
 
 
 
 while(GetMessage(&Msg,NULL,0,0))
 
 {
 
 TranslateMessage(&Msg);
 
 DispatchMessage(&Msg);
 
 }
 
 return Msg.wParam;
 
 }
 
 
 
 LRESULT CALLBACK HelloWorldWndProc(HWND hWnd,UINT Message,UINT wParam,LONG lParam)
 
 {
 
 HDC hDC;
 
 PAINTSTRUCT PaintStruct;
 
 RECT Rect;
 
 switch(Message)
 
 {
 
 case WM_PAINT:
 
 hDC=BeginPaint(hWnd,&PaintStruct);
 
 GetClientRect(hWnd,&Rect);
 
 DrawText(hDC,"Hello World!",-1,&Rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
 
 EndPaint(hWnd,&PaintStruct);
 
 return 0;
 
 case WM_DESTROY:
 
 PostQuitMessage(0);
 
 return 0;
 
 }
 
 return DefWindowProc(hWnd,Message,wParam,lParam);
 
 }



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS