Кресты / Говнокод #1081 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
HWND m_hEdit=::GetWindow(this->m_hWnd,GW_CHILD);

  TCHAR ClassName[200];
  while(1&&m_hEdit)
  {
    ::GetClassName(m_hEdit,ClassName,200);
    if((ClassName[0]==_T('E')||ClassName[0]==_T('e'))&&(ClassName[1]==_T('D')||ClassName[1]==_T('d'))
      &&(ClassName[2]==_T('I')||ClassName[2]==_T('i'))&&(ClassName[3]==_T('T')||ClassName[3]==_T('t')))
      break;

    m_hEdit=::GetWindow(m_hEdit,GW_HWNDNEXT);
  }
  if (m_hEdit) m_edit.SubclassWindow(m_hEdit);

Получение hWnd EditBox расположенного внутри ComboBox.

guest guest, (Updated )

Комментарии (1, +1)

Кресты / Говнокод #1075 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
for(i=0;i<n;i++){
vector[i]=(a[i]+0.0)/(c[i]+0.0);
}

result=(extremum(vector,n));

cout<<"Input data was:"<<endl<<endl;
for (i=0; i < n; i++) {
cout<<a[i]<<"	/	"<<c[i]<<"	|	"<<vector[i];
cout<<endl;
}

guest guest, (Updated )

Комментарии (4, +4)

Кресты / Говнокод #1072 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
void PduBuffer::putLen_BER(size_t len)
{
	if(len <= 0x00ffff)
	{
		if(len <= 0x007f)
		{
			check_room(1);
			*position++ = (uint1)len;
		}
		else if(len <= 0x00ff)
		{
			check_room(2);
			*position++ = 0x81;
			*position++ = (uint1)len;
		}
		else // 0x00ff < len <= 0x00ffff
		{
			check_room(3);
			*position++ = 0x82;
			*position++ = (uint1)(len >> 8);
			*position++ = (uint1)len;
		}
	}
	else //len > 0x00ffff
	{
		if(len <= 0x00ffffff)
		{
			check_room(4);
			*position++ = 0x83;
			*position++ = (uint1)(len >> 16);
			*position++ = (uint1)(len >> 8);
			*position++ = (uint1)len;
		}
		else if(len <= 0xffffffff)
		{
			check_room(5);
			*position++ = 0x84;
			*position++ = (uint1)(len >> 24);
			*position++ = (uint1)(len >> 16);
			*position++ = (uint1)(len >> 8);
			*position++ = (uint1)len;
		}
		else
			THROW_INTERNAL("BER length out of range [0, 2^32)");
	}
	frame_start = NULL;
}

Добавление байтов длины TLV-объекта в буфер.

guest guest, (Updated )

Комментарии (2, +2)

Кресты / Говнокод #1062 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
...
function (int i=0, int j=0){
if(i>j || j<=i)
{return i;}else
{return j;}
}
...

...
if ((naibolsee==max(i,j)) && (naibolsee!=max(j,i)))
{i=max(i,j);}
else
{j=max(j,i);}
...

это для квантовых компьютеров, не иначе

guest guest, (Updated )

Комментарии (9, +9)

Кресты / Говнокод #1051 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
#ifdef WIN32

typedef DWORD (*LPTHREAD_METHOD)(LPVOID pParam);

// Структура параметров для статической функции.
typedef struct STARTUP_PARAM
{
   // MSVThread*        pClass;
    LPTHREAD_METHOD    pMethod;
    LPVOID            pParam;
} *LPSTARTUP_PARAM;
  

    // Функция, которая создает новый поток.
    HANDLE    StartThread        (LPTHREAD_METHOD pMethod, LPVOID pParam=0, 
                             LPDWORD pdwThreadID = NULL, 
                             LPSECURITY_ATTRIBUTES pSecurity = NULL , 
                             DWORD dwStackSize = 0 , 
                             DWORD dwFlags = 0);

    // Статическая функция, которая запустит метод.
    static  DWORD StartFunc    (LPSTARTUP_PARAM pStartup);




HANDLE StartThread(LPTHREAD_METHOD pMethod, LPVOID pParam, 
                             LPDWORD pdwThreadID /* = NULL */, 
                             LPSECURITY_ATTRIBUTES pSecurity /* = NULL */, 
                             DWORD dwStackSize /* = 0 */, 
                             DWORD dwFlags /* = 0 */)
{
    // Создаем структуру и упаковываем данные для статической функции.
    LPSTARTUP_PARAM pStartup = new STARTUP_PARAM;
    pStartup->pMethod    = pMethod;
    pStartup->pParam    = pParam;

    // Создаем новый поток.
    return CreateThread(pSecurity, dwStackSize, (LPTHREAD_START_ROUTINE)StartFunc, pStartup, dwFlags, pdwThreadID);
}

// В новом потоке вначале вызывается функция CMyClass::StartFunc(...)
// А она запускает наш метод.

DWORD StartFunc(LPSTARTUP_PARAM pStartup)
{
    // Распаковываем данные в новом потоке.
    // Получаем указатель на класс и на метод класса.
    LPTHREAD_METHOD pMethod = pStartup->pMethod;
    LPVOID pParam            = pStartup->pParam;

    // Запускаем метод класса в новом потоке.
    DWORD dwResult = (*pMethod)(pParam);

    // Удаляем временные данные и возвращаем код возврата из нового потока.
    delete pStartup;
    return dwResult;
}

#else

#include "pthread.h"

typedef DWORD (*LPTHREAD_METHOD)(LPVOID pParam);

// Структура параметров для статической функции.
typedef struct STARTUP_PARAM
{
    LPTHREAD_METHOD    pMethod;
    LPVOID            pParam;
} *LPSTARTUP_PARAM;
  
    // Статическая функция, которая запустит метод.
    static  DWORD StartFunc    (LPSTARTUP_PARAM pStartup);

    // Функция, которая создает новый поток.
HANDLE StartThread(LPTHREAD_METHOD pMethod, LPVOID pParam=0, 
                             LPDWORD pdwThreadID=0 /* = NULL */, 
                          //   LPSECURITY_ATTRIBUTES pSecurity /* = NULL */, 
                          //   DWORD dwStackSize /* = 0 */, 
                             const pthread_attr_t* dwFlags=0 /* = 0 */)
{
    // Создаем новый поток.
	pthread_t restrict;
	if(pthread_create(&restrict, dwFlags, (void* (*)(void*))pMethod, pParam)) return pdwThreadID;
	return 0;
}

#endif

Человек пишет кросплатформенный http-сервер, а заодно свой собсвенный фреймворк. Участок кода с нитями.

guest guest, (Updated )

Комментарии (8, +8)

Кресты / Говнокод #1044 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
t1max=0;
i=0;
for(i=0;i<4;i++)
{
t1maxMass[i]=0;
i++;
}
t2max=0;
i=0;
for(i=0;i<4;i++)
{
t2maxMass[i]=0;
i++;
}
t3max=0;
i=0;
for(i=0;i<4;i++)
{
t3maxMass[i]=0;
i++;
}

t1maxM=0;
i=0;
for(i=0;i<4;i++)
{
t1maxMassM[i]=0;
i++;
}
t2maxM=0;
i=0;
for(i=0;i<4;i++)
{
t2maxMassM[i]=0;
i++;
}
t3maxM=0;
i=0;
for(i=0;i<4;i++)
{
t3maxMassM[i]=0;
i++;
}

Человек собирается защитить диплом.
Участок кода

guest guest, (Updated )

Комментарии (8, +8)

Кресты / Говнокод #1042 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
bool Update(float dt) // ага, вот так вот жестоко мы постепенно приведём всё к нормальным coding conventions ^_^
  {
    return update(dt);
  }

  bool update(float dt) // теперь возвращает true если value изменилось и false если нет
  {
     //bla-bla-bla

жестокое решение code standart'a

guest guest, (Updated )

Комментарии (5, +5)

Кресты / Говнокод #1013 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
// txTextOut выводит текст на заданных координатах
// Часть функции вывода рейтинга
if (rating == 10) txTextOut (620, 0, "Твой рейтинг: 10");
if (rating == 9)  txTextOut (620, 0, "Твой рейтинг: 9");
if (rating == 8)  txTextOut (620, 0, "Твой рейтинг: 8");
if (rating == 7)  txTextOut (620, 0, "Твой рейтинг: 7");
if (rating == 6)  txTextOut (620, 0, "Твой рейтинг: 6");
if (rating == 5)  txTextOut (620, 0, "Твой рейтинг: 5");
if (rating == 4)  txTextOut (620, 0, "Твой рейтинг: 4");
if (rating == 3)  txTextOut (620, 0, "Твой рейтинг: 3");
if (rating == 2)  txTextOut (620, 0, "Твой рейтинг: 2");
if (rating == 1)  txTextOut (620, 0, "Твой рейтинг: 1");
if (rating <= 0)  txTextOut (620, 0, "Твой рейтинг: 0");
.....
if (level == 1) Text_First_Level  (fon_text_level);    
if (level == 2) Text_Second_level (fon_text_level);
if (level == 3) Text_Third_Level  (fon_text_level);
if (level == 4) Text_Fourth_level (fon_text_level);
// по этим фрагментам понятно, что switch я ещё не знал))
.....
if (level == 1) Check_exit (&Player_x, &Player_y, 1, 750, 550, &fon, key_on, key_off, arrow_left, arrow_right);
if (level == 2) Check_exit (&Player_x, &Player_y, 2, 250, 350, &fon, key_on, key_off, arrow_left, arrow_right);
if (level == 3) Check_exit (&Player_x, &Player_y, 3, 750, 550, &fon, key_on, key_off, arrow_left, arrow_right);
if (level == 4) Check_exit (&Player_x, &Player_y, 4,  50, 550, &fon, key_on, key_off, arrow_left, arrow_right);
// циклы я знал, хотя это и не заметно)) а вот структуры и массивы - нет
// последние параметры - картинки))
.....
Teleport (&Player_x, &Player_y, 3, 750,  50,  50, &fon, key_on, key_off, arrow_left, arrow_right);
Teleport (&Player_x, &Player_y, 3, 750, 150, 150, &fon, key_on, key_off, arrow_left, arrow_right);
Teleport (&Player_x, &Player_y, 3, 750, 250, 250, &fon, key_on, key_off, arrow_left, arrow_right);
Teleport (&Player_x, &Player_y, 3, 750, 350, 350, &fon, key_on, key_off, arrow_left, arrow_right);
Teleport (&Player_x, &Player_y, 3, 750, 450, 450, &fon, key_on, key_off, arrow_left, arrow_right);
Teleport (&Player_x, &Player_y, 3, 750, 550, 550, &fon, key_on, key_off, arrow_left, arrow_right);
// без комментариев
.....
// вобщем, вся прога примерно такая. Я сам писал её))))
//

Писал такое полгода назад - чувствовал себя абсолютно нормально. Потом я эту игру, конечно, забросил. Но открыл сейчас - чуть не стошнило, честно. Приведу только нескольно фрагментов.

guest guest, (Updated )

Комментарии (3, +3)

Кресты / Говнокод #1011 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
//---------------------------------------------------------------------------
int print(int p)
{
        int n;
	int i;
	char c;
	clrscr();
        Y cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
		201,205,205,205,209,
		205,205,205,205,205,205,205,205,205,205,205,205,209,
		205,205,205,205,205,205,205,205,205,205,205,205,209,
        	205,205,205,205,205,205,205,205,205,205,205,205,209,
		205,205,205,205,209,
		205,205,205,205,205,205,205,205,205,205,205,205,205,209,
		205,205,205,205,205,205,205,187);
	cprintf("%c %c %c   Surname  %c    Name    %c Patronymic %cYear%c  Profession %c Wages %c\n\r",
		186,252,179,179,179,179,179,179,186);
	cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
		199,196,196,196,197,
		196,196,196,196,196,196,196,196,196,196,196,196,197,
		196,196,196,196,196,196,196,196,196,196,196,196,197,
		196,196,196,196,196,196,196,196,196,196,196,196,197,
		196,196,196,196,197,
		196,196,196,196,196,196,196,196,196,196,196,196,196,197,
		196,196,196,196,196,196,196,186);
	for(i = 0; i < p; i++)
		{
		cprintf("%c", 186);
		W cprintf("%3i", i +1);
		Y cprintf("%c",179);
		W cprintf("%12s", rabota[i].fam);
		Y cprintf("%c",179);
		W cprintf("%12s", rabota[i].name);
		Y cprintf("%c",179);
		W cprintf("%12s", rabota[i].otch);
		Y cprintf("%c",179);
		W cprintf("%4i", rabota[i].year);
		Y cprintf("%c",179);
		W cprintf("%13s", rabota[i].prof);
		Y cprintf("%c",179);
		W cprintf("%7i", rabota[i].zarpl);
		Y cprintf("%c\n\r", 186);
               }
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
                200,205,205,205,207,
                205,205,205,205,205,205,205,205,205,205,205,205,207,
                205,205,205,205,205,205,205,205,205,205,205,205,207,
                205,205,205,205,205,205,205,205,205,205,205,205,207,
                205,205,205,205,207,
                205,205,205,205,205,205,205,205,205,205,205,205,205,207,
                205,205,205,205,205,205,205,188);
		W cprintf("Continue Y/N ?");
        scanf("%s", &c);
        if(c == 'Y' || c == 'y')
                return 1;
        else
                exit(1);
        return 0;
}

//---------------------------------------------------------------------------

Графика под DOS это сильно

guest guest, (Updated )

Комментарии (2, +2)

Кресты / Говнокод #1006 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
int print(int *p)
{
		int n;
		int i;
		char c;
		clrscr();

	   Y cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
				201,205,205,205,209,
				205,205,205,205,205,205,205,205,205,205,205,205,209,
				205,205,205,205,205,205,205,205,205,205,205,205,209,
				205,205,205,205,205,205,205,205,205,205,205,205,209,
				205,205,205,205,209,
				205,205,205,205,205,205,205,205,205,205,205,205,205,209,
				205,205,205,205,205,205,205,187);
		cprintf("%c %c %c   Surname  %c    Name    %c Patronymic %cYear%c  Profession %c Wages %c\n\r",
				186,252,179,179,179,179,179,179,186);
		cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
				199,196,196,196,197,
				196,196,196,196,196,196,196,196,196,196,196,196,197,
				196,196,196,196,196,196,196,196,196,196,196,196,197,
				196,196,196,196,196,196,196,196,196,196,196,196,197,
				196,196,196,196,197,
				196,196,196,196,196,196,196,196,196,196,196,196,196,197,
				196,196,196,196,196,196,196,186);
		for(i = 0; i < *p; i++)
		{
		cprintf("%c", 186);
		W cprintf("%3i", i +1);
		Y cprintf("%c",179);
		W cprintf("%12s", rabota[i].fam);
		Y cprintf("%c",179);
		W cprintf("%12s", rabota[i].name);
		Y cprintf("%c",179);
		W cprintf("%12s", rabota[i].otch);
		Y cprintf("%c",179);
		W cprintf("%4i", rabota[i].year);
		Y cprintf("%c",179);
		W cprintf("%13s", rabota[i].prof);
		Y cprintf("%c",179);
		W cprintf("%7i", rabota[i].zarpl);
		Y cprintf("%c\n\r", 186);
        }
        cprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\r",
                200,205,205,205,207,
                205,205,205,205,205,205,205,205,205,205,205,205,207,
                205,205,205,205,205,205,205,205,205,205,205,205,207,
                205,205,205,205,205,205,205,205,205,205,205,205,207,
                205,205,205,205,207,
                205,205,205,205,205,205,205,205,205,205,205,205,205,207,
                205,205,205,205,205,205,205,188);
		W cprintf("Continue Y/N ?");
        scanf("%s", &c);
        if(c == 'Y' || c == 'y')
                return 1;
        else
                exit(1);
        return 0;
}

бд

guest guest, (Updated )

Комментарии (1, +1)