![]() |
|
#2
|
||||
|
||||
![]() А что конкретно интересует? Спрашивай- пошагово напишем )))
|
#3
|
|||
|
|||
![]() хм... даже так, ну ладно
![]() Собственно проблемы у меня только с кодами. Знания есть, но их хватит только на создание простейших программ, которые на первом курсе в универе изучают. Вот мой набросок терминала. Надо реализовать настройку com-порта, подключение, отключение, ввод и вывод данных. Вот, а как хрен его знает. Пол дня бился над этим. Взяв исходник от другого терминала, но фиг мне, не так всё просто оказалось. Если разъясните куда чего, то спасибо. |
#4
|
|||
|
|||
![]() Вот кстати терминал, который нужен мне на данный момент(в дальнейшем естественно будет изменятся). Он отлично работает вот только исходника к сожалению нет(мож в нём всё проще и разобрался тогда бы) .В нём всё, что нужно, только загрузка команд мне не нужна.
|
#6
|
|||
|
|||
![]() видел уже все исходники... говорю мне надо объяснить как там и чего делается
|
#7
|
|||
|
|||
![]() Всё же разобрался. Терминал уже работает. Есть вопрос только. Надо сделать одну кнопку, которая будет отвечать за подключение и отключение com-порта, так вот знаю, что делается это в принципе легко, за счёт условия If ... Then ... Else ..., но трудность в том, что код отвещающий за включение и отключения там приличный. Короче помогите кто может соединить их в один, за счёт условия. В кодах как поянл сделанно так, что пока не нажал кнопку включить отключение нажать нельзя, и наоборот.
Код от кнопки включения: Код:
procedure TForm1.Button1Click(Sender: TObject); begin //Открываем порт hComm:=CreateFile(PChar(ComboBox1.Items[ComboBox1.ItemIndex]), GENERIC_READ or GENERIC_WRITE, 0, Nil, OPEN_EXISTING, 0, 0); //Проверяем, нормально создан порт? if hComm = INVALID_HANDLE_VALUE then begin SysErrorMessage(GetLastError); CloseHandle(hComm); hComm:=0; exit; end else begin ResBool:=GetCommState(hComm,DCB); if ResBool = false then begin SysErrorMessage(GetLastError); CloseHandle(hComm); hComm:=0; exit; end; end; Код:
procedure TForm1.Button3Click(Sender: TObject); begin Timer1.Enabled:=false; if hComm <> 0 then CloseHandle(hComm); hComm:=0; CloseHandle(hReadCom); hReadCom:=0; Button1.Enabled:=true; Button3.Enabled:=false; ComboBox1.Enabled:=true; ComboBox2.Enabled:=true; ComboBox3.Enabled:=true; ComboBox4.Enabled:=true; ComboBox5.Enabled:=true; CheckBox1.Enabled:=false; CheckBox2.Enabled:=false; Memo1.ReadOnly := true; Caption := ProgrammVersion; end; |