Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 23:09   #1
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию перевести код с vb в delphi

Цитата:
Dim bytesw, n As Integer
Dim rx As String

Dim bytesTx() As String = {Chr(&H4C) & Chr(&H1D) & Chr(&H1D) & Chr(&H1F) & Chr(&H2) & Chr(&HD) & Chr(&H98) _
, Chr(&H42) & Chr(&H10), Chr(&H58), Chr(&H32), Chr(&H68) & Chr(&H1), Chr(&H67), Chr(&H68) & Chr(&H0), Chr(&H66), Chr(&HA5)}


FT_SetDtr(FT_Handle)

for n = 0 to 1

FT_Status = FT_Write_String(FT_Handle, bytesTx(n), Len(bytesTx(n)), bytesw)
If FT_Status <> FT_OK Then
Exit Sub
End If
Sleep(300)
rx = my_read()
next




My_MadQueue(1)
Sleep(200)
My_MadQueue(&H64)
Sleep(200)
FT_SetBaudRate(FT_Handle, FT_BAUD_115200)


For n = 2 To 8

FT_Status = FT_Write_String(FT_Handle, bytesTx(n), Len(bytesTx(n)), bytesw)
If FT_Status <> FT_OK Then
Exit Sub
End If
Sleep(500)
rx = my_read()
Next


Sleep(10)
Clear_USB_Device_DTR()
Purge_USB_Device_Out()
Sleep(10)
Purge_USB_Device_In()
Sleep(10)
если это не сложно помогите
fize вне форума Ответить с цитированием
Старый 15.12.2009, 23:35   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

скажем так, переводить тут особо нечего, vb под порты удобнее заточен и нюансы работы из delphi будут иные, но... если вы работаете с ftdi по usb, то под delphi есть специально заточенный модуль с хэдерами.

пример 1 2 3 (читать все, это поможет в понимании)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 15.12.2009 в 23:37.
raxp вне форума Ответить с цитированием
Старый 15.12.2009, 23:44   #3
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

вы немного не поняли. этот код переводит ftdi в режим f-bus для дальнейшей работы. я в этом vb вообще ничего не понимаю. мне на дельфи просто проще будет
fize вне форума Ответить с цитированием
Старый 15.12.2009, 23:56   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

вы тоже не поняли, зайдите по ссылкам, там весь код на delphi/
и доки на работу с ftdi почитать-бы вам, и либа уже есть для работы из delphi, чего еще для счастья нужно

теперь что касается трансляции кода, с чего вы решили, что это "FT_SetDtr" есть в delphi по-умолчанию? (остальные куски есть в хэдерах) вы вырвали кусок из общего контекста, а где описание цей функи? вот вам и предлагается полный материал со спецификациями, примерами и хэдерами для работы с ftdi/

начну, а вы продолжите...
Код:
var
 bytesw: array of integer;
 n: integer;
 rx: array of String;

 bytesTx: array[0..8] of String;
begin

 bytesTx[0]:= Chr($4C) + Chr($1D)  + Chr($1D)  + Chr($1F) + Chr($2) + Chr($D) + Chr($98); 
 bytesTx[1]:= 
...

 FT_SetDtr(FT_Handle) // ищите аналог в хэдерах DLP- D2X

 for n:= 0 to 1 do begin
  FT_Status:= FT_Write_String(FT_Handle, bytesTx[n], Length(bytesTx[n]), bytesw) // ищите аналог
  If FT_Status <> FT_OK Then break;
 end;

 Sleep(300);
 my_read(@rx[0]); // опять-же зависит от реализации вырванной вами из контекста my_read

...

upd
-------

Цитата:
ну по первой ссылке там точно ничего нет т.к тема моя. в остальных что то про ftdi и говорится только не нашел как перевести в фбас.
там все по вашей теме и не прикрывайтесь fbus-ом...
ну чего мы ленимся, разжеванное не есть лучшее, читаем доки
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 16.12.2009 в 00:27.
raxp вне форума Ответить с цитированием
Старый 16.12.2009, 00:04   #5
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

ну по первой ссылке там точно ничего нет т.к тема моя. в остальных что то про ftdi и говорится только не нашел как перевести в фбас. если не сложно вам будет можно поконкретенее ссылочу? я уже неделю ложусь в 5 утра и встаю в 1 дня. вообще не высыпаюсь просто покоя нет. закрываю глаза и тут же сыпятся всякие integer и string
fize вне форума Ответить с цитированием
Старый 16.12.2009, 01:17   #6
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от fize Посмотреть сообщение
я уже неделю ложусь в 5 утра и встаю в 1 дня. вообще не высыпаюсь просто покоя нет.
попробуйте ложиться в 10-11 и в ставать в 6-7. Тут не лечебница, а форум.
SkyM@n вне форума Ответить с цитированием
Старый 16.12.2009, 01:28   #7
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Цитата:
я уже неделю ложусь в 5 утра и встаю в 1 дня. вообще не высыпаюсь просто покоя нет. закрываю глаза и тут же сыпятся всякие integer и string
Ничего себе, за 8 часов не высыпаться. Я за двое суток столько не сплю иногда
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 16.12.2009, 02:07   #8
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

raxp этот кусок кода добыл тут http://forum.gsmhosting.com/vbb/show...61&postcount=5 там же есть и функция my_read
fize вне форума Ответить с цитированием
Старый 18.12.2009, 13:05   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

мда... ну если спецификацию по работе с ftdi вы не смотрели, может в хедеры потрудитесь заглянуть...
Код:
unit D2XXUnit;

interface
Uses Windows,Forms,Dialogs;

Type FT_Result = Integer;

// Exported Functions
Function Open_USB_Device : FT_Result;
Function Close_USB_Device : FT_Result;
Function Write_USB_Device_Buffer( Write_Count : Integer ) : Integer;

Function Read_USB_Device_Buffer( Read_Count : Integer ) : Integer; - ЭТА ФУНКЦИЯ ВАМ
    НИ О ЧЕМ НЕ ГОВОРИТ?

Function Reset_USB_Device : FT_Result;
Function Purge_USB_Device_Out : FT_Result;
Function Purge_USB_Device_In : FT_Result;
Function Set_USB_Device_RTS : FT_Result;
Function Clr_USB_Device_RTS : FT_Result;
Function Set_USB_Device_DTR : FT_Result;
Function Clr_USB_Device_DTR : FT_Result;
Function Set_USB_Device_BaudRate : FT_Result;
Function Set_USB_Device_DataCharacteristics : FT_Result;
Function Set_USB_Device_FlowControl : FT_Result;
Function Get_USB_Device_ModemStatus : FT_Result;
Function Set_USB_Device_Chars : FT_Result;
Function Set_USB_Device_TimeOuts(ReadTimeOut,WriteTimeOut:DWord) : FT_Result;
Function Get_USB_Device_QueueStatus : FT_Result;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 11.01.2010, 11:35   #10
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

уже разобрался

Последний раз редактировалось fize; 11.01.2010 в 21:21.
fize вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести код из С++ на DELPHI JustKurt Фриланс 8 06.07.2009 16:31
Перевести код с Delphi на С++ Vladya Помощь студентам 10 30.03.2009 20:31
перевести код с delphi на java. Neymexa Фриланс 1 21.11.2008 16:07