Форум программистов, компьютерный форум CyberForum.ru

Первый старт. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Процесс не закрывается http://www.cyberforum.ru/cpp/thread317596.html
Проблема на 82ой строчке, второй параметр функции GetMessage(). Так как у меня создается одно окно второй параметр пишу 0. Но если будет несколько окон, то второй параметр должен быть идентефикатор окна. В моем случае это глобальный параметр MainWindowHandle. Если я его ставлю вместо нуля, запускаю программу, завершаю программу, она остается висеть в процессах(видно в Диспетчере задач). ...
C++ Где можно скачать C++? Мне очень интересно где можно скачать c++.Недавно захотелось заняться программированием.Нашёл в интернете кучу самоучителей а сам язык никак не могу найти.Помогите пожалуйста!!!!!!!!!!!!Дайте ссылочку!!! http://www.cyberforum.ru/cpp/thread317524.html
C++ libcurl: закачка файла
Файл скачивается, но его размер 12243 байт, хотя должен быть 12182 байт, и так с любым файлом, получается чуть большего размера, что не так? #include <iostream> #include <curl/curl.h> #include <fstream> static size_t Writer(char *data, size_t size, size_t nmemb, std::ofstream* pBuf){ size_t result = 0; if(pBuf != NULL){ pBuf->write(data, size*nmemb); result =...
Как перекомпилить Win32 dll -> Win64 C++
Привет форумчане. Подскжите как перестроить MS2005 стоящую на ХР что бы можно было перекомпилить мою dll-ку под платформу Win64
C++ Словарь-переводчик. вывод в textBox http://www.cyberforum.ru/cpp/thread315822.html
Вроде всё компилируется нормально, но выводить не хочет, помогите разобраться в чём ошибка, заранее благодарен! Проект прикреплён к сообщению
C++ Алгоритм шифрования Доброго времени суток. Имеется программа, которая шифрует данные собственным алгоритмом. Есть пример зашифрованных данных (вместе с исходными). Можно ли как-нибудь написать дешифратор? Для начала отдельные выкладки по шифрованию. При изменении длины входного сообщения шифрованная часть меняется не вся 0 dwA= 1 dgA= 2 dQA= 3 dAA= подробнее

Показать сообщение отдельно
Dzhekson6000
34 / 32 / 1
Регистрация: 25.11.2010
Сообщений: 387
30.06.2011, 20:29  [ТС]     Первый старт.
скачал с сайта мелкосовта курс лекций Семёнова.
Там есть такой код.
C++
1
2
3
LPD3DXMESH cylinder;
D3DXCreateCylinder(device, 0.2f, 0.2f, 1, 16, 3, &cylinder, NULL);
cylinder->DrawSubset(0);
он создаёт цилиндер.
я вставил в свой код ну неполучается.
Вот что пишет.
Ошибка 3 error C2065: cylinder: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 99 1 1
Ошибка 5 error C2065: cylinder: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 100 1 1
Ошибка 7 error C2065: cylinder: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 101 1 1
Ошибка 4 error C2065: device: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 100 1 1
Ошибка 1 error C2065: LPD3DXMESH: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 99 1 1
Ошибка 2 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "cylinder" e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 99 1 1
Ошибка 8 error C2227: выражение слева от "->DrawSubset" должно указывать на тип класса, структуры или объединения либо на универсальный тип e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 101 1 1
Ошибка 6 error C3861: D3DXCreateCylinder: идентификатор не найден e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 100 1 1

Вот весь код.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <d3d9.h>
#include "mmsystem.h"
#pragma warning( disable : 4996 )
#include <strsafe.h>
#pragma warning( default : 4996 )
#include "windows.h"
 
// принемаем сообщение обратно, должна быть во всех программа для Win32 (???)
LRESULT __stdcall WndProc(HWND, UINT, WPARAM, LPARAM);
 
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                      LPSTR lpCmdLine, int nCmdShow)
{
  WNDCLASS wc;// класс окна
  MSG msg; // (???)
 
  // Настройка класа окна.
  wc.style = CS_OWNDC;                        // стиль для окна..... CS_NOCLOSE
  wc.lpfnWndProc = WndProc;                   // указатель на обработчик сообщений.
  wc.cbClsExtra = 0;                          // что то связанное с байтами (???)
  wc.cbWndExtra = 0;                          // но во всех примерах нужна использовать 0.
  wc.hbrBackground = (HBRUSH)(6);             // цвет фона. необезательное значение.
  wc.hCursor = LoadCursor(NULL, IDC_ARROW);   // задаёт курсор
  wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); // значёк окна.
  wc.hInstance = hInstance;                   // дискриптов экзамплятора оконных процеддур
  wc.lpszClassName = "class";                 // Имя класса.
  wc.lpszMenuName = NULL;                     // имя ресурса меню
 
  // Регистрация класса окна
  RegisterClass(&wc);                         // RegisterClass - это функция. &wc - это указатель на класс окна.
 
  // создание окна.
  HWND hWnd = CreateWindow(
      "class",                                // Имя класса.
      "Инициализация Direct3D",               // Имя окна.
       WS_OVERLAPPEDWINDOW,                   // Стиль окна
       0,                                     // Позиция окна по X
       0,                                     // Позиция окна по Y
       500,                                   // Ширина окна.
       500,                                   // Высота окна.
       NULL,                                  // Указатель на радительское окно.
       NULL,                                  // Дискриптор связанного с окном меню.
       hInstance,                             // Дескриптор экземпляра модуля. Получается функцией WinMain
       NULL                                   // Используется для указания дополннительных данных создаваемова окна
       );
 
  //Отображение окна (???)
  ShowWindow(hWnd,nCmdShow);
 
 
 
  UpdateWindow(hWnd);
 
 
  IDirect3D9 * d3d = NULL;                     // объект Direct3D
  IDirect3DDevice9 * dev = NULL;               // устройство (видеокарта)
 
  d3d = Direct3DCreate9(D3D_SDK_VERSION);
 
 
  // Создание устройства рендера.
  D3DPRESENT_PARAMETERS pp;
  ZeroMemory(&pp,sizeof(pp));
 
  pp.BackBufferWidth = 500;                  // Ширина поверхности вторичного буфера в пикселах.
  pp.BackBufferHeight = 500;                 // Высота поверхности вторичного буфера в пикселах.
  pp.BackBufferFormat = D3DFMT_X8R8G8B8;     // Формат пикселей во вторичном буфере.
  pp.BackBufferCount = 1;                    // Количество используемых вторичных буферов.
  pp.SwapEffect = D3DSWAPEFFECT_DISCARD;
  pp.hDeviceWindow = hWnd;
  pp.Windowed = true;                        // Оконно или растянуто.
 
 
 
  d3d->CreateDevice(
      D3DADAPTER_DEFAULT,
      D3DDEVTYPE_HAL,                         // Тип устройства. Видеокарта или процессор.
      hWnd,                                   // Главное окно приложение.
      D3DCREATE_SOFTWARE_VERTEXPROCESSING,    // Способ обработки.
      &pp, 
      &dev);
 
 
 
while (1)
  {
    if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
      if (msg.message == WM_QUIT)
        break;
      TranslateMessage(&msg);
      DispatchMessage(&msg);
    }
 
    dev->Clear(0,NULL,D3DCLEAR_TARGET,
               D3DCOLOR_XRGB(100,0,0),1.0f,0);
 
    dev->BeginScene();
    LPD3DXMESH cylinder;
    D3DXCreateCylinder(device, 0.2f, 0.2f, 1, 16, 3, &cylinder, NULL);
    cylinder->DrawSubset(0);
    dev->EndScene();
 
    dev->Present(NULL,NULL,NULL,NULL);
    }
 
  if (dev != NULL)
    dev->Release();
  if (d3d != NULL)
    d3d->Release();
  return 0;
}
 
 
 
 
 
 
 
 
LRESULT __stdcall WndProc (HWND hWnd, UINT msg,
                           WPARAM wParam, LPARAM lParam)
{
  switch (msg)
  {
  case WM_DESTROY:
    PostQuitMessage(0);
    return 0;
  }
  return DefWindowProc(hWnd,msg,wParam,lParam);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru