реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Программирование USB, Borland C++ Builder 6
smk
сообщение Nov 16 2010, 19:13
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Так удалось кому-то прикрутить эту библиотечку к Bulderu?


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
shreck
сообщение Nov 17 2010, 03:39
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(smk @ Nov 17 2010, 03:13) *
Так удалось кому-то прикрутить эту библиотечку к Bulderu?

Библиотека устанавливается в билдер точно также (полностью аналогично) как и в делфи. Компонент написан так, чтобы поддерживать установку и туда и сюда, а билдер легко устанавливает такие компоненты.
Единственно, что свежий компонент надо смотреть в составе библиотеки jedi (но это на вкус).
Go to the top of the page
 
+Quote Post
skyled
сообщение Nov 18 2010, 06:56
Сообщение #33


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 11-06-10
Пользователь №: 57 868



Прикрутить HIDcomponent к билдеру получилось. Теперь разбираюсь как им пользоваться. Кто-нибудь уже пользовался?
Go to the top of the page
 
+Quote Post
shreck
сообщение Nov 18 2010, 08:03
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(skyled @ Nov 18 2010, 14:56) *
Прикрутить HIDcomponent к билдеру получилось. Теперь разбираюсь как им пользоваться. Кто-нибудь уже пользовался?

А что там разбираться. К компоненту идут help и несколько примеров. Все просто и понятно.
Go to the top of the page
 
+Quote Post
smk
сообщение Nov 21 2010, 10:43
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Компонент поставил. Все компилится, примеры тоже. Только вот с использованием пока не выходит. Смотрел примеры. Что-то понятно, а что-то нет. Можно простой пример как вывести перечень подключенных устройств? Ну или подсказку какую.
Код
//********************************************************************************
********
// процедура обновляет данные о всех HID устройствах, подключенных к шине USB
void __fastcall TForm1::JvHidDeviceController1DeviceChange(TObject *Sender)
{
    if (DevList == NULL){
        // создать список устройств
        DevList = new TList();
    }
    else{
        // освободить список устройств от всех записей указателей на устройства
        for (int i = 0; i < DevList->Count; i++)
            ((TJvHidDevice *)DevList->Items[i])->Free();
        // очистка списка устройств
        DevList->Clear();
    }

    // очистка компонента ListBox от старых записей названий или идентификаторов устройств
    ListBox1->Clear();

    Form1->Caption  = "";
    // перечисление всех HID устройств, подключенных к шине USB
    JvHidDeviceController1->Enumerate();

    Label1->Font->Color = clPurple;
    Label1->Caption = "USB устройство обмена данными не подключено";
    Label2->Visible = false;
}
//********************************************************************************
********
// процедура получает данные о всех HID устройствах, подключенных к шине USB
bool __fastcall TForm1::JvHidDeviceController1Enumerate(
      TJvHidDevice *HidDev, const int Idx)
{
    AnsiString S;

    // добавление названия или идентификаторов устройства в компонент ListBox
    if (HidDev->ProductName != NULL)
        ListBox1->Items->Add("Подключено устройство:  "
        + HidDev->ProductName);
    else
        ListBox1->Items->Add(S.sprintf("Device VID=%04X PID=%04X",
        HidDev->Attributes.VendorID, HidDev->Attributes.ProductID));

    // получение указателя на устройство
    JvHidDeviceController1->CheckOutByIndex(Dev, Idx);

    // добавление указателя на устройство в список устройств
    DevList->Add(Dev);

    // инкремент индекса записи
    ListBox1->ItemIndex ++;

    // получение указателя на устройство из списка устройств
    TJvHidDevice *Dev = (TJvHidDevice *)DevList->Items[ListBox1->ItemIndex];

    S = "USB устройство обмена данными";
    if (HidDev->ProductName == S){
        CurrentDevice = Dev;                    // активное HID устройство
        // число байтов для записи в HID устройство
        ToWrite = CurrentDevice->Caps.OutputReportByteLength;
        Form1->Caption = HidDev->ProductName;   // название устройства
        if(CurrentDevice != NULL)
            CurrentDevice->OnData = NULL;
        if(CurrentDevice->HasReadWriteAccess)
            CurrentDevice->OnData = ShowRead;
        else
            CurrentDevice->OnData = NULL;
    }
    return(true);
}
//********************************************************************************
********
void __fastcall TForm1::JvHidDeviceController1DeviceDataError(
      TJvHidDevice *HidDev, DWORD Error)
{
    MessageDlg("ОШИБКА чтения из HID. GetLastError=" +
        IntToStr(GetLastError), mtError, TMsgDlgButtons() << mbOK, 0);
}
//********************************************************************************
********

Вот такое есть в примере. Как вызываются эти процедуры? Взято оттуда:
Прикрепленный файл  USB_HID_Wind.rar ( 232.89 килобайт ) Кол-во скачиваний: 495

Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 23 2012, 17:59
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата(UniSoft @ Feb 13 2010, 21:54) *


Нагуглил. Как теперь прикрутить к Builder? Примеры не компилятся, а хочется.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st July 2025 - 01:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01412 секунд с 7
ELECTRONIX ©2004-2016