//--------------------------------------------------------------------------- // ページの削除 void __fastcall TFileViewDlg::KDPClick(TObject *Sender) { if( m_MaxPage <= 1 ) return; AnsiString as; GetPageName(as, m_CurPage); if( YesNoMB( MsgEng ? "Delete '%s', are you sure?" : "'%s'を削除します. よろしいですか?", as.c_str()) != IDYES ) return; m_CurFile = -1; pFileV[m_CurPage]->Delete(); if( m_CurPage < (m_MaxPage - 1) ){ // 途中のページ int i; for( i = m_CurPage; i < (m_MaxPage - 1); i++ ){ pFileV[i] = pFileV[i+1]; } pFileV[i] = NULL; } else { // 最後のページ pFileV[m_CurPage] = NULL; m_CurPage--; } m_MaxPage--; pCurPage = pFileV[m_CurPage]; Mmsstv->ReOpenFileView(this); }
//--------------------------------------------------------------------- void __fastcall TColorSetDlg::PCClick(TObject *Sender) { int i, x, pos; pos = -1; for( i = 0; (i < 8) && (pos < 0); i++ ){ for(x = 0; x < 4; x++ ){ if( Sender == GetItem(i, x) ){ pos = i; break; } } } TColorDialog *pDialog = Mmsstv->ColorDialog; InitCustomColor(pDialog); TPanel *pPanel[4]; for( i = 0; i < 4; i++ ){ pPanel[i] = GetItem(pos, i); AddCustomColor(pDialog, pPanel[i]->Color); } pDialog->Color = ((TPanel *)Sender)->Color; SetDisPaint(); if( pDialog->Execute() == TRUE ){ ((TPanel *)Sender)->Color = pDialog->Color; if( (pPanel[0]->Color == pPanel[1]->Color) && (pPanel[2]->Color == pPanel[3]->Color) ){ if( YesNoMB( MsgEng ? "Change to two colors gradation?" : "2色のグラデーションに変更しますか?" ) == IDYES ){ pPanel[1]->Color = GetCol(pPanel[0]->Color, pPanel[3]->Color, 2, 4); pPanel[2]->Color = GetCol(pPanel[0]->Color, pPanel[3]->Color, 3, 4); } } } ResDisPaint(); }
//--------------------------------------------------------------------------- void __fastcall TACalResDlg::OKBtnClick(TObject *Sender) { if( Grid->Row ){ if( YesNoMB("アンテナ定義がこの時の状態に更新されます. 実行しますか?" ) == IDYES ){ ModalResult = IDOK; } } }
BOOL __fastcall CWaveFile::Play(LPCSTR pName) { FileClose(); FILE *fp = fopen(pName, "rb"); if( fp == NULL ){ ErrorMB( sys.m_MsgEng?"Can't open '%s'":"'%s'をオープンできません.", pName); return FALSE; } m_length = filelength(fileno(fp)); m_FileName = pName; GetFileName(m_Name, pName); fclose(fp); m_Handle = mmioOpen(m_FileName.c_str(), NULL, MMIO_READ|MMIO_ALLOCBUF); if( m_Handle == NULL ){ ErrorMB( sys.m_MsgEng?"Can't open '%s'":"'%s'をオープンできません.", pName); return FALSE; } m_pos = 0; if( mmioRead(m_Handle, (char *)m_Head, 4) == 4 ){ int type = 0; if( (m_Head[0] == 0x55)&&(m_Head[1] == 0xaa) ){ type = m_Head[2]; m_pos = 4; m_length -= 4; } if( type > 10 ) type = 0; if( type != SAMPTYPE ){ if( YesNoMB( sys.m_MsgEng ? "%s\r\n\r\nThis file has been recorded based on %uHz, play it with sampling conversion?\r\n\r\nThis conversion needs long time..." : "%s\r\n\r\nこのファイルは %uHz ベースで記録されています. 周波数変換して再生しますか?\r\n\r\nこの変換は時間がかかる場合があります...", m_FileName.c_str(), g_tSampTable[type] ) == IDNO ){ mmioClose(m_Handle, 0); m_Handle = 0; return FALSE; } else { mmioClose(m_Handle, 0); m_Handle = 0; char bf[1024]; strcpy(bf, pName); SetEXT(bf, ""); char wName[1024]; sprintf(wName, "%s_%u.MMV", bf, int(SAMPBASE)); if( ChangeSampFreq(wName, pName, g_tSampTable[type]) == TRUE ){ Play(wName); } } } } m_mode = 1; m_pause = 0; m_dis = 0; return TRUE; }
//--------------------------------------------------------------------------- void __fastcall TLogListDlg::KDelSelClick(TObject *Sender) { if( YesNoMB( sys.m_MsgEng ? "Delete Selection.(will not be able to restore) Are you sure?":"現在選択されている範囲を削除します.削除した内容は復元できません\r\n\r\nよろしおまっか?") == IDYES ){ int top = Grid->Selection.Top - 1; int end = Grid->Selection.Bottom - 1; Log.Delete(top, end); UpdateLogCount(0); Grid->Row = top + 1; } }
//--------------------------------------------------------------------------- void __fastcall TClockAdjDlg::FormCloseQuery(TObject *Sender, bool &CanClose) { CanClose = TRUE; double d = SAMPFREQ - m_SampFreq; d = fabs(d); if( d >= 0.005 ){ if( YesNoMB(sys.m_MsgEng ? "The clock value (%.2lfHz) is not applied, are you sure?":"クロック値(%.2lfHz)は適用されません. よろしいですか?", m_SampFreq) == IDNO ){ CanClose = FALSE; } } }
//--------------------------------------------------------------------------- void __fastcall TLogListDlg::KSortDateClick(TObject *Sender) { if( YesNoMB( sys.m_MsgEng ? "It may take substantial time. Are you sure?":"この処理はメチャンコ時間がかかるかも知れません.\r\n\r\nよろしおまっか?" ) == IDYES ){ int top = Grid->Selection.Top - 1; int end = Grid->Selection.Bottom - 1; if( top == end ){ top = 0; end = Log.GetCount() - 1; } Log.SortDate(top, end); Grid->Invalidate(); } }
//--------------------------------------------------------------------------- void __fastcall TFileViewDlg::KDClick(TObject *Sender) { if( (m_CurFile < 0) || (pCurPage->pList == NULL) ) return; SetCurrentDirectory(pCurPage->m_Folder.c_str()); AnsiString as; GetCurFileName(as); if( YesNoMB( ( Font->Charset != SHIFTJIS_CHARSET )?"Delete '%s'":"'%s'を消去します", as.c_str() ) == IDYES ){ if( unlink(as.c_str()) ){ ErrorFWrite(as.c_str()); } else { UpdateList(); } } }
//--------------------------------------------------------------------------- int __fastcall TTriEditDlg::Execute(ANTDEF *p, int n) { if( exeenv.RmdSel ){ Label3->Caption = "λ"; } ap = p; Index = n; memcpy(&NowW, &ap->wdef[n], sizeof(WDEF)); memcpy(&NewW, &ap->wdef[n], sizeof(WDEF)); if( (SGN(NowW.Y1)*SGN(NowW.Y2) == -1) || (SGN(NowW.Z1)*SGN(NowW.Z2) == -1) || (SGN(NowW.X1)*SGN(NowW.X2) == -1) ){ BasicSel->ItemIndex = 2; } else if( ((NowW.Y1==0)&&(NowW.Y2)) || ((NowW.Z1==0)&&(NowW.Z2)) || ((NowW.X1==0)&&(NowW.X2)) ){ BasicSel->ItemIndex = 0; } else if( ((NowW.Y2==0)&&(NowW.Y1)) || ((NowW.Z2==0)&&(NowW.Z1)) || ((NowW.X2==0)&&(NowW.X1)) ){ BasicSel->ItemIndex = 1; } CalcNow(); DispItem(-1); if( ShowModal() == IDOK ){ int f = 0; if( (NowW.X1 != NewW.X1)||(NowW.Y1 != NewW.Y1)||(NowW.Z1 != NewW.Z1) ){ f = 1; if( CheckSamePos(n, NowW.X1, NowW.Y1, NowW.Z1)==TRUE ) f = 2; } if( (NowW.X2 != NewW.X2)||(NowW.Y2 != NewW.Y2)||(NowW.Z2 != NewW.Z2) ){ if( f != 2 ) f = 1; if( CheckSamePos(n, NowW.X2, NowW.Y2, NowW.Z2)==TRUE ) f = 2; } if( f == 0 ) return FALSE; // 変更なし if( f == 2 ){ if( YesNoMB("他のワイヤが連携しています.その座標も変更しますか?") != IDYES ) f = 1; } if( f == 1 ){ memcpy(&ap->wdef[n], &NewW, sizeof(WDEF)); } else { NewSamePos(NowW.X1, NowW.Y1, NowW.Z1, NewW.X1, NewW.Y1, NewW.Z1); NewSamePos(NowW.X2, NowW.Y2, NowW.Z2, NewW.X2, NewW.Y2, NewW.Z2); } return TRUE; } return FALSE; }