📄 setup.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Setup.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmSetup *frmSetup;
//---------------------------------------------------------------------------
__fastcall TfrmSetup::TfrmSetup(TComponent* Owner)
: TForm(Owner)
{
ComConfig.Comport=1;
ComConfig.Baudrate=38400;
ComConfig.UseIrDA=True;
ComConfig.UseModem=False;
ComConfig.IrDAType=0;
ComConfig.ModemConnectMode=1;
ComConfig.ModemAnswerMode=0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::FormShow(TObject *Sender)
{
int i;
ComboBoxComport->ItemIndex=ComConfig.Comport-1;
CheckBoxUseIrDA->Checked = ComConfig.UseIrDA;
CheckBoxUseIrDAClick(Sender);
ComboBoxIrDAType->ItemIndex = ComConfig.IrDAType;
ComboBoxIrDATypeChange(Sender);
ComboBoxBaudrate->ItemIndex=0;
for( i=0;i<ComboBoxBaudrate->Items->Count;i++ )
{
if( StrToInt(ComboBoxBaudrate->Items->Strings[i])==ComConfig.Baudrate )
{
ComboBoxBaudrate->ItemIndex=i;
break;
}
};
CheckBoxUseModem->Checked = ComConfig.UseModem;
RadioButtonCallOut->Checked = ( ComConfig.ModemConnectMode==0 );
RadioButtonAnswerCall->Checked = ( ComConfig.ModemConnectMode==1 );
RadioButtonAutoAnswer->Checked = (ComConfig.ModemAnswerMode==0 );
RadioButtonManualAnswer->Checked = (ComConfig.ModemAnswerMode==1 );
ComboBoxIrDAType->Enabled = CheckBoxUseIrDA->Checked;
RefreshPanels();
}
void TfrmSetup::RefreshPanels(void)
{
if( CheckBoxUseModem->Checked==False )
{
GroupBoxModemConnectMode->Enabled=False;
GroupBoxAnswerCallMode->Enabled=False;
RadioButtonCallOut->Enabled=False;
RadioButtonAnswerCall->Enabled=False;
RadioButtonAutoAnswer->Enabled=False;
RadioButtonManualAnswer->Enabled=False;
}
else
{
GroupBoxModemConnectMode->Enabled=True;
RadioButtonCallOut->Enabled=True;
RadioButtonAnswerCall->Enabled=True;
if( RadioButtonAnswerCall->Checked == True )
{
GroupBoxAnswerCallMode->Enabled=True;
RadioButtonAutoAnswer->Enabled=True;
RadioButtonManualAnswer->Enabled=True;
}
else
{
GroupBoxAnswerCallMode->Enabled=False;
RadioButtonAutoAnswer->Enabled=False;
RadioButtonManualAnswer->Enabled=False;
};
};
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::CheckBoxUseModemClick(TObject *Sender)
{
RefreshPanels();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::RadioButtonAnswerCallClick(TObject *Sender)
{
RefreshPanels();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::RadioButtonCallOutClick(TObject *Sender)
{
RefreshPanels();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::ButtonCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::ButtonOKClick(TObject *Sender)
{
ComConfig.Comport=ComboBoxComport->ItemIndex+1;
ComConfig.Baudrate=StrToInt(ComboBoxBaudrate->Text);
ComConfig.UseIrDA=CheckBoxUseIrDA->Checked;
ComConfig.IrDAType=ComboBoxIrDAType->ItemIndex;
ComConfig.UseModem=CheckBoxUseModem->Checked;
if( RadioButtonCallOut->Checked == True ){ ComConfig.ModemConnectMode=0; };
if( RadioButtonAnswerCall->Checked == True ){ ComConfig.ModemConnectMode=1; };
if( RadioButtonAutoAnswer->Checked == True ){ ComConfig.ModemAnswerMode=0; };
if( RadioButtonManualAnswer->Checked == True ){ ComConfig.ModemAnswerMode=1; };
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::FormKeyPress(TObject *Sender, char &Key)
{
if( Key==27 )Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::CheckBoxUseIrDAClick(TObject *Sender)
{
ComboBoxIrDAType->Enabled = CheckBoxUseIrDA->Checked;
if( CheckBoxUseIrDA->Checked )
{
ComboBoxIrDATypeChange(Sender);
}
else
{
ComboBoxBaudrate->Clear();
ComboBoxBaudrate->Items->Add("115200");
ComboBoxBaudrate->Items->Add("57600");
ComboBoxBaudrate->Items->Add("38400");
ComboBoxBaudrate->Items->Add("19200");
ComboBoxBaudrate->Items->Add("9600");
ComboBoxBaudrate->ItemIndex=4;
};
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetup::ComboBoxIrDATypeChange(TObject *Sender)
{
if( CheckBoxUseIrDA->Checked==false )return;
if( ComboBoxIrDAType->ItemIndex==0 )
{
ComboBoxBaudrate->Clear();
ComboBoxBaudrate->Items->Add("115200");
ComboBoxBaudrate->Items->Add("57600");
ComboBoxBaudrate->Items->Add("38400");
ComboBoxBaudrate->Items->Add("19200");
ComboBoxBaudrate->Items->Add("9600");
ComboBoxBaudrate->ItemIndex=4;
}
else if( ComboBoxIrDAType->ItemIndex==1 )
{
ComboBoxBaudrate->Clear();
ComboBoxBaudrate->Items->Add("57600");
ComboBoxBaudrate->Items->Add("19200");
ComboBoxBaudrate->Items->Add("9600");
ComboBoxBaudrate->ItemIndex=2;
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -