![]() |
|
|
#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; |