Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа библиотеки usbLib, usblib,charp 
:(
    Опции темы
pupkindeniska
Дата 3.3.2015, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Добрый день! Подскажите пожалуйста!
Имеется USB LCD Display (LCDSysInfo)
Есть пример на C#
Мне необходимо перенести пример на delphi 7
Использую так - же библиотеку USBLib как и на C# LibUsbDotNet

к Устройству подключаюсь - всё нормально, линию на экране выбираю и цвет текста а вот сам текст непонимаю как отправить, то какие то символы то пустота!
Что я делаю не так?!
Исходник прикрепил! Заранее благодарен!

Процедура отправки текста в линию на C# выглядит
Код

        public static void Display_text_on_line(int line, string textstring, bool leavespaceforicon,int alignment, int colorcode)
        {
            String Tempstring= textstring;
            Tempstring = Text_conversion(Tempstring, leavespaceforicon,alignment);

            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
            Byte[] text_bytearray = encoding.GetBytes(Tempstring);
            int temp_2 = text_bytearray.Length;
            if (leavespaceforicon == false) temp_2 = temp_2 + 256;
            if (colorcode > 32) colorcode = 0;
            if (line < 1 || line > 6) line = 1;
            line = line - 1;
            int temp_3 = line * 256 + colorcode;
            UsbSetupPacket packet = new UsbSetupPacket((byte)(UsbCtrlFlags.Direction_Out | UsbCtrlFlags.RequestType_Vendor), (byte)24, (short)temp_2, (short)temp_3, (short)0x0);
  
            if (LCDDrive.MyUsbDevice != null)
            { LCDDrive.MyUsbDevice.ControlTransfer(ref packet, text_bytearray, text_bytearray.Length, out bytes_transferred); }
        }


Моя процедура на Delphi 7 выглядит:
Код

procedure TForm1.ButtonTextClick(Sender: TObject);
var
  handle: Pusb_dev_handle;
  i,line,tmpline: integer;
  text_string:AnsiString;
  LcdByte:TByteArr;
  //LcdByte: array of byte;
begin
usb_init();
if (usbOpenDevice(handle, USBDEV_SHARED_VENDOR_K, 'coldtears electronics', USBDEV_SHARED_PRODUCT_K, Product) <> 0) then
  begin
    raise Exception.Create(Format(
       'Could not find USB device "'+Product+'" with vid=$%x and pid=$%x !',
          [USBDEV_SHARED_VENDOR_K, USBDEV_SHARED_PRODUCT_K]));
        exit;
    end;

text_string:=Form1.Text_conversion(txtText.Text,true,1);
memoLog.Lines.Add('text_string='+text_string);

LcdByte:=ConvertStringAscii(text_string); //ASCI
line:=SpinLine.Value;
tmpline:=(line-1)*256+ComboColor.ItemIndex+1;

usb_control_msg(handle, 64, 24, 0, tmpline, LcdByte, sizeof(LcdByte), 5000);
usb_close(handle);
end;


Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  delphi7Forum.zip 578,36 Kb
PM MAIL   Вверх
Illusion Dolphin
Дата 3.3.2015, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 4
Всего: 63



Цитата

usb_control_msg(handle, 64, 24, 0, tmpline, LcdByte, sizeof(LcdByte), 5000);

А попробуйте вместо LcdByte передавать ссылку на массив


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1081 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.