Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: 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 вся ветка

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-53918
denis24
2003-02-26 11:05
2003.03.17
запрос


14-54286
Borislav
2003-02-28 19:21
2003.03.17
integer в Memo


6-54130
oleg_poligon
2003-01-22 19:43
2003.03.17
Сокеты


1-54104
Noname Master
2003-03-05 17:35
2003.03.17
Открытие модального окна после открытия основной формы


14-54302
KPY
2003-03-01 07:22
2003.03.17
как mpeg4 порезать на видео CD