Математика в руки! Пишу первое что пришло в голову, это выразить координаты точек через sin и cos. x = R cos a y = R sin a Code: ... #include <math.h> ... /* убейте но не помню навскидку как называеться структура, вроде как Point, но не буду врать, потому определю для примера*/ struct cord { int x; int y; }cord; ... cord RotateCordinate(int R, float a) // радиуc окружности вращения, угол { cord Cordinate; Cordinate.x = cos(a)*R; Cordinate.y = sin(a)*R; return Cordinate; } ... // собсно твой код float Alpha = 0; // угол int R; // радиус = половине длинны диагонали твоего прямоугольника cord Rectangle_1, Rectangle_2; // твои координаты while(...) // не знаю, для чего тебе нужно, потому условие выхода если нужно определишь сам { Clear(); // очищаем поле для рисования Rectangle_1 = RotateCordinate(R, Alpha); Rectangle_2 = RotateCordinate(R, Alpha+180); // для противоположной координаты +180 градусов Rect(Rectangle_1.x, Rectangle_1.y, Rectangle_2.x, Rectangle_2.y); // (*) Alpha += 0,01; // смещаем угол delay(40); // примерная скорость 25 кадров в сек. } ... В пункте (*) можно соответственно приплюсовать ровнение кординат, т.е. где именно будет центр окружности. Можно еще сделать через уравнение окружности. Соответственно и для трехмерных обьектов, только нужно использовать уровнение элипса.
Помогите пожалуйста: Компилятор Visual C++ 2005 Как настроить, чтобы скомпилированная программа запускалась и на другом компьютере а не только на моем? Только конкретно, там, какие галочки и т.п. Спасибо.
agrofyl2, попробуй: Там есть Use Run-time Library. Ставь либо Multithreaded, либо Debug Multithreaded. З.Ы. или просто носи с собой нужные библиотеки
while (true){ if(GetKeyboardState(keysState)==0) MessageBox(0,"Error",0,0); if(keysState[VK_LSHIFT] > 0 ){ MessageBox(0,"Pushed","ok",0); return 0; } Sleep(100); } никакого эффекта :/ (нада именно через GetKeyboardState)
Так, вроде работает: Code: while(true) { if(GetKeyboardState(keysState)==0) { MessageBox(0,"Error",0,0); return 1; } if(keysState[VK_SHIFT]) { MessageBox(0,"Pushed","ok",0); return 0; } Sleep(100); } только вот Shift должен быть нажат во время запуска проги
Начал изучать С++ в папке с прогой есть Exampels вот я выбрал Hello! Когда я нажимаю выполнить или отладка у меня пишет Данный Файл не откомпилирован... что делать?
ммм... ответ прост: Откомпилировать! Позвольте полюбопытствовать: а в какой среде разработки вы программируете? Из всех установленных у миня: Builder 6.0 Run->Run (F9) Microsoft Vsual C++ 6.0 Build->Build (F7) или Build->Execute (Ctrl+F5) Visual Studio 2005 Build->Build Solution (F6) Turbo C 3.0 Compile->Compile (Alt+F9) или Compile->Make (F9), а потом Run->Run (Ctrl+F9) В Dev-C++ не помню, но по моему F9 точно компилит и запускает.
Code: int main() { printf("%s\n", (sizeof('a') == sizeof(char)) ? "C++" : "C"); return 0; } (c)wikipedia
Sibogatov, возьми книгу и учись З.Ы. можешь учиться по этому: http://forum.antichat.ru/threadnav40894-1-10.html
BreakPoint? Я уже задавал этот вопрос..ответа так и не получил. При запуске из билдера выскакивае вот это окошко . А если загрузить в olly, то можно увидеть это Что за брейкпоинт? И как его убрать?
Источник проблемы найден. Другой вопрос. Имеется такой код: Code: #define FREE(x) HeapFree(GetProcessHeap(), 0, (x)) /*.....................................*/ res = pGetExtendedTcpTable(NULL, &size, 1, AF_INET, TCP_TABLE_OWNER_MODULE_ALL, 0); if(pTCPTable != NULL) { FREE(pTCPTable); } Окно CPU выскакивает на: Code: FREE(pTCPTable); Что в этом коде не так?
2criz Хм, в этом коде, что вы привели, объявления pTCPTable не вижу... И вообще работы с этой переменной(кроме FREE, а до FREE?)
Code: pGetExtendedTcpTable = (DWORD (WINAPI *)(PVOID,PDWORD,BOOL,ULONG,TCP_TABLE_CLASS,ULONG)) GetProcAddress(LoadLibrary( "iphlpapi.dll"), "GetExtendedTcpTable"); /*................*/ PVOID pTCPTable; Затем опять идет вызов pGetExtendedTcpTable
2criz Если это действительно весь код, то. pTCPTable - локальная переменная. В ней когда вы вызываете if(pTCPTable != NULL) { FREE(pTCPTable); } сразу после PVOID pTCPTable; мб все, что угодно => Пишите вот так PVOID pTCPTable = 0; А то у вас if срабатывать когда не надо будет...
ntldr У каждого пользователя своя папка application data, если тебе надо определенную, то сначала придется выполнить пред-пункт (определить пользователя). Например: All Users Default User Текущий пользователь Все они имеют свои папки application data. Получение доступа это наверное простой перебор всех папок на определнном диске (если конечно нет спец. апи функции)
Code: #include <shlobj.h> #include <stdio.h> int main() { char cpPriv[MAX_PATH]; SHGetSpecialFolderPath(0, cpPriv, CSIDL_APPDATA, 0); printf("%s\n",cpPriv); }