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

📄 settings_f.cpp

📁 QAM module to use in Java with an easy interface and powerful performance
💻 CPP
字号:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Settings_F.h"
#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "JvExStdCtrls"
#pragma link "JvListBox"
#pragma link "JvExControls"
#pragma link "JvPageList"
#pragma link "JvXPButtons"
#pragma link "JvXPCore"
#pragma link "JvLabel"
#pragma link "JvStaticText"
#pragma link "JvXPCheckCtrls"
#pragma link "JvCombobox"
#pragma link "JvEdit"
#pragma link "JvValidateEdit"
#pragma link "JvExMask"
#pragma link "JvToolEdit"
#pragma link "JvAppIniStorage"
#pragma link "JvAppStorage"
#pragma link "JvComponentBase"
#pragma link "JvFormPlacement"
#pragma resource "*.dfm"
TSettingsForm *SettingsForm;
//---------------------------------------------------------------------------
__fastcall TSettingsForm::TSettingsForm(TComponent* Owner)
        : TForm(Owner)
{
        JvComboBoxRS232Port->Items=gSettings.RS232Ports;
        JvComboBoxSoundCardDevice->Items=gSettings.SoundCardDevs;
        JvComboBoxSoundCardDevice->ItemIndex=0;
        JvDirectoryEditWebDir->Text=Trim(ExtractFilePath(Application->ExeName));
        JvFormStorage1->RestoreFormPlacement();
        //QAMForm->FileListBoxApplyPath(JvDirectoryEditWebDir->Text);
        //QAMForm->LoadSendingFileNames();
        JvListBox1->Items->Text=" General\n Demodulator";
        if(JvXPCheckboxModOn->Checked)JvListBox1->Items->Text=" General\n Demodulator\n Modulator General\n Modulator Station ID\n Modulator UDP\n Modulator Unreal Media\n Modulator WebServer";
        QAMForm->SettingsFinished();
        JvXPCheckboxEnableWebServerClick(this);
        QAMForm->ProgramLoaded();
}
//---------------------------------------------------------------------------
void __fastcall TSettingsForm::JvListBox1Click(TObject *Sender)
{
        if(JvListBox1->Items->Strings[JvListBox1->ItemIndex]==" General")
        {
                GeneralPage->Show();
                return;
        }
        if(JvListBox1->Items->Strings[JvListBox1->ItemIndex]==" Demodulator")
        {
                DemodulatorPage->Show();
                return;
        }
        if(JvListBox1->Items->Strings[JvListBox1->ItemIndex]==" Demodulator Advanced")
        {
                DemodulatorAdvancedPage->Show();
                return;
        }
        if(JvListBox1->Items->Strings[JvListBox1->ItemIndex]==" Modulator General")
        {
                ModulatorGeneralPage->Show();
                return;
        }
        if(JvListBox1->Items->Strings[JvListBox1->ItemIndex]==" Modulator Station ID")
        {
                ModulatorStationID->Show();
                return;
        }
        if(JvListBox1->Items->Strings[JvListBox1->ItemIndex]==" Modulator UDP")
        {
                ModulatorUDP->Show();
                return;
        }
        if(JvListBox1->Items->Strings[JvListBox1->ItemIndex]==" Modulator Unreal Media")
        {
                ModulatorUnrealPage->Show();
                return;
        }
        if(JvListBox1->Items->Strings[JvListBox1->ItemIndex]==" Modulator WebServer")
        {
                ModulatorWebServer->Show();
                return;
        }
}
//---------------------------------------------------------------------------

void __fastcall TSettingsForm::FormShow(TObject *Sender)
{
        //QAMForm->FileListBoxApplyPath(JvDirectoryEditWebDir->Text);
        //QAMForm->LoadSendingFileNames();
        JvXPCheckboxEnableWebServerClick(this);
        JvXPCheckboxEnableRS232Click(this);
        ClickSet();
        JvPageList1->ActivePageIndex=0;
        JvListBox1->ItemIndex=0;
}
//---------------------------------------------------------------------------


void __fastcall TSettingsForm::JvXPButtonCancelClick(TObject *Sender)
{
        JvFormStorage1->RestoreFormPlacement();
        QAMForm->FileListBoxApplyPath(JvDirectoryEditWebDir->Text);
        QAMForm->LoadSendingFileNames();
        Close();
}
//---------------------------------------------------------------------------

void __fastcall TSettingsForm::JvXPButtonOkClick(TObject *Sender)
{
        QAMForm->SettingsFinished();
        Close();
}
//---------------------------------------------------------------------------




void __fastcall TSettingsForm::JvXPCheckboxModOnClick(TObject *Sender)
{
        ClickSet();
}
//---------------------------------------------------------------------------

void __fastcall TSettingsForm::JvXPCheckboxEnableRS232Click(
      TObject *Sender)
{
        if(JvXPCheckboxEnableRS232->Checked)GroupBox1->Visible=true;
         else GroupBox1->Visible=false;
}
//---------------------------------------------------------------------------

void __fastcall TSettingsForm::JvDirectoryEditWebDirAfterDialog(
      TObject *Sender, AnsiString &AName, bool &AAction)
{
        JvDirectoryEditWebDir->Text=AName;
        QAMForm->FileListBoxApplyPath(AName);
        QAMForm->LoadSendingFileNames();


        //JvDirectoryEditWebDir->Text=AName;
        //FileListBoxApplyPath(AName);
        //AttachFileNames();
}
//---------------------------------------------------------------------------

void __fastcall TSettingsForm::ValueListEditorFilesValidate(
      TObject *Sender, int ACol, int ARow, const AnsiString KeyName,
      const AnsiString KeyValue)
{
        ValueListEditorFiles->Cells[ACol][ARow]=((AnsiString)(abs(KeyValue.ToInt())));
        QAMForm->LoadSendingFileNames();
}
//---------------------------------------------------------------------------


void __fastcall TSettingsForm::JvXPCheckboxEnableStationIDClick(
      TObject *Sender)
{
        JvXPCheckboxEnableWebServerClick(this);
        ClickSet();
}
//---------------------------------------------------------------------------

void __fastcall TSettingsForm::JvXPCheckboxEnableWebServerClick(
      TObject *Sender)
{
        if(JvXPCheckboxEnableWebServer->Checked)JvXPCheckboxEnableStationID->Checked=true;
        ClickSet();
}
//---------------------------------------------------------------------------


void __fastcall TSettingsForm::ClickSet(void)
{
        JvListBox1->Items->Text=" General";
        if(JvXPCheckboxDeModOn->Checked)
        {
                JvListBox1->Items->Add(" Demodulator");
                JvListBox1->Items->Add(" Demodulator Advanced");
        }
        if(JvXPCheckboxModOn->Checked)
        {
                JvListBox1->Items->Add(" Modulator General");
                if(JvXPCheckboxEnableStationID->Checked||JvXPCheckboxEnableWebServer->Checked)JvListBox1->Items->Add(" Modulator Station ID");
                JvListBox1->Items->Add(" Modulator UDP");
                if(JvXPCheckboxEnableUnRealStreaming->Checked)JvListBox1->Items->Add(" Modulator Unreal Media");
                if(JvXPCheckboxEnableWebServer->Checked)JvListBox1->Items->Add(" Modulator WebServer");
        }
}
void __fastcall TSettingsForm::JvXPCheckboxDeModOnClick(TObject *Sender)
{
        ClickSet();        
}
//---------------------------------------------------------------------------

void __fastcall TSettingsForm::JvXPCheckboxEnableUnRealStreamingClick(
      TObject *Sender)
{
        ClickSet();        
}
//---------------------------------------------------------------------------


void __fastcall TSettingsForm::JvXPButton1Click(TObject *Sender)
{
        JvXPCheckboxAllwaysRunFFT->Checked=true;
        JvValidateEditQAM16CMAThreshold->Value=450;
        JvValidateEditQAM16AMAThreshold->Value=280;
        JvValidateEditQAM64CMAThreshold->Value=100;
        JvValidateEditQAM64AMAThreshold->Value=50;
        JvValidateEditCMATimeOut->Value=50000;
        JvValidateEditAMATimeOut->Value=100000;
        JvValidateEditEqualizerStepSize->Value=0.0005;
        JvComboBoxFIRSize->ItemIndex=0;
        JvValidateEditNumberOfSettingsToTry->Value=3;

        JvValidateEditPreSymbolCnt->Value=15000;
        JvValidateEditLockingSymbolCnt->Value=80000;
        JvValidateEditPostSymbolCnt->Value=5000;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -