?? configform.~pas
字號:
unit ConfigForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls;
type
TfrmConfig = class(TForm)
Panel1: TPanel;
bbnSave: TBitBtn;
bbnExit: TBitBtn;
groupbox1: TGroupBox;
cbxPortNum: TComboBox;
cbxSpeedRate: TComboBox;
GroupBox2: TGroupBox;
cbxStopBit: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
cbxDataBit: TComboBox;
cbxCheckBit: TComboBox;
procedure bbnSaveClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
procedure FillFrm();
procedure ConfigControl();
public
{ Public declarations }
class procedure ReadConfig();
class procedure WriteConfig();
end;
var
frmConfig: TfrmConfig;
implementation
uses
inifiles,FunctionUnit;
{$R *.DFM}
{ TfrmConfig }
procedure TfrmConfig.FillFrm;
begin
//===============填充串口數(shù)============
with cbxPortNum.Items do
begin
Clear;
Add('COM1');
Add('COM2');
Add('COM3');
Add('COM4');
end;
//===============填充傳輸率=============
with cbxSpeedRate.Items do
begin
Clear;
Add('110');
Add('300');
Add('600');
Add('1200');
Add('2400');
Add('4800');
Add('9600');
Add('14400');
Add('19200');
Add('28800');
Add('38400');
Add('56000');
Add('115200');
Add('12800');
Add('25600');
Add('38400');
end;
//===============填充數(shù)據(jù)位=================
with cbxDataBit.Items do
begin
Add('4');
Add('5');
Add('6');
Add('7');
Add('8');
end;
//===============填充校驗位=================
with cbxCheckBit.Items do
begin
Add('Even');
Add('Odd');
Add('None');
Add('Mark');
Add('Space');
end;
//===============填充停止位=================
with cbxStopBit.Items do
begin
Add('1');
Add('1.5');
Add('2');
end;
end;
class procedure TfrmConfig.ReadConfig;
var
mIni:TIniFile;
begin
mIni := TIniFile.Create('CardConfig.ini');
try
Port := mIni.ReadString('comport','Port','COM1');
Speed := mIni.ReadString('comport','Speed','9600');
DataBit := mIni.ReadString('comport','DataBit','8');
CheckBit := mIni.ReadString('comport','CheckBit','None');
StopBit := mIni.ReadString('comport','StopBit','1');
finally
mIni.Free;
end;
end;
class procedure TfrmConfig.WriteConfig;
var
mIni:TIniFile;
begin
mIni := TIniFile.Create('CardConfig.ini');
try
mIni.WriteString('comport','Port',Port);
mIni.WriteString('comport','Speed',Speed);
mIni.WriteString('comport','DataBit',DataBit);
mIni.WriteString('comport','CheckBit',CheckBit);
mIni.WriteString('comport','StopBit',StopBit);
finally
mIni.Free;
end;
end;
procedure TfrmConfig.bbnSaveClick(Sender: TObject);
begin
Port := cbxPortNum.Text;
Speed:=cbxSpeedRate.Text;
DataBit:=cbxDataBit.Text;
CheckBit:=cbxCheckBit.Text;
StopBit:=cbxStopBit.Text;
//寫入配置文件
WriteConfig();
//關閉對話框
ModalResult := mrOk;
end;
procedure TfrmConfig.ConfigControl;
var
i:integer;
begin
//===============匹配串口數(shù)============
cbxPortNum.ItemIndex := -1;
cbxPortNum.Text := '';
for i:=0 to cbxPortNum.Items.Count-1 do
begin
if cbxPortNum.Items[i] = Port then
begin
cbxPortNum.ItemIndex := i;
Break;
end;
end;
//===============匹配傳輸率=============
cbxSpeedRate.ItemIndex := -1;
cbxSpeedRate.Text := '';
for i:=0 to cbxSpeedRate.Items.Count-1 do
begin
if cbxSpeedRate.Items[i] = Speed then
begin
cbxSpeedRate.ItemIndex := i;
Break;
end;
end;
//===============匹配數(shù)據(jù)位=================
cbxDataBit.ItemIndex := -1;
cbxDataBit.Text := '';
for i:=0 to cbxDataBit.Items.Count-1 do
begin
if cbxDataBit.Items[i] = DataBit then
begin
cbxDataBit.ItemIndex := i;
Break;
end;
end;
//===============匹配校驗位=================
cbxCheckBit.ItemIndex := -1;
cbxCheckBit.Text := '';
for i:=0 to cbxCheckBit.Items.Count-1 do
begin
if cbxCheckBit.Items[i] = CheckBit then
begin
cbxCheckBit.ItemIndex := i;
Break;
end;
end;
//===============匹配停止位=================
cbxStopBit.ItemIndex := -1;
cbxStopBit.Text := '';
for i:=0 to cbxStopBit.Items.Count-1 do
begin
if cbxStopBit.Items[i] = StopBit then
begin
cbxStopBit.ItemIndex := i;
Break;
end;
end;
end;
procedure TfrmConfig.FormShow(Sender: TObject);
begin
FillFrm;
ConfigControl;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -