Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

ЧаВО от клуба программистов Весельчак У


Информационный Канал Subscribe.Ru


"ЧАВО от клуба программистов ВесельчакУ"
>>
-Новое из раздела Новичкам
Обновлений нет
>>
-Новое из раздела NET
Обновлений нет
>>
-Новое из раздела C/C++
Обновлений нет
>>
- Новое из раздела Delphi
Как проиграть Wave-ресурс?

Сначала делаешь файл SOUND.RC, в нем строка вида: MY_WAV RCDATA TEST.WAV
Компилишь чем-нибyдь в *.RES

Далее в тексте:
{$R полное_имя_файла_с_ресурсом}

var WaveHandle : THandle;
WavePointer : pointer;
...
WaveHandle := FindResource(hInstance,MY_WAV,RT_RCDATA);
if WaveHandle0 then begin
WaveHandle:= LoadResource(hInstance,WaveHandle);
if WaveHandle0 then begin;
WavePointer := LockResource(WaveHandle);
PlayResourceWave := sndPlaySound(WavePointer,snd_Memory OR
SND_ASYNC);
UnlockResource(WaveHandle);
FreeResource(WaveHandle);
end;
end;

Последние обновление: 2004-01-25 20:00
Опубликовал: Александр

Как правильно завершить некое приложение?

Если не принудительно, то можно послать на его Instance сообщение WM_QUIT.
Если же необходимо принудительно терминировать приложение, то смотрите ниже -
Под Windows NT процесс можно терминировать через специально предназначенный
для этого хэндл. Иначе гарантии нет.

Предположим, что процесс создаем мы, ожидая его завершения в течение
maxworktime. Тогда


var
dwResult: Longint; // This example was converted from C source.
begin // Not tested. Some nil assignments must be applied
// as zero assignments in Pascal. Some vars need to
// be declared (maxworktime, si, pi). AA.
if CreateProcess(nil, CmdStr, nil, nil, FALSE,
CREATE_NEW_CONSOLE, nil, nil, si, pi) then
begin
CloseHandle( pi.hThread );
dwResult := WaitForSingleObject(pi.hProcess, maxworktime*1000*60);
CloseHandle( pi.hProcess );
if dwResult WAIT_OBJECT_0 then
begin
pi.hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, pi.dwProcessId);
if pi.hProcess nil then
begin
TerminateProcess(pi.hProcess, 0);
CloseHandle(pi.hProcess);
end;
end;
end;
end;

Последние обновление: 2004-01-25 20:01
Опубликовал: Александр

Как удалить файл в корзину (Recycle Bin)?


program del;

uses
ShellApi;

//function SHFileOperation(const lpFileOp: TSHFileOpStruct): Integer; stdcall;

Var T:TSHFileOpStruct;
P:String;
begin
P:=C:WindowsSystemEL_CONTROL.CPL;
With T do
Begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:=Pchar(P);
fFlags:=FOF_ALLOWUNDO
End;
SHFileOperation(T);
End.

Последние обновление: 2004-01-25 20:01
Опубликовал: Александр

>>
-Новое из раздела Visual Basic

Как создать таймер при помощи SetTimer? Дело в том, что там первый параметр hWnd - проблем нету, когда есть форма, но что делать если моя программа - всего лишь модуль (без форм) такой процесс, который должен постоянно проверять кое-что, однако формы ему не нужны... Если там указать 0 - то вылетает среда разработки (с какой-то ошибкой, но какой не знаю, ибо как уже сказал IDE вылетает) Что делать?

Создать таймер с помощью SetTimer без наличии окна не получится.
Дело в том, что таймер использует в качестве механизма передачи сообщений (timer ticks) оконные сообщения Windows, а если их некому передавать, то и работать это не будет!

Последние обновление: 2004-01-31 15:47
Опубликовал: из архива

Тема: Выполнение Paste Special в Excel (VBA) В Excel открыто два окна одной рабочей книги. В первом окне активен Лист1, а на втором Лист2. Выполняем макрос: Windows("Книга1:2").Activate Range("A1:A14").Select Selection.Copy Range("B1:B14").Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Наблюдаем, что в окне 1, которое в данный момент не активно происходит скачек на тот лист, с которым производилась операция специальной вставки в окне 2. Но, когда выполняешь подобные действия, не программно а в через меню Excel таких скачков не происходит. Подскажите, пожалуйста, как победить эту ерунду :(

А почему-бы не поставить на период выполнения процедуры Application.ScreenUpdating в False?

Последние обновление: 2004-02-11 17:15
Опубликовал: PooH

Нужен компонент со вкладками. Выбираю TabStrip. Не могу перейти на другие вкладки и не могу разместить на них нормально другие компоненты. Как с этим бороться?
Я пользовался
tabctl32.ocx
Microsoft Tabled dialog 6.0
С ним все без проблем работает .....
А стандартный дествительнол ведет себя както не так....

Последние обновление: 2004-02-13 17:10
Опубликовал: PSD

>>
-Новое из раздела ОС - Windows
Обновлений нет
>>
Новое из раздела WEB

Обновлений нет

>>
-Новое из раздела Базы данных 
Обновлений нет
>>
-Новое из раздела Разное

При работе с Com-портом в Windows 9x не срабатывает функция WaitCommEvent(): не реагирует на изменение состояния Com-порта. В чем может быть причина?

В Windows 9x обязательно, до использования любых функций работы с портом (в частности WaitCommEvent), выполнить конфигурацию. Для этого достаточно выполнить следующий код:


DCB dcb;
GetCommState(hFile, &dcb);
SetCommState(hFile, &dcb);


Последние обновление: 2004-02-16 21:00
Опубликовал: ysv_

У меня MCI устройство открывается в главной нити (thread), а доступ к нему осуществляется из разных нитей. В Windows 9x все работает. Почему под Windows 2000 мое приложение не работает?

"Since a magic" в Windows 2000 handle MCI устройства действителен только в той нити, в котором его открыли. Вариант, который использовал я: создал нить, которая получала запросы на выполнение операций с MCI устройством через Proxy-методы, которые вызывали для нити по обслуживанию MCI-устройства PostThreadMessage.

Последние обновление: 2004-02-16 21:00
Опубликовал: ysv_

Я использую setlocale(LC_ALL, ".OCP"), потом вызываю toupper(something). Но под Windows 9x toupper не работает. Что делать?

По непонятным причинам, в Windows 9x не срабатывает переключение в OEM codepage, хотя возвращаемые значения сообщают, что переключение совершено успешно. Как один из выходов - использовать собственую функцию. Вот пример (естественно что буквы должны набираться в 866 кодировке):
int ToUpper(int c)
{
if (c>=a && c=а && c=р && c

Последние обновление: 2004-02-16 21:00
Опубликовал: ysv_

 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное