[назад]
Звук через системный спикер | Получить файл |
Открыть-закрыть CDROM | Получить файл |
Получение информации из COM портов | Получить файл |
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var dcb : TDcb; // структура ( виндусовская ) с установками СОМ портов hCom : THandle; // handler СОМ2 fSuccess : boolean; dwRead : DWORD; CharArray : array[0..10] of char; // временный массив данных в оперативной памяти fileOut : file of char; // файл в который будут писаться данные из СОМ2 i : integer; begin hCom := CreateFile(PChar('COM2'),GENERIC_READ,0,nil,OPEN_EXISTING,0,0); //получение указателя на СОМ2 try fSuccess:= GetCommState(hCom, dcb); // Получение данных о текущих установках СОМ2 и заполнение // структуры dcb dcb.BaudRate := CBR_38400; // Установка новых параметров dcb.ByteSize := 8; // для СОМ2, скорость 38400, 8-ми битный обмен, dcb.Parity := NOPARITY; // нет контроля четности, dcb.StopBits := ONESTOPBIT; // один стоповый бит fSuccess := SetCommState(hCom, dcb); // Установка новых параметров для СОМ2 except ShowMessage('Error'); end; if fSuccess then ShowMessage('Success!') else ShowMessage('Error of initiate ComPort...'); for i:=0 to 10 do // цикл чтения из СОМ2 ( к примеру ) одиннадцати байт begin ReadFile(hCom, CharArray[i], 1, dwRead, nil); // чтение одного байта из порта end; AssignFile(FileOut,'c:\out.txt'); Rewrite(FileOut); for i:=0 to 10 do // цикл записи полученной информации в файл на диске begin Application.ProcessMessages; Write(FileOut,CharArray[i]); end; CloseFile(FileOut); CloseHandle(hCom); end; end.