Главная страница
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.035 c
14-54242
ROk
2003-02-28 10:57
2003.03.17
Синонимы


3-53867
MsGuns
2003-02-24 21:12
2003.03.17
Еще раз о триггере


14-54165
Exp
2003-02-24 20:20
2003.03.17
Ну как вам FastReport


3-53865
vdv
2003-02-24 21:19
2003.03.17
Как некоторым компонентам изменить свойства...


1-54061
Демонов Е.В.
2003-03-04 09:03
2003.03.17
Про дин масив ( продолжение GIL).