Ejemplo n.º 1
0
//---------------------------------------------------------------------------
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);
}
Ejemplo n.º 2
0
/*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 );
}
Ejemplo n.º 3
0
//---------------------------------------------------------------------------
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();
}
Ejemplo n.º 4
0
//---------------------------------------------------------------------
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();
}
Ejemplo n.º 5
0
//---------------------------------------------------------------------------
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]);
		}
	}
}
Ejemplo n.º 6
0
//***************************************************************************
// CXWave class
//---------------------------------------------------------------------------
void CALLBACK TimeProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
	OnWave();
}