Различная периферия
Code: |
package BTClasses;
{$R *.res} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$IMPLICITBUILD OFF}
requires rtl;
contains BTRadio in 'BTRadio.pas', BluetoothAPI in 'BluetoothAPI.pas', BthSdpDef in 'BthSdpDef.pas', BTExceptions in 'BTExceptions.pas', BTStrings in 'BTStrings.pas', BTDevice in 'BTDevice.pas';
end. |
- Подробности
- Родительская категория: Работа с железом
- Категория: Различные другие железяки...
Code: |
uses MMSYSTEM; var MyJoy: TJoyInfo; ErrorResult: MMRESULT; begin ErrorResult := joyGetPos(joystickid1, @MyJoy); if ErrorResult = JOYERR_NOERROR then begin TrackBar1.Position := MyJoy.wypos; TrackBar2.Position := MyJoy.wxpos; RadioButton1.Checked := (MyJoy.wbuttons and joy_button1) > 0; RadioButton2.Checked := (MyJoy.wbuttons and joy_button2) > 0; end else case ErrorResult of MMSYSERR_NODRIVER: ShowMessage('No Joystick driver present'); MMSYSERR_INVALPARAM: ShowMessage('Invalid Joystick Paramameters'); JOYERR_UNPLUGGED: ShowMessage('Joystick is Unplugged'); else ShowMessage('Unknown error with Joystick'); end;
end; |
- Подробности
- Родительская категория: Работа с железом
- Категория: Различные другие железяки...
Посвящается всем любителям компьютерных игр…
В предыдущей статье данного цикла были рассмотрены некоторые из вопросов, связанных с использованием внешних устройств. Данная статья продолжает начатую тему. Так как данный номер посвящен приложениям multimedia, а примеры использования компонента TMediaPlayer и создания проигрывателя звуковых компакт-дисков доступны российским читателям в нескольких различных модификациях (см., например, недавно вышедшую книгу С.Тейксейра и К.Пачеко "Borland Delphi 4: руководство разработчика"; подобные примеры есть и в других источниках), данная статья посвящена теме довольно экзотической - использованию джойстика. Некоторые (но далеко не все) идеи, послужившие основой для рассмотренного ниже примера, заимствованы из малодоступного российскому читателю источника "C++Builder - how-to" (J.Miano, T.Cabanski, H.Howe. - Waite Group Press, ).
- Подробности
- Родительская категория: Работа с железом
- Категория: Различные другие железяки...
Code: |
uses Windows, SysUtils;
function DisplayRam: string; var Info: TMemoryStatus; begin Info.dwLength := SizeOf(TMemoryStatus); GlobalMemoryStatus(Info); Result := Format('%d MB RAM', [(Info.dwTotalPhys shr 20) + 1]); end; |
- Подробности
- Родительская категория: Работа с железом
- Категория: Различные другие железяки...
Маленький коментарий:
При открытии сидирома срабатывает DBT_DEVICEREMOVECOMPLETE, при закрытии DBT_DEVICEARRIVAL
При подключении сетевого диска также приходит DBT_DEVICEARRIVAL а при отключении DBT_DEVICEREMOVECOMPLETE
При подключении или отключении флэшки срабатывает DBT_DEVNODES_CHANGED...
- Подробности
- Родительская категория: Работа с железом
- Категория: Различные другие железяки...
Прежде всего, получить SDK
После установки откройте Delphi и импортируйте элемент управления ActiveX VPortal2 из списка. Теперь создайте новую форму и поместите VideoPortal из панели ActiveX и кнопки. В пользах, добавить Видеопортал
На OnShow добавить:
- Подробности
- Родительская категория: Работа с железом
- Категория: Различные другие железяки...
Часть 1
Вступление
Этой статьей хочу начать серию по работе с Bluetooth в Delphi под Microsoft Windows XP. Так как тема весьма сложная, прошу внимательно читать. Повторяться не буду.
Все программы написаны на Delphi 6 и тестировались со стандартным стеком Bluetooth от Microsoft под Windows XP + SP2.
Все необходимые библиотеки прилагаются. Так что дополнительно ничего качать не нужно. При разработке использовал только API функции с JEDI.
Описание функций будут даны в стиле Object Pascal. Сионистов просьба обращаться к MSDN и Microsoft Platform SDK.
- Подробности
- Родительская категория: Работа с железом
- Категория: Различные другие железяки...
Приведенный здесь пример тестировался на сканере Umax 2000P с драйвером VistaScan32 V3.52. При получении изображений следует помнить, что максимальный размер блока памяти, который может распределить Windows, составляет 2 Гб для 32-ух битной винды (8 Тб для 64-х битной) и при попытке сканировании страниц формата А4 с высоким разрешением можно превысить этот предел. Кроме того, достаточно простой в обращении объект TBitMap имеет куда более серьезные ограничения на размер загружаемых изображений, что требует непосредственной работы с DIB данными. Но это уже тема для отдельной статьи.
- Подробности
- Родительская категория: Работа с железом
- Категория: Различные другие железяки...