Вниз
Скачать: CL | DM;

Порты всякие   Найти похожие ветки 

 
Hirara ©   (2003-02-27 00:42) [0]

Как вообще можно работать с портами, ну там КОМ, ЛПТ


 
Hirara ©   (2003-02-27 22:04) [1]

up


 
horse ©   (2003-02-27 23:02) [2]

Получаешь хендл порта, берешь виндовую структуру (dcb) и записываешь свои параметры (скорость передачи, четность и т.п.). Потом работаешь как с файлом, но хендл порта.




procedure TForm1.Button1Click(Sender: TObject);
var
dwRead : DWORD;
CharArray : array[0..100] of char; // временный массив данных в оперативной памяти
fileOut : file of char; // файл в который будут писаться данные из порта
i : integer;
begin
try hCom := CreateFile(PChar(ComboBox1.Text),
GENERIC_READ + GENERIC_WRITE,
0, nil,
OPEN_EXISTING,0,0); //получение указателя на порт
except ShowMessage("Open error... "+IntToStr(GetLastError));
end;
SetPortParam;

for i:=0 to 100 do // цикл чтения из порта i байт
begin
Application.ProcessMessages; // чтобы не зависнуть если данные в СОМ не поступают
ReadFile(hCom, CharArray[i], 1, dwRead, nil); // чтение одного байта из порта
end;

AssignFile(FileOut,"c:\out.txt");
Rewrite(FileOut);
for i:=0 to 100 do // цикл записи полученной информации в файл на диске
begin
Application.ProcessMessages;
Write(FileOut,CharArray[i]);
Memo1.Text:=Memo1.Text+CharArray[i];
end;
CloseFile(FileOut);
CloseHandle(hCom);
end;

Procedure TForm1.SetPortParam;
Var dcb : TDcb; // структура ( виндусовская ) с установками портов
begin
try
GetCommState(hCom, dcb); // Получение данных о текущих установках порта и заполнение
// структуры dcb

dcb.BaudRate := StrToInt(ComboBox2.Text); // Установка новых параметров
dcb.ByteSize := StrToInt(ComboBox3.Text); // для порта, скорость , Х-битный обмен,
dcb.Parity := ComboBox4.ItemIndex; // контроль четности,
dcb.StopBits := ComboBox5.ItemIndex; // стоповый бит

SetCommState(hCom, dcb); // Запись новых параметров в порт

except
ShowMessage("Error of initiate Port..." + IntToStr(GetLastError));
end;

end;


 
Hirara ©   (2003-02-27 23:30) [3]

спасиба, попытаюсь разобоаца в этой писанине



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-53992
Демонов Е.В.
2003-03-06 13:07
2003.03.17
VBA


14-54248
Roman Go
2003-02-28 10:31
2003.03.17
Укажите ссылку на какой нибудь учебник по MS SQL Server


3-53931
User_OKA
2003-02-26 09:54
2003.03.17
форматирование ячеек Excel


3-53894
Destroyer
2003-02-25 08:51
2003.03.17
Автоинкрементное поле


4-54381
sveloga
2003-01-23 13:19
2003.03.17
FindWindow




   Наверх