HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3551  
Старый 10.05.2009, 08:56
Sibogatov
Познающий
Регистрация: 24.11.2008
Сообщений: 40
Провел на форуме:
89814

Репутация: 0
По умолчанию

вот код, скажите пожалуйста что не так
Код:
#include <windows.h>
#include <string.h>
#include <time.h>
#include <math.h>

#define ID_TIMER    1
#define TWOPI       (2 * 3.14159)

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
     {
     static char szAppName[] = "AnaClock" ;
     HWND        hwnd;
     MSG         msg;
     WNDCLASSEX  wndclass ;

	 wndclass.cbSize        = sizeof (wndclass) ;
     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = NULL ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
     wndclass.lpszMenuName  = NULL ;
     wndclass.lpszClassName = szAppName ;
	 wndclass.hIconSm       = NULL ;

     RegisterClassEx (&wndclass) ;

     hwnd = CreateWindow (szAppName, "Analog Clock",
                          WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          NULL, NULL, hInstance, NULL) ;

     if (!SetTimer (hwnd, ID_TIMER, 1000, NULL))
          {
          MessageBox (hwnd, "Too many clocks or timers!", szAppName,
                      MB_ICONEXCLAMATION | MB_OK) ;
          return FALSE ;
          }

     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;

     while (GetMessage (&msg, NULL, 0, 0))
          {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
          }
     return msg.wParam ;
     }

void SetIsotropic (HDC hdc, int cxClient, int cyClient)
     {
     SetMapMode (hdc, MM_ISOTROPIC) ;
     SetWindowExtEx (hdc, 1000, 1000, NULL) ;
     SetViewportExtEx (hdc, cxClient / 2, -cyClient / 2, NULL) ;
     SetViewportOrgEx (hdc, cxClient / 2,  cyClient / 2, NULL) ;
     }

void RotatePoint (POINT pt[], int iNum, int iAngle)
     {
     int   i ;
     POINT ptTemp ;

     for (i = 0 ; i < iNum ; i++)
          {
          ptTemp.x = (int) (pt[i].x * cos (TWOPI * iAngle / 360) +
                            pt[i].y * sin (TWOPI * iAngle / 360)) ;

          ptTemp.y = (int) (pt[i].y * cos (TWOPI * iAngle / 360) -
                            pt[i].x * sin (TWOPI * iAngle / 360)) ;

          pt[i] = ptTemp ;
          }
     }

void DrawClock (HDC hdc)
     {
     int   iAngle ;
     POINT pt[3] ;

     for (iAngle = 0 ; iAngle < 360 ; iAngle += 6)
          {
          pt[0].x =   0 ;
          pt[0].y = 900 ;

          RotatePoint (pt, 1, iAngle) ;

          pt[2].x = pt[2].y = iAngle % 5 ? 33 : 100 ;

          pt[0].x -= pt[2].x / 2 ;
          pt[0].y -= pt[2].y / 2 ;

          pt[1].x  = pt[0].x + pt[2].x ;
          pt[1].y  = pt[0].y + pt[2].y ;

          SelectObject (hdc, GetStockObject (BLACK_BRUSH)) ;

          Ellipse (hdc, pt[0].x, pt[0].y, pt[1].x, pt[1].y) ;
          }
     }

void DrawHands (HDC hdc, struct tm *datetime, BOOL bChange)
     {
     static POINT pt[3][5] = { 0, -150, 100, 0, 0, 600, -100, 0, 0, -150,
                               0, -200,  50, 0, 0, 800,  -50, 0, 0, -200,
                               0,    0,   0, 0, 0,   0,    0, 0, 0,  800 } ;
     int          i, iAngle[3] ;
     POINT        ptTemp[3][5] ;

     iAngle[0] = (datetime->tm_hour * 30) % 360 + datetime->tm_min / 2 ;
     iAngle[1] =  datetime->tm_min  *  6 ;
     iAngle[2] =  datetime->tm_sec  *  6 ;

     memcpy (ptTemp, pt, sizeof (pt)) ;

     for (i = bChange ? 0 : 2 ; i < 3 ; i++)
          {
          RotatePoint (ptTemp[i], 5, iAngle[i]) ;

          Polyline (hdc, ptTemp[i], 5) ;
          }
     }

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
     {
     static int         cxClient, cyClient ;
     static struct tm   dtPrevious ;
     BOOL               bChange ;
     HDC                hdc ;
     PAINTSTRUCT        ps ;
     time_t             lTime ;
     struct tm         *datetime ;

     switch (iMsg)
          {
          case WM_CREATE :
               time (&lTime) ;
               datetime = localtime (&lTime) ;

               dtPrevious = * datetime ;
               return 0 ;

          case WM_SIZE :
               cxClient = LOWORD (lParam) ;
               cyClient = HIWORD (lParam) ;
               return 0 ;

          case WM_TIMER :
               time (&lTime) ;
               datetime = localtime (&lTime) ;

               bChange = datetime->tm_hour != dtPrevious.tm_hour ||
                         datetime->tm_min  != dtPrevious.tm_min ;

               hdc = GetDC (hwnd) ;

               SetIsotropic (hdc, cxClient, cyClient) ;

               SelectObject (hdc, GetStockObject (WHITE_PEN)) ;
               DrawHands (hdc, &dtPrevious, bChange) ;

               SelectObject (hdc, GetStockObject (BLACK_PEN)) ;
               DrawHands (hdc, datetime, TRUE) ;

               ReleaseDC (hwnd, hdc) ;

               dtPrevious = *datetime ;
               return 0 ;

          case WM_PAINT :
               hdc = BeginPaint (hwnd, &ps) ;

               SetIsotropic (hdc, cxClient, cyClient) ;
               DrawClock    (hdc) ;
               DrawHands    (hdc, &dtPrevious, TRUE) ;

               EndPaint (hwnd, &ps) ;
               return 0 ;

          case WM_DESTROY :
               KillTimer (hwnd, ID_TIMER) ;
               PostQuitMessage (0) ;
               return 0 ;
          }
     return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
     }
 
Ответить с цитированием

  #3552  
Старый 10.05.2009, 09:18
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме:
3134311

Репутация: 1467


Отправить сообщение для KaZ@NoVa с помощью ICQ Отправить сообщение для KaZ@NoVa с помощью AIM Отправить сообщение для KaZ@NoVa с помощью Yahoo
По умолчанию

Цитата:
Сообщение от НTL  
BorderStyle = bsNone
А мне надо перемещать форму по экрану при поможи зажатие мышки (Также как и обычные окна Windows), как это можно сделать?
Что есть объект форма? Форма перемещается по рабочему столу или в каком то приложении?
 
Ответить с цитированием

  #3553  
Старый 10.05.2009, 10:22
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от НTL  
BorderStyle = bsNone
А мне надо перемещать форму по экрану при поможи зажатие мышки (Также как и обычные окна Windows), как это можно сделать?
у контрола, на событие OnMouseDown
PHP код:
ReleaseCapture;  
SendMessage(Handle,WM_SYSCOMMAND,$f012,0
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #3554  
Старый 10.05.2009, 10:28
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

2 Sibogatov Сразу в глаза бросается одна ошибка - Темой ошибся. Код на С++ а тема про Delphi )
 
Ответить с цитированием

  #3555  
Старый 10.05.2009, 12:46
Balvan
Познающий
Регистрация: 11.03.2009
Сообщений: 70
Провел на форуме:
251358

Репутация: 6
Question

Вот попалась лаба в которой надо сделать арифметику в римской системе счисления.
вот "собрал" такую хрень из чужих кодесов =)
http://rapidshare.com/files/231262235/laba.txt
и не пойму в чём проблема, ничего не выводится можете подсказать что не так или как правильно(лучше) сделать? (только пожалуйста без хак-пафоса )) )
з.ы. с мну +5.
 
Ответить с цитированием

  #3556  
Старый 10.05.2009, 15:55
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме:
246020

Репутация: 105
По умолчанию

есть ли мини модуль jpeg без тяжелых юнитов типа Graphics, Classes, SysUtils который умеет просто открыть Jpeg изменить размер и сохранить в Jpeg?
Перерыл весь инет, ничего толкового не нашел.
 
Ответить с цитированием

  #3557  
Старый 10.05.2009, 16:50
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме:
5209663

Репутация: 357


Отправить сообщение для НTL с помощью ICQ
По умолчанию

KaZ@NoVa, да форма, по столу
W!z@rD, не работает
 
Ответить с цитированием

  #3558  
Старый 10.05.2009, 18:36
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от НTL  
W!z@rD, не работает
выкинь свой "коноплятор", код 100% рабочий.

PHP код:
procedure TForm1.Panel1MouseDown(SenderTObjectButtonTMouseButton;
  
ShiftTShiftStateXYInteger);
begin
ReleaseCapture
;
SendMessage(HandleWM_SYSCOMMAND$f0120);
end
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #3559  
Старый 10.05.2009, 18:41
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме:
5209663

Репутация: 357


Отправить сообщение для НTL с помощью ICQ
По умолчанию

Цитата:
Сообщение от W!z@rD  
выкинь свой "коноплятор", код 100% рабочий.

PHP код:
procedure TForm1.Panel1MouseDown(SenderTObjectButtonTMouseButton;
  
ShiftTShiftStateXYInteger);
begin
ReleaseCapture
;
SendMessage(HandleWM_SYSCOMMAND$f0120);
end
А точно, просто у меня картинка во всю форму была
 
Ответить с цитированием

  #3560  
Старый 10.05.2009, 18:57
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме:
3008839

Репутация: 1502


По умолчанию

Цитата:
Сообщение от slesh  
2 Sibogatov Сразу в глаза бросается одна ошибка - Темой ошибся. Код на С++ а тема про Delphi )
а я рискну предположить, что код не работает
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ