?? ufconfig.~pas
字號:
unit UFConfig;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, CheckLst;
type
TForm2 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox3: TGroupBox;
TabSheet2: TTabSheet;
GroupBox2: TGroupBox;
Label6: TLabel;
Label7: TLabel;
SMSCenter: TEdit;
radText: TRadioButton;
radPDU: TRadioButton;
TabSheet3: TTabSheet;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
cmbBaudRate: TComboBox;
cmbByteSize: TComboBox;
cmbComPort: TComboBox;
cmbStopbits: TComboBox;
cmbParity: TComboBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
Label8: TLabel;
ComboBox1: TComboBox;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
IniPath = 'Sms.ini'; //配置文件名稱
var
Form2: TForm2;
implementation
uses
USMS;
{$R *.dfm}
///////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TForm2.BitBtn1Click(Sender: TObject);
var
RunDir:string;
strTmp:Pchar;
CheckPass:boolean;
begin
CheckPass := TRUE;
RunDir := ExtractFileDir(Application.ExeName);
if (strlen(Pchar(SMSCenter.Text)) <> 11) and (strlen(Pchar(SMSCenter.Text)) <> 13) then
begin
MessageDlg('短消息中心數據長度不正確!',mtWarning,[mbOk],0);
CheckPass := FALSE;
end else
begin
if strlen(Pchar(SMSCenter.Text)) = 11 then
begin
SMSCenter.Text := '86' + SMSCenter.Text;
end;
WritePrivateProfileString('SMS','SMSCenter',Pchar(SMSCenter.Text),Pchar(RunDir+'\'+IniPath));
end;
if radText.Checked then
begin
WritePrivateProfileString('SMS','SMSMode','Text',Pchar(RunDir+'\'+IniPath));
end else
begin
WritePrivateProfileString('SMS','SMSMode','PDU',Pchar(RunDir+'\'+IniPath));
end;
WritePrivateProfileString('Serial','BaudRate',Pchar(cmbBaudRate.Text),Pchar(RunDir+'\'+IniPath));
WritePrivateProfileString('Serial','ByteSize',Pchar(cmbByteSize.Text),Pchar(RunDir+'\'+IniPath));
WritePrivateProfileString('Serial','ComPort' ,Pchar(cmbComPort.Text),Pchar(RunDir+'\'+IniPath));
WritePrivateProfileString('Serial','Parity' ,Pchar(cmbParity.Text),Pchar(RunDir+'\'+IniPath));
WritePrivateProfileString('Serial','StopBits',Pchar(cmbStopBits.Text),Pchar(RunDir+'\'+IniPath));
if StrToInt(comboBox1.Text) > 600 then comboBox1.Text := '600';
if StrToInt(comboBox1.Text) < 0 then comboBox1.Text := '5';
WritePrivateProfileString('System','DelayTime',Pchar(comboBox1.Text),Pchar(RunDir+'\'+IniPath));
if CheckBox1.Checked then strTmp := '1' else strTmp := '0';
WritePrivateProfileString('System','ChkNewMsg',strTmp,Pchar(RunDir+'\'+IniPath));
if CheckBox2.Checked then strTmp := '1' else strTmp := '0';
WritePrivateProfileString('System','ChkEnCode',strTmp,Pchar(RunDir+'\'+IniPath));
if CheckPass then
begin
if SMS.SComm.SComInit then
begin
sleep(200);
SMS.ErrMsg :=SMS.IniSMS;
if SMS.ErrMsg < 0 then
begin
SMS.SComm.CloseSerial;
if MessageDlg('短消息模塊初始化失敗('+IntToStr(SMS.ErrMsg)+')!要繼續嗎?',mtWarning,[mbYes,mbNo],0) = mrYes then
begin
Form2.Close;
end;
end else
begin
Form2.Close;
end;
end else
begin
if MessageDlg('指定的串口不存在或被其它程序占用!要繼續嗎?',mtWarning,[mbYes,mbNo],0) = mrYes then
begin
Form2.Close;
end;
end;
end;
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
Form2.Close;
end;
procedure TForm2.FormActivate(Sender: TObject);
var
getBuffer:array[1..20] of char;
RunDir:string;
begin
RunDir := ExtractFileDir(Application.ExeName);
GetPrivateProfileString('SMS','SMSCenter','',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
SMSCenter.Text := Copy(getBuffer,1,strlen(@getBuffer[1]));
GetPrivateProfileString('SMS','SMSMode','PDU',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
if Copy(getBuffer,1,strlen(@getBuffer[1])) = 'Text' then
radText.Checked := TRUE
else
radPDU.Checked := TRUE;
GetPrivateProfileString('Serial','BaudRate','9600',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
cmbBaudRate.ItemIndex := cmbBaudRate.Items.IndexOf(Copy(getBuffer,1,strlen(@getBuffer[1])));
// m_Integer := GetPrivateProfileInt('Serial','ByteSize',8,PChar(RunDir+'\'+IniPath));
GetPrivateProfileString('Serial','ByteSize','8',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
cmbByteSize.ItemIndex := cmbByteSize.Items.IndexOf(Copy(getBuffer,1,strlen(@getBuffer[1])));
GetPrivateProfileString('Serial','ComPort','COM1',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
cmbComPort.ItemIndex := cmbComPort.Items.IndexOf(copy(getBuffer,1,strlen(@getBuffer[1])));
GetPrivateProfileString('Serial','Parity','NONE',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
cmbParity.ItemIndex := cmbParity.Items.IndexOf(Copy(getBuffer,1,strlen(@getBuffer[1])));
GetPrivateProfileString('Serial','StopBits','1',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
cmbStopBits.ItemIndex := cmbStopBits.Items.IndexOf(Copy(getBuffer,1,strlen(@getBuffer[1])));
GetPrivateProfileString('System','DelayTime','5',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(Copy(getBuffer,1,strlen(@getBuffer[1])));
if ComboBox1.ItemIndex <0 then ComboBox1.Text := Copy(getBuffer,1,strlen(@getBuffer[1]));
GetPrivateProfileString('System','ChkNewMsg','1',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
if Copy(getBuffer,1,1) = '1' then
CheckBox1.Checked := TRUE
else
CheckBox1.Checked := FALSE;
GetPrivateProfileString('System','ChkEnCode','0',PChar(@getBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
if Copy(getBuffer,1,1) = '1' then
CheckBox2.Checked := TRUE
else
CheckBox2.Checked := FALSE;
if not CheckBox1.Checked then
begin
Label8.Enabled := FALSE;
ComboBox1.Enabled := FALSE;
CheckBox2.Enabled := FALSE;
end else
begin
Label8.Enabled := TRUE;
ComboBox1.Enabled := TRUE;
CheckBox2.Enabled := TRUE;
end;
end;
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
if not CheckBox1.Checked then
begin
Label8.Enabled := FALSE;
ComboBox1.Enabled := FALSE;
CheckBox2.Enabled := FALSE;
end else
begin
Label8.Enabled := TRUE;
ComboBox1.Enabled := TRUE;
CheckBox2.Enabled := TRUE;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -