SPCOMM元件如何在程式碼中設定改變Parity屬性 |
答題得分者是:yenhorng
|
cavy9999
一般會員 發表:16 回覆:21 積分:7 註冊:2002-03-13 發送簡訊給我 |
|
cavy9999
一般會員 發表:16 回覆:21 積分:7 註冊:2002-03-13 發送簡訊給我 |
|
yenhorng
中階會員 發表:12 回覆:82 積分:94 註冊:2002-06-18 發送簡訊給我 |
可以試試我的做法:
我在執行時可使用 ComboBox 選取,並紀錄於Ini檔..... procedure TForm_CommTest.ReadValue;
begin
Comm_Test.StopComm;
Inif := TIniFile.Create(ExtractFilePath(Application.ExeName) 'ComTest.INI');
if not Inif.ValueExists('COMPORT' ,'CommName')
then Inif.WriteInteger('COMPORT' ,'CommName',0);
CB_CommName.ItemIndex := Inif.ReadInteger('COMPORT','CommName',0);
Comm_Test.CommName := CB_CommName.Items[CB_CommName.ItemIndex];
//COM1 COM2 COM3 ... COM14 COM15 COM16
//
if not Inif.ValueExists('COMPORT' ,'BaudRate')
then Inif.WriteInteger('COMPORT' ,'BaudRate',0);
CB_BaudRate.ItemIndex := Inif.ReadInteger('COMPORT' ,'BaudRate',0);
Comm_Test.BaudRate := StrToInt(CB_BaudRate.Items[CB_BaudRate.ItemIndex]);
//300 600 1200 1800 2400 4800 7200 9600 14400 19200 38400 57600 115200 128000
//
if not Inif.ValueExists('COMPORT' ,'Parity')
then Inif.WriteInteger('COMPORT' ,'Parity',0);
CB_Parity.ItemIndex := Inif.ReadInteger('COMPORT' ,'Parity',0);
case CB_Parity.ItemIndex of
0:Comm_Test.Parity := None ;
1:Comm_Test.Parity := Odd ;
2:Comm_Test.Parity := Even ;
3:Comm_Test.Parity := Mark ;
4:Comm_Test.Parity := Space ;
end;
//Comm_Test.Parity := CB_Parity.Items[CB_Parity.ItemIndex];
//TParity = ( None, Odd, Even, Mark, Space );
//
if not Inif.ValueExists('COMPORT' ,'ByteSize')
then Inif.WriteInteger('COMPORT' ,'ByteSize',0);
CB_ByteSize.ItemIndex := Inif.ReadInteger('COMPORT' ,'ByteSize',0);
case CB_ByteSize.ItemIndex of
0:Comm_Test.ByteSize := _5 ;
1:Comm_Test.ByteSize := _6 ;
2:Comm_Test.ByteSize := _7 ;
3:Comm_Test.ByteSize := _8 ;
end;
//Comm_Test.ByteSize := CB_ByteSize.Items[CB_ByteSize.ItemIndex];
//TByteSize = ( _5, _6, _7, _8 );
//
if not Inif.ValueExists('COMPORT' ,'StopBits')
then Inif.WriteInteger('COMPORT' ,'StopBits',0);
CB_StopBits.ItemIndex := Inif.ReadInteger('COMPORT' ,'StopBits',0);
case CB_StopBits.ItemIndex of
0:Comm_Test.StopBits := _1 ;
1:Comm_Test.StopBits := _1_5 ;
2:Comm_Test.StopBits := _2 ;
end;
//Comm_Test.StopBits := CB_StopBits.Items[CB_StopBits.ItemIndex];
//TStopBits = ( _1, _1_5, _2 );
//
Comm_Test.StartComm;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |