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 итак существенно снижает объём набиваемого кода за счёт всяких атрибутов и обширной библиотеки, сводя технические детали реализации многих вещей практически к минимуму. Но, тем не менее, хотелось бы большего... точнее ещё меньшего.
|
02.07.2001
|
|
|
|
28.12.2004
|
|
|
— Как прикрутить к моей программе преобразование из текста в голос?
— А как получить список установленных голосов? — А если нужно не проговаривать, а создавать из текста аудиофайл? |
11.10.2002
|
|
|
ПА>Есть у меня некая структура (struct).
ПА>Требуется создать файл, куда писать данные в виде этих структур. А также читать. А также перемещаться по файлу. ПА>Как это сделать? (Плиз с ма-аленьким примером или в какую сторону копать). |
18.11.2004
|
|
|
Хочу рассказать про несколько мнений о рефакторинге, кои в ходе моей профессиональной деятельности оказались мифами.
Миф 1. Рефакторинг не нужен или нужен очень редко. Любой код имеет определенный цикл жизни, который в итоге завершается тем, что из-за запутанности кода его проще оказывается полность переписать. Единственным известным мне способом продлить жизненный цикл существующего кода является его рефакторинг. Миф 2. Тщательное проектирование позволяет избавится от рефакторинга. Не существует идеальных архитекторов. Всегда будут ошибки проектирования. Следовательно — рефакторинг в ходе разработки это нормальный процесс, от которого не избавится. Но это еще не все — помимо ошибок проектирования всегда будет ситуация, когда структура кода не оптимальна из-за того что на момент проектирования существует некоторая неопределенность, от которой можно избавиться, только начав разработку. Миф 3. Рефакторинг это упрощение кода. На самом деле рефакторинг, как правило, не упрощает... |