11.02.2006
|
|
|
Здравствуйте, xbit, Вы писали:
X> Лично я, тоже не могу в это поверить. Как можно сесть и сразу начать писать (как IT например) какой нибудь крупный (или средний) проект. Может объясните мне глупому ? Наверное для этого надо быть очень очень умным и иметь огромный опыт или наоборот быть идиотом ![]() На самом деле, это просто. Очень умным быть не обязательно, главное не быть полным идиотом. eao197 пропагандирует во всех отношениях правильный и устоявшийся стиль мышления — подумай, нарисуй на бумажке, потом закодируй. Современные супер-дюпер архитекторы заменятю бумажку какой-нибудь рисовалкой типа Visio. Но eao197 с бумажкой в этом смысле не очень сильно отстал, не исключено, что для него этот способ гораздо более эффективнее ![]() Проектирование как отдельная стадия очень даже имеет смысл, действительно имеет и действительно смысл, тогда, когда речь идёт о передаче знаний от одного человека другому. Но судя по постам eao197 этот кто-то другой — он сам. |
15.07.2001
|
|
|
Однажды я занимался проектом, главной особенностью которого было наличие большого количества типовых форм ввода и вывода. Что-то типа делопроизводства. Документы должны были заполняться данными из БД или другими данными, которые может предоставить программа. При этом было бы крайне желательно, чтобы шаблон документа мог разобраться с этими данными самостоятельно.
Оказалось, что всем этим требованиям вполне удовлетворяет MS Office. В этой статье я попытаюсь это продемонстрировать.
|
02.02.2006
|
|
|
Здравствуйте, Игорь Вартанов, Александр Шаргин, Вы писали:
ИВА>Статья: ИВА>Как добавить всплывающие подсказки для элементов управления диалога? до кучи к WinAPI и MFC — как то же самое делается в WTL:
[ccode] LRESULT CMainDlg::OnInitDialog( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/ ) { ... // создание тултипа tooltip_.Create( m_hWnd, rcDefault, NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP, WS_EX_TOPMOST ); ATLASSERT( tooltip_.IsWindow() ); //Связываем контролы с тултипами ATLVERIFY( tooltip_.AddTool( &CToolInfo( TTF_SUBCLASS, |
30.12.2005
|
|
|
Глава из книги "Beyond the C++ Standard Library: An Introduction to Boost".
Рассматриваются все типовые случаи применения bind — связывание свободных функций, функций-членов класов, переменных-членов, виртуальных функций, а также функциональная композиция. На простом примере поясняется идея, лежащая в основе реализации bind. |
09.09.2005
|
|
|
Здравствуйте, eao197, Вы писали:
E>Про менеджеров ничего не могу сказать. А вот программисту в небольшой компании, имхо, приходится быть более универсальным -- ты сам себе и системный архитектор, и кодер, и тестировщик, и техподдержку оказываешь, и документацию пишешь. Так что за год в маленькой компании можно перепробовать столько занятий, сколько в большой и за пять лет не успеешь. Да речь не об этом. Рано или поздно ты что в маленькой, что в большой компании будешь иметь возможность попробовать себя во всех этих ролях. Дело в том, что в маленькой компании тебе скажут туда не ходи, суда ходи, там снег-башка попадёт и всё такое. После этого ты развершёшься и пойдёшь искать другой путь. В большой компании пойдут именно в указанном направлении и обязательно дождутся снег-башка. Почему так? Объясняется это очень просто. Есть такая байка. Люди бывают умные и глупые, активные и пассивные. Самая жуткая комбинация — это глупые и активные. Так вот — это неверное утверждение. |
05.06.2005
|
|
|
Здравствуйте, <Аноним>, Вы писали:
А>Как изменить сабж у PropertySheet? [ccode] class CCfgSheet: public CPropertySheetImpl<CCfgSheet> { public: typedef CPropertySheetImpl<CCfgSheet> sheetBase; // 3 CCfgSheet(); ~CCfgSheet(); BEGIN_MSG_MAP( CCfgSheet ) CHAIN_MSG_MAP( sheetBase ) MESSAGE_HANDLER( WM_SHOWWINDOW, OnShowWindow ) END_MSG_MAP() // Since WTL's CPropertySheet does not receive a WM_INITDIALOG message, // this needs to be called to handle the remaining initialization tasks LRESULT OnShowWindow( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled ); protected: ... }; // Since WTL's CPropertySheet does not receive a WM_INITDIALOG message, // this needs to be called to handle the remaining initialization tasks LRESULT CCfgSheet::OnShowWindow( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled ) { SetIcons(); SetRussianBtn(); |
23.07.2001
|
|
|
Windows Shell API включает функцию SHBrowseForFolder,
которая отображает стандартный диалог, с помощью которого пользователь может
выбрать нужный каталог. На самом деле, выбрать можно не только каталог,
а любой объект Shell namespace, в том числе принтеры и компьютеры.
Ниже приведён пример использования этой функции:
|
01.05.2005
|
|
|
Здравствуйте, <Аноним>, Вы писали:
А>На диалоги есть несколько групп radio button, как указать к какой группе какая относится? Надо расставить их по-порядку в Tab Order (Ctrl-D при редактировании ресурса диалога). Назначаешь самому первому свойство Group = True, дальше в порядке Tab Order идет его группа, пока не встретится снова radio button с Group = True, с него начнется новая группа, ну и т.д. |
24.04.2005
|
|
|
Здравствуйте, LordWin, Вы писали:
LW>Как имея Dll которая была написана для експорта в Visual Basic (стянул у автора а обратного адреса для мыла у него нету) перенести в Visual C++ 7 .NET ???? LW>Visual C++ 7 .NET говорит что .lib файл неподходит или же битый .... 1. берем проект, в котором надо использовать твою mdmxsvr.dll, подключаем h и lib, какие есть:
ага, lib-а не нравится:
2. Создаем свою (IMPDEF.exe из комплекта Borland C++ Builder):
получился mdmxsvr.def: [ccode] LIBRARY MDMXSVR.DLL EXPORTS MDMX_Close @4 ; MDMX_Close MDMX_GetDMXTransmissions @3 ; MDMX_GetDMXTransmissions MDMX_OpenSerialDevice @1 ; MDMX_OpenSerialDevice |
02.06.2003
|
|
|
Я понимаю, что программирование в .NET итак существенно снижает объём набиваемого кода за счёт всяких атрибутов и обширной библиотеки, сводя технические детали реализации многих вещей практически к минимуму. Но, тем не менее, хотелось бы большего... точнее ещё меньшего.
|