ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
файлы и сортировка - это вопросы ОБЩЕГО ПЛАНА, конкретно к С++ отношение имеют весьма посредственное, т.к. одинаковы почти во всех языках... а вот когда дойдете до шаблонов и т.п. фич, исключительно С++-шных, т.е. более нигде не имеющихся - вот тут-то крышку и сорвать может
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Pika4u а тебя такой фрагмент С++ ного кода не напугает?
Запрос в MySQL базу данных и разбор полученной структуры по разным переменным.
Заголовочники и прочее не привожу, это только маленький фрагмент программы.
В ней 610 строк и размер её 76 Кб.
Ещё к ней подвешиваются два DLL файла и один INI файл настроек.
DLL: libMySQL.dll - API базы данных (2,25Мб)
DLL: dxcom.dll - собственный класс для работы с COM портами. (86Кб)
DxControlServer.ini - файл настроек программы (176 байт)
Это ещё изврааат
Запрос в MySQL базу данных и разбор полученной структуры по разным переменным.
Заголовочники и прочее не привожу, это только маленький фрагмент программы.
В ней 610 строк и размер её 76 Кб.
Ещё к ней подвешиваются два DLL файла и один INI файл настроек.
DLL: libMySQL.dll - API базы данных (2,25Мб)
DLL: dxcom.dll - собственный класс для работы с COM портами. (86Кб)
DxControlServer.ini - файл настроек программы (176 байт)
Код: Выделить всё
MYSQL mysql;
MYSQL_RES *res;
DXCOM dx;
PortInfo xd;
DWORD ini;
HANDLE console;
int tcp_port, com_port, baud, level, com_d, rts1_d, rts0_d, strt_d;
char st, l1, l2, l3, l4;
char host[20], user[20], pssw[20], dtbs[20], dbg[2], log[2];
char idd[20], usr[20], psw[20];
char query[512];
int DBquery(const char *id)
{
MYSQL_ROW row;
unsigned int i=0;
//----------
sprintf(query, "SELECT * FROM users WHERE ID=%s", id);
//----------
if (mysql_query(&mysql, query))
{
SetConsoleTextAttribute(console, FOREGROUND_RED | FOREGROUND_INTENSITY);
display(" Ошибка запроса!");
fprintf(stderr, " Error: %s\n", mysql_error(&mysql));
return 1;
}
//----------
if (!(res = mysql_store_result(&mysql)))
{fprintf(stderr, " Error: %s\n", mysql_error(&mysql));return 1;}
//----------
while((row = mysql_fetch_row(res)))
{
for (i=0;i<mysql_num_fields(res);i++)
{
if (i==0){for (int a=0;a<20;a++){idd[a]=row[i][a];}}
else if (i==1){for (int a=0;a<20;a++){usr[a]=row[i][a];}}
else if (i==2){for (int a=0;a<20;a++){psw[a]=row[i][a];}}
else if (i==3){st = row[i][0];}
else if (i==4){l1 = row[i][0];}
else if (i==5){l2 = row[i][0];}
else if (i==6){l3 = row[i][0];}
else if (i==7){l4 = row[i][0];}
}
}
//----------
if (!mysql_eof(res)){fprintf(stderr," Error: %s\n", mysql_error(&mysql));return 1;}
//----------
mysql_free_result(res);
delete row;
//----------
return 0;
}
Это ещё изврааат
Последний раз редактировалось DX168B Чт фев 03, 2011 13:39:12, всего редактировалось 1 раз.
I am DX168B and this is my favourite forum on internet!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
самое смешное, что в приведенном коде нет ничего, присущего именно С++ - этот код на 100% чисто СИШНЫЙ, без плюсов. вы бы привели парочку классов, сделанных по шаблонам, с виртуальными конструкторами-деструкторами и обработкой исключений - вот тогда б кто-то мог вздрогнуть 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Pika4u
- Поставщик валерьянки для Кота
- Сообщения: 2064
- Зарегистрирован: Пт апр 24, 2009 11:39:16
- Откуда: г.Оренбург
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Написал прогу для флага России, чтобы флаг не сразу, а построчно рисовался. Вот:
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
const int N=343;
main()
{
while(1)
{
int i;
initwindow(1280,1024);
for(i=0;i<N;i++)
{
setfillstyle(1,15);
bar(0,0,1280,i);
delay(1);
setfillstyle(1,1);
bar(0,342,1280,i+342);
delay(1);
setfillstyle(1,4);
bar(0,684,1280,i+684);
delay(1);
}
getch();
closegraph();
}
}
Пойду для флага Великобритании писать)))

#include <stdio.h>
#include <conio.h>
#include <graphics.h>
const int N=343;
main()
{
while(1)
{
int i;
initwindow(1280,1024);
for(i=0;i<N;i++)
{
setfillstyle(1,15);
bar(0,0,1280,i);
delay(1);
setfillstyle(1,1);
bar(0,342,1280,i+342);
delay(1);
setfillstyle(1,4);
bar(0,684,1280,i+684);
delay(1);
}
getch();
closegraph();
}
}
Пойду для флага Великобритании писать)))
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
ARV писал(а):самое смешное, что в приведенном коде нет ничего, присущего именно С++ - этот код на 100% чисто СИШНЫЙ, без плюсов. вы бы привели парочку классов, сделанных по шаблонам, с виртуальными конструкторами-деструкторами и обработкой исключений - вот тогда б кто-то мог вздрогнуть
Вас, как опытного кота - этим не напугать.
Только в С++ намного больше возможностей и есть куча добавок.
Ну а это уже похоже на С++
Код: Выделить всё
// MyCODEDlg.h : header file
//
#if !defined(AFX_MYCODEDLG_H__E9E40839_9897_4379_A07D_898A3C5866B5__INCLUDED_)
#define AFX_MYCODEDLG_H__E9E40839_9897_4379_A07D_898A3C5866B5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CMyCODEDlg dialog
class CMyCODEDlg : public CDialog
{
// Construction
public:
CMyCODEDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CMyCODEDlg)
enum { IDD = IDD_MYCODE_DIALOG };
int m_delay;
BOOL m_atc;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMyCODEDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CMyCODEDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButton1();
afx_msg void OnButton2();
afx_msg void OnButton3();
afx_msg void OnButton4();
afx_msg void OnButton5();
afx_msg void OnButton6();
afx_msg void OnButton7();
afx_msg void OnButton8();
afx_msg void OnButton9();
afx_msg void OnButton0();
afx_msg void OnButtonEnter();
afx_msg void OnButtonClear();
virtual void OnOK();
afx_msg void OnButtonIntCall();
afx_msg void OnButtonIntClose();
afx_msg void OnCheck1();
afx_msg void OnChangeEdit1();
afx_msg void OnButton15();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MYCODEDLG_H__E9E40839_9897_4379_A07D_898A3C5866B5__INCLUDED_)
Объявление класса CMyCODEDlg
I am DX168B and this is my favourite forum on internet!
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
DX168B... раз уж везде идет if (i==, то наверное проще написать
... хотя конечно - хозяин - барин
.
Код: Выделить всё
switch(i){
case 0:
}
... хотя конечно - хозяин - барин
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Можно было и через switch \ case, но тогда это мне в голову пришло, по этому разбор пошёл через if 
I am DX168B and this is my favourite forum on internet!
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
вывод всяких сообщение лучще сделать отдельным классом, чтобы удобно сохранять логи программы.
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Все логи пишутся в базу другой функцией, в том числе и ошибки запроса на чтение, если ID выступает за пределы таблицы. Ошибки пакетов с COM порта тоже регистрируются. В базе данных тоже создана пара триггеров для самостоятельного лога + в журнал винды регистрируются ошибки самой СУБД. Вот ошибка записи логов в базу выводится на экран. Там же не зря стоит return 1; в случае ошибки. После слёта из этой функции, далее снова ошибка извлекается из mysql_errno() и из mysql_error() и пишется в другую таблицу.
Если и там ошибка, отправляется административное оповещение в локальную сеть.
А на счёт класса - Вы верно намекнули. Надо будет продумать и переписать.
Если и там ошибка, отправляется административное оповещение в локальную сеть.
А на счёт класса - Вы верно намекнули. Надо будет продумать и переписать.
I am DX168B and this is my favourite forum on internet!
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
ARV писал(а):турбопаскаль это тот же труп, что и CGA-EGA. Очень рекомендую Delphi - тот же паскаль, но с ООП и вполне современно. если вы не намерены стать профессиональным программистом, С++ изучать так же нет особоых причин, во всяком случае, глубоко изучать, ибо там можно мозг сломать запросто, если он неокрепший
да яасно
Да он не поддерживает он ассемблерные вставки(но изуучать делфи всё равно нужно.......)
А ассемблерные вставки в ряде случаев НЕОБХОДИМЫ (при написании антивиря,например)
Спасибо за внимание.
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
А я на Си остановлюсь. Хоть мозг и ломает иногда,
но этот язык более кроссплатформенный
, еже-ли Delphi
но этот язык более кроссплатформенный
I am DX168B and this is my favourite forum on internet!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
кто не поддерживает ассемблерные вставки? турбопаскаль? Delphi? оба поддерживают, и еще как! только создается впечатление, что для вас главное - это именно ассемблерные вставки, и вы готовы их пихать куда угодноА.Андрей писал(а):да яасно![]()
Да он не поддерживает он ассемблерные вставки(но изуучать делфи всё равно нужно.......)
А ассемблерные вставки в ряде случаев НЕОБХОДИМЫ (при написании антивиря,например)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
ARV писал(а):кто не поддерживает ассемблерные вставки? турбопаскаль? Delphi? оба поддерживают, и еще как! только создается впечатление, что для вас главное - это именно ассемблерные вставки, и вы готовы их пихать куда угодно
ой извините перепутал с визуальбейсиком
это не главное, я не фанатик, но в ряде случаев нужное
Спасибо за внимание.
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Классная программа у меня получилась....

Кому интересно будет, отдам проект с исходником.

Кому интересно будет, отдам проект с исходником.
I am DX168B and this is my favourite forum on internet!
- РадиоЛоматель
- Мудрый кот
- Сообщения: 1733
- Зарегистрирован: Чт авг 21, 2008 22:03:30
- Откуда: Одесса(Украина)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Эх, ну и гад же вы
Хотя я успел накропать сообщение.
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Люблю Си...
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
А вот более замедленная (на 1 сек.)
I am DX168B and this is my favourite forum on internet!
- РадиоЛоматель
- Мудрый кот
- Сообщения: 1733
- Зарегистрирован: Чт авг 21, 2008 22:03:30
- Откуда: Одесса(Украина)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
После вашего отсчета еще идет отсчет системный-25 секунд. Можно приложение завершить, но я запамятовал как оно называется... В системе есть. Когда-то тоже баловался с ним 
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Люблю Си...
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
DX168B "гы-гы это прикол" убери, а то кирпичи плохо идут
(\_(\
(=' :') радиоКотЭ
(,('')('')
(=' :') радиоКотЭ
(,('')('')
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Ну и последний вариант жоще...

Последний раз редактировалось DX168B Пт фев 04, 2011 18:56:40, всего редактировалось 1 раз.
I am DX168B and this is my favourite forum on internet!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
даже интересно узнать хотя бы несколько ситуаций из этого ряда случаев... может, из вашей практики...А.Андрей писал(а):это не главное, я не фанатик, но в ряде случаев нужное
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!