|
|
1.1 ! root 1: //--------------------------------------------------------------------------- ! 2: ! 3: #include <vcl.h> ! 4: #pragma hdrstop ! 5: ! 6: #include "MainFormUnit.h" ! 7: #include "TextFileEditUnit.h" ! 8: #include "ServicesCfgDlgUnit.h" ! 9: #include <stdio.h> // sprintf() ! 10: #include <mmsystem.h> // sndPlaySound() ! 11: //--------------------------------------------------------------------------- ! 12: #pragma package(smart_init) ! 13: #pragma resource "*.dfm" ! 14: TServicesCfgDlg *ServicesCfgDlg; ! 15: //--------------------------------------------------------------------------- ! 16: __fastcall TServicesCfgDlg::TServicesCfgDlg(TComponent* Owner) ! 17: : TForm(Owner) ! 18: { ! 19: } ! 20: //--------------------------------------------------------------------------- ! 21: void __fastcall TServicesCfgDlg::ServicesCfgButtonClick(TObject *Sender) ! 22: { ! 23: char filename[MAX_PATH+1]; ! 24: ! 25: iniFileName(filename,sizeof(filename),MainForm->cfg.ctrl_dir,"services.ini"); ! 26: MainForm->EditFile(filename,"Services Configuration"); ! 27: } ! 28: //--------------------------------------------------------------------------- ! 29: void __fastcall TServicesCfgDlg::FormShow(TObject *Sender) ! 30: { ! 31: char str[128]; ! 32: ! 33: if(MainForm->services_startup.interface_addr==0) ! 34: NetworkInterfaceEdit->Text="<ANY>"; ! 35: else { ! 36: sprintf(str,"%d.%d.%d.%d" ! 37: ,(MainForm->services_startup.interface_addr>>24)&0xff ! 38: ,(MainForm->services_startup.interface_addr>>16)&0xff ! 39: ,(MainForm->services_startup.interface_addr>>8)&0xff ! 40: ,MainForm->services_startup.interface_addr&0xff ! 41: ); ! 42: NetworkInterfaceEdit->Text=AnsiString(str); ! 43: } ! 44: AutoStartCheckBox->Checked=MainForm->ServicesAutoStart; ! 45: ! 46: AnswerSoundEdit->Text=AnsiString(MainForm->services_startup.answer_sound); ! 47: HangupSoundEdit->Text=AnsiString(MainForm->services_startup.hangup_sound); ! 48: HostnameCheckBox->Checked ! 49: =!(MainForm->services_startup.options&BBS_OPT_NO_HOST_LOOKUP); ! 50: ! 51: PageControl->ActivePage=GeneralTabSheet; ! 52: ! 53: } ! 54: //--------------------------------------------------------------------------- ! 55: void __fastcall TServicesCfgDlg::OKButtonClick(TObject *Sender) ! 56: { ! 57: char str[128],*p; ! 58: DWORD addr; ! 59: ! 60: SAFECOPY(str,NetworkInterfaceEdit->Text.c_str()); ! 61: p=str; ! 62: while(*p && *p<=' ') p++; ! 63: if(*p && isdigit(*p)) { ! 64: addr=atoi(p)<<24; ! 65: while(*p && *p!='.') p++; ! 66: if(*p=='.') p++; ! 67: addr|=atoi(p)<<16; ! 68: while(*p && *p!='.') p++; ! 69: if(*p=='.') p++; ! 70: addr|=atoi(p)<<8; ! 71: while(*p && *p!='.') p++; ! 72: if(*p=='.') p++; ! 73: addr|=atoi(p); ! 74: MainForm->services_startup.interface_addr=addr; ! 75: } else ! 76: MainForm->services_startup.interface_addr=0; ! 77: MainForm->ServicesAutoStart=AutoStartCheckBox->Checked; ! 78: ! 79: ! 80: SAFECOPY(MainForm->services_startup.answer_sound ! 81: ,AnswerSoundEdit->Text.c_str()); ! 82: SAFECOPY(MainForm->services_startup.hangup_sound ! 83: ,HangupSoundEdit->Text.c_str()); ! 84: ! 85: if(HostnameCheckBox->Checked==false) ! 86: MainForm->services_startup.options|=BBS_OPT_NO_HOST_LOOKUP; ! 87: else ! 88: MainForm->services_startup.options&=~BBS_OPT_NO_HOST_LOOKUP; ! 89: ! 90: MainForm->SaveSettings(Sender); ! 91: ! 92: } ! 93: //--------------------------------------------------------------------------- ! 94: ! 95: void __fastcall TServicesCfgDlg::AnswerSoundButtonClick(TObject *Sender) ! 96: { ! 97: OpenDialog->FileName=AnswerSoundEdit->Text; ! 98: if(OpenDialog->Execute()==true) { ! 99: AnswerSoundEdit->Text=OpenDialog->FileName; ! 100: sndPlaySound(OpenDialog->FileName.c_str(),SND_ASYNC); ! 101: } ! 102: } ! 103: //--------------------------------------------------------------------------- ! 104: ! 105: void __fastcall TServicesCfgDlg::HangupSoundButtonClick(TObject *Sender) ! 106: { ! 107: OpenDialog->FileName=HangupSoundEdit->Text; ! 108: if(OpenDialog->Execute()==true) { ! 109: HangupSoundEdit->Text=OpenDialog->FileName; ! 110: sndPlaySound(OpenDialog->FileName.c_str(),SND_ASYNC); ! 111: } ! 112: } ! 113: ! 114: //---------------------------------------------------------------------------
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.