02.06.2003
IT
Я понимаю, что программирование в .NET итак существенно снижает объём набиваемого кода за счёт всяких атрибутов и обширной библиотеки, сводя технические детали реализации многих вещей практически к минимуму. Но, тем не менее, хотелось бы большего... точнее ещё меньшего.
02.07.2001
IT
Alexander Shargin
28.12.2004
Odi$$ey
— Как прикрутить к моей программе преобразование из текста в голос?
— А как получить список установленных голосов?
— А если нужно не проговаривать, а создавать из текста аудиофайл?
11.10.2002
IT
ПА>Есть у меня некая структура (struct).
ПА>Требуется создать файл, куда писать данные в виде этих структур. А также читать. А также перемещаться по файлу.
ПА>Как это сделать? (Плиз с ма-аленьким примером или в какую сторону копать).
18.11.2004
AndrewVK
Хочу рассказать про несколько мнений о рефакторинге, кои в ходе моей профессиональной деятельности оказались мифами.

Миф 1. Рефакторинг не нужен или нужен очень редко.
Любой код имеет определенный цикл жизни, который в итоге завершается тем, что из-за запутанности кода его проще оказывается полность переписать. Единственным известным мне способом продлить жизненный цикл существующего кода является его рефакторинг.

Миф 2. Тщательное проектирование позволяет избавится от рефакторинга.
Не существует идеальных архитекторов. Всегда будут ошибки проектирования. Следовательно — рефакторинг в ходе разработки это нормальный процесс, от которого не избавится. Но это еще не все — помимо ошибок проектирования всегда будет ситуация, когда структура кода не оптимальна из-за того что на момент проектирования существует некоторая неопределенность, от которой можно избавиться, только начав разработку.

Миф 3. Рефакторинг это упрощение кода.
На самом деле рефакторинг, как правило, не упрощает...
21.09.2004
Odi$$ey
OE>>Как в ATL клиенте подписываться на события надо объяснять?
E>ДА!

Ok, например в клиенте есть диалог, в котором нужно ловить события от COM-сервера:

class CMainDlg : public CAxDialogImpl<CMainDlg>
               , public CDialogResize<CMainDlg>
{


добавляем туда следующие вещи (см. выделенное):

[ccode]
#import "MyCOM.dll" no_namespace, named_guids

// произвольное число, удобно когда подключение идет к событиям сразу нескольких компонент
#define IMYINTRFID 1

class CMainDlg : public CAxDialogImpl<CMainDlg>
, public CDialogResize<CMainDlg>
, public IDispEventImpl<IMYINTRFID, CMainDlg, &DIID___IMyIntrfEvent, &LIBID_MYCOMLib, 1, 0>
{

IMyIntrfPtr pMyIntrfPtr;

// номер метода-события (0x1) смотрим в idl сервера или в
// mycom.tli, который создаст #import
BEGIN_SINK_MAP( CMainDlg )
SINK_ENTRY_EX( IMYINTRFID, DIID___IMyIntrfEvent, 0x1, OnFirstMethod )
END_SINK_MAP()
03.06.2004
Odi$$ey
Здравствуйте, Carc, Вы писали:

C>Как получить текст горячей клавиши?

C>Т.е. я юзую какую нить к примеру Ctrl+A у себя в приложении, причем есессно клавиша может меняться пользователем, как мне получить текст который отображать в меню (типа какой нить "Ctrl+A"), пробовал тот же GetKeyName но что я не смог разобраться.... хелп

посмотреть исходники MFC-шного CHotKeyCtrl::GetHotKeyName():

[ccode]
CString GetKeyName( UINT vk, BOOL fExtended )
{
LONG lScan = MapVirtualKey( vk, 0 ) << 16;

// if it's an extended key, add the extended flag
if ( fExtended )
lScan |= 0x01000000L;

TCHAR sz[ 100 ];

::GetKeyNameText( lScan, sz, 100 );

sz[ 99 ] = 0;

return CString( sz );
}

CString GetHotKeyName( DWORD hk )
{
static const TCHAR szPlus[] = _T( " + " );
CString strKeyName;
WORD wCode;
WORD wModifiers;

wCode = LOBYTE( LOWORD( hk ) );
wModifiers = HIBYTE( LOWORD( hk ) );

if ( wCode != 0 || wModifiers != 0 )
{
07.07.2004
Odi$$ey
Есть окно с Edit, нужно программно переключить язык ввода.
19.03.2002
Odi$$ey
Можно ли заменить стандартный хелп, который подключается при создании проекта в AppWizard-е на HTML хелп, так чтобы он работал как обычный хелп, и если можно то как.
16.10.2002
Odi$$ey
Есть стандартный ListView со стилями LVS_EX_GRIDLINES и LVS_REPORT (эмуляция Grid-a). Хочется сделать "зебру" — чередующиеся белые и серые полосы. Или выделять некоторые строки иным цветом (красным, если это что-то критическое), в зависимости от значения строки.
<  1  …  44  45  46  47  48  49  50  > rss