//--------------------------------------------------------------------------- void __fastcall TFileEdit::Execute(LPCSTR pName, BOOL fReadOnly) { DWORD dw = ::GetFileAttributes(pName); if( (dw != 0xffffffff) && (dw & FILE_ATTRIBUTE_READONLY) ) { fReadOnly = TRUE; } REdit->ReadOnly = fReadOnly; AnsiString as = pName; if( fReadOnly ) as += sys.m_MsgEng ? " (Read only)" : " (読み取り専用)"; Caption = as; CWaitCursor tw; m_FileName = pName; OnWave(); try { REdit->Lines->LoadFromFile(pName); } catch(...) { FILE *fp; if( (fp = fopen(pName, "rt")) != NULL ) { OnWave(); char bf[2048]; REdit->Lines->Clear(); while(!feof(fp)) { if( fgets(bf, sizeof(bf), fp) ) { ClipLF(bf); REdit->Lines->Add(bf); } } fclose(fp); REdit->ReadOnly = TRUE; } else { ErrorMB(sys.m_MsgEng ? "Sorry, could not open <%s>...":"<%s>をオープンできませんでした", pName); Close(); return; } } if( m_fDelFile ) { m_fDelFile = FALSE; unlink(pName); } REdit->Modified = FALSE; m_InitFirst = FALSE; OnWave(); AdjustTop(); Show(); if( !::IsWindowEnabled(Handle) ) ::EnableWindow(Handle, TRUE); }
/*virtual*/ void CWndListCalSimple::OnMessage(CWnd* pSender, ui16 code, ui32 data) { if ( pSender == NULL && code == WmBroadcast && data == ToWord('d', 'g') ) { OnWave(); return; } if ( pSender == &m_itmReset && code == ToWord('l', 'e') ) { MainWnd.m_wndConfirm.Show( this, "Message", "Connect probe to ground\nReady?", RGB565(ffff00), "Yes", "No"); return; } if ( pSender == &MainWnd.m_wndConfirm && code == ToWord('e', 'd') && data == (ui32)"Yes" ) { m_proReset.m_pName = "Wait..."; m_itmReset.Invalidate(); m_nResetPhase = 0; MainWnd.m_wndConfirm.Hide(); return; } if ( pSender == &MainWnd.m_wndConfirm && code == ToWord('e', 'd') && data == (ui32)"No" ) { MainWnd.m_wndConfirm.Hide(); return; } if ( pSender == &m_itmSave && code == ToWord('l', 'e') ) { SaveCalib(); StopModal(); return; } if ( pSender == &m_itmNumber && code == ToWord('u', 'p') ) { int nNewVal = m_nValue; UTILS.Clamp<int>(m_nValue, 256, 4096); if ( nNewVal != m_nValue ) m_itmNumber.Invalidate(); _UpdateCalib( m_nValue, V_LEVEL ); UpdateZero(); // TODO: neni treba! } if ( ( pSender == &m_itmSource || pSender == &m_itmResolution ) && code == ToWord('u', 'p') ) { LoadCalib(); UpdateZero(); return; } CListBox::OnMessage( pSender, code, data ); }
//--------------------------------------------------------------------------- void __fastcall TFileEdit::Execute(AnsiString &as, LPCSTR pTitle, LPCSTR pName) { Caption = pTitle; m_FileName = pName; CWaitCursor tw; REdit->Text = as; REdit->ReadOnly = FALSE; REdit->Modified = FALSE; m_InitFirst = TRUE; OnWave(); Show(); }
//--------------------------------------------------------------------- void __fastcall TFreqDispDlg::MakeBitmap(void) { OnWave(); if( m_type == 0 ){ // FIR DrawGraph(pBitmap, m_H1, m_Tap1, m_Max, 1, clBlue, m_SampleFreq); if( m_Tap2 ){ DrawGraph(pBitmap, m_H2, m_Tap2, m_Max, 0, clRed, m_SampleFreq); } } else if( m_type == 1 ){ // IIR Tank DrawGraphIIR(pBitmap, m_a10, 0, 0, -m_b11, -m_b12, m_Max, 1, clBlue, m_SampleFreq); DrawGraphIIR(pBitmap, m_a20, 0, 0, -m_b21, -m_b22, m_Max, 0, clRed, m_SampleFreq); } else if( m_type == 2 ){ // IIR DrawGraphIIR(pBitmap, m_piir, m_Max, 1, clBlue, m_SampleFreq); } else if( m_type == 3 ){ // FIR-Avg DrawGraph(pBitmap, m_H1, m_Tap1, m_Max, 1, clBlue, m_SampleFreq); } else if( m_type == 4 ){ DrawGraphIIR(pBitmap, m_a10, 0, 0, -m_b11, -m_b12, m_Max, 1, clBlue, m_SampleFreq); } OnWave(); }
//--------------------------------------------------------------------------- void __fastcall TLogListDlg::GridDrawCell(TObject *Sender, int Col, int Row, TRect &Rect, TGridDrawState State) { char bf[256]; SDMMLOG sd; Grid->Canvas->FillRect(Rect); int X = Rect.Left + 4; int Y = Rect.Top + 2; if( Row ){ Row--; bf[0] = 0; if( Row < Log.GetCount() ){ Log.GetData(&sd, Row); } else { memset(&sd, 0, sizeof(SDMMLOG)); } if( Log.m_LogSet.m_TimeZone != 'I' ){ JSTtoUTC(&sd); } switch(Col){ case 0: // Date OnWave(); strcpy(bf, Log.GetDateString(&sd)); break; case 1: // Time strcpy(bf, Log.GetTimeString(sd.btime)); break; case 2: // Call strcpy(bf, sd.call); break; case 3: // M bf[0] = sd.cq; bf[1] = 0; break; case 4: // HisRST strcpy(bf, sd.ur); break; case 5: // MyRST strcpy(bf, sd.my); break; case 6: // Band strcpy(bf, Log.GetFreqString(sd.band, sd.fq)); break; case 7: // Mode strcpy(bf, Log.GetModeString(sd.mode)); break; case 8: // Pow strcpy(bf, sd.pow); break; case 9: // Name strcpy(bf, sd.name); break; case 10: // QTH strcpy(bf, sd.qth); break; case 11: // S bf[0] = sd.send; bf[1] = 0; break; case 12: // R bf[0] = sd.recv; bf[1] = 0; break; case 13: // REM strcpy(bf, sd.rem); break; case 14: // QSL strcpy(bf, sd.qsl); break; case 15: // etime; strcpy(bf, Log.GetTimeString(sd.etime)); break; case 16: // Env if( sd.env ) sprintf(bf, "%u", sd.env); break; case 17: // Opt1 strcpy(bf, sd.opt1); break; case 18: // Opt2 strcpy(bf, sd.opt2); break; case 19: // Usr1 strcpy(bf, Log.GetOptStr(2, &sd)); break; case 20: // Usr2 strcpy(bf, Log.GetOptStr(3, &sd)); break; } Grid->Canvas->TextRect(Rect, X, Y, bf); } else { // タイトル LPCSTR _tt[]={ "Date","JST","Call","M", "His","My","Band","Mode","Pow","Name","QTH","S","R", "Note","QSL", "End", "Env", "Opt1", "Opt2", "Usr1", "Usr2", }; if( Col == 1 ){ Grid->Canvas->TextRect(Rect, X, Y, m_TimeZone.c_str()); } else { Grid->Canvas->TextRect(Rect, X, Y, _tt[Col]); } } }
//*************************************************************************** // CXWave class //--------------------------------------------------------------------------- void CALLBACK TimeProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) { OnWave(); }