gusucode.com > Delphi刻录软件源码程序 > Delphi刻录软件源码程序/ym_MagicCDDVDBurnerVCL-hicode/Examples/FullDemoC/ConfigurationSettings.cpp
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "unit1.h" #include "ConfigurationSettings.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TfrmSettings *frmSettings; __fastcall TfrmSettings::TfrmSettings(TComponent* Owner) : TForm(Owner) { } void __fastcall TfrmSettings::FormShow(TObject *Sender) { cJoliet->Checked = Form1->mcdb->JolietFileSystem; cQuickSaveISO->Checked = QuickSaveISO; cCloseDisc->Checked = Form1->mcdb->FinalizeDisc; eVolLabel->Text = Form1->mcdb->IdVolume; cTestWrite->Checked = Form1->mcdb->TestWrite; cOPC->Checked = Form1->mcdb->PerformOPC; cBootable->Checked = Form1->mcdb->Bootable; Label2->Caption = Form1->mcdb->BootImage; eSession->Text = IntToStr(SessionToImport); cArchiveOnly->Checked = oArchiveFiles; cUnderrunProtection->Checked = Form1->mcdb->UnderrunProtection; cUnderrunProtection->Enabled = Form1->mcdb->DeviceCapabilities.Contains(dcUnderrunProtection); sCacheSize->Position = Form1->mcdb->CacheSize / 1024 / 1024; } void __fastcall TfrmSettings::Button2Click(TObject *Sender) { Close(); } void __fastcall TfrmSettings::Button1Click(TObject *Sender) { TIniFile *ini; Form1->mcdb->JolietFileSystem = cJoliet->Checked; Form1->mcdb->IdVolume = eVolLabel->Text; Form1->mcdb->FinalizeDisc = cCloseDisc->Checked; Form1->mcdb->UnderrunProtection = cUnderrunProtection->Checked; Form1->mcdb->TestWrite = cTestWrite->Checked; Form1->mcdb->PerformOPC = cOPC->Checked; Form1->mcdb->CacheSize = sCacheSize->Position * 1024 * 1024; Form1->mcdb->Bootable = cBootable->Checked; Form1->mcdb->BootImage = Label2->Caption; oArchiveFiles = cArchiveOnly->Checked; ccEject = cEject->Checked; ccShowFiles = cShowFiles->Checked; ccImportSession = cImportSession->Checked; if( (cImportSession->Checked) && (Trim(eSession->Text) != "") && (StrToInt(eSession->Text) == 0)) ShowMessage("Session to import; Zero means not to import any session"); if (cImportSession->Checked) SessionToImport = StrToInt(eSession->Text); else SessionToImport = 0; QuickSaveISO = cQuickSaveISO->Checked; oArchiveFiles = cArchiveOnly->Checked; ini = new TIniFile("MCDB.ini"); ini->WriteBool("Options", "ArchiveFiles", cArchiveOnly->Checked); ini->WriteBool("Options", "ImportSession", oImportSession); ini->WriteBool("Options", "SavePath", Form1->cPathInfo->Checked); ini->WriteBool("Options", "CloseTrack", Form1->mcdb->FinalizeTrack); ini->WriteBool("Options", "CloseDisc", Form1->mcdb->FinalizeDisc); ini->WriteBool("Options", "EjectDisc", cEject->Checked); ini->WriteBool("Options", "JolietFS", cJoliet->Checked); ini->WriteBool("Options", "Bootable", cBootable->Checked); ini->WriteBool("Options", "TestWrite", cTestWrite->Checked); ini->WriteBool("Options", "QuickSaveISO", cQuickSaveISO->Checked); ini->WriteBool("Options", "ShowFiles", cShowFiles->Checked); ini->WriteBool("Options", "PerformOPC", cOPC->Checked); ini->WriteString("Options", "SessionNo", eSession->Text); ini->WriteBool("Options", "ImportSession", cImportSession->Checked); ini->WriteString("Options", "BootImage", Label2->Caption); ini->WriteString("Options", "VolumeLable", eVolLabel->Text); ini->WriteInteger("Options", "CacheSize", Form1->mcdb->CacheSize); delete ini; Close(); } void __fastcall TfrmSettings::Button3Click(TObject *Sender) { Form1->mcdb->CloseTrack(false, false, false, 0); } void __fastcall TfrmSettings::cImportSessionClick(TObject *Sender) { eSession->Enabled = cImportSession->Checked; } void __fastcall TfrmSettings::sCacheSizeChange(TObject *Sender) { Label3->Caption = IntToDec(sCacheSize->Position, 2, " ")+" MB"; } void __fastcall TfrmSettings::cBootableClick(TObject *Sender) { if (cBootable->Checked) { dlg->FileName = Label2->Caption; if (dlg->Execute()) { Label2->Caption = dlg->FileName; } else { cBootable->Checked = false; } } } void __fastcall TfrmSettings::FormClose(TObject *Sender, TCloseAction &Action) { Action = caFree; }