⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setup.cpp

📁 通过串口发送接受文件
💻 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 + -