Beispiel #1
0
void CPrefView::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	// TODO: Add your control notification handler code here
	CString Buff;
	GetDlgItemText(IDC_EDIT_CRNAME,Buff);
	CExponent *pC;
	if (!Buff.IsEmpty())
	{
		pC=GetExponent(Buff);
		int j=GetIndex(Buff,m_pG);
		int k=pNMUpDown->iDelta+pNMUpDown->iPos;
		if (k>=pC->m_scale->GetGradation()) k=0;
		if (k<0) k=pC->m_scale->GetGradation()-1;
		m_U[j]=k;
		m_pM->m_U[j]=k;
		int i=0;
		while (m_OtherC.GetItemText(i, 0)!=Buff) i++;
		m_OtherC.SetItemText(i, 1, pC->m_scale->GetLex(m_U[j]));
		SetDlgItemText(IDC_BUDDY_SPIN, pC->m_scale->GetLex(m_U[j]));
		ChangeGrid();
	}
	else AfxMessageBox("Сначала выделите изменяемый показатель");
	*pResult = 0;
}
Beispiel #2
0
void NumericToken::GetFloating(FPF &floatValue, int radix, char **ptr)
{
    FPF fradix;
    fradix = radix;
    while (**ptr && Radix36(**ptr) < radix)
    {
        floatValue *= fradix;
        FPF temp;
        temp = Radix36(*(*ptr)++);
        floatValue += temp;
    }
    if (**ptr == '.')
    {
        (*ptr)++;
        GetFraction(radix, ptr, floatValue);
        intValue = 0;
    }
    if (**ptr == 'e' ||  **ptr == 'E' ||  **ptr == 'p' ||  **ptr== 'P')
    {
        (*ptr)++;
        int intValue = GetExponent(ptr);
        /* floating point too large goes to infinity... */
        if (radix == 2)
        {
           floatValue.SetExp(floatValue.GetExp() + intValue);
        }
        else
        {
           floatValue.MultiplyPowTen(intValue);
        }
    }
}
Beispiel #3
0
void CPrefView::OnItemchangedListVal(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	int n=pNMListView->iItem;
	if (n>=0)
	{
		CString Buff;
		Buff=m_OtherC.GetItemText(n,0);
		SetDlgItemText(IDC_EDIT_CRNAME,Buff);
		CExponent *pC;
		pC=GetExponent(Buff);
		m_Spin.SetRange(0,pC->m_scale->GetGradation()-1);
//		m_Slider.SetRange(0,m_pM->m_robast-1);
		int j=GetIndex(Buff,m_pG);
		m_Spin.SetPos(m_U[j]);
		Buff=m_OtherC.GetItemText(n,1);
		SetDlgItemText(IDC_BUDDY_SPIN,Buff);
	}
	*pResult = 0;
}
String ZipfRand::Name() const
{
    return "Zipf(" + toStringWithPrecision(GetExponent()) + ", "
                   + toStringWithPrecision(GetNumber()) + ")";
}
Beispiel #5
0
void CPrefView::ChangeGrid()
{
	CString Buff;
	int i1,i2,j,k;
	int n=m_pG->m_agr.GetCount();
	int* u=new int[n];
	int* v=new int[n];
	CExponent* pC;
	m_Grid.SetHighLight(0);
	m_ComboX.GetWindowText(Buff); 
	if (Buff!="")
	{
		pC=GetExponent(Buff);
		m_Grid.SetCols(pC->m_scale->GetGradation()+1);
		m_ComboY.GetWindowText(Buff); 
		if (Buff!="")
		{
			pC=GetExponent(Buff);
			m_Grid.SetRows(pC->m_scale->GetGradation()+1);
		}
		else m_Grid.SetRows(2);
	}
	else
	{
		ClearGrid();
	}

	m_ComboX.GetWindowText(Buff);
	if (Buff!="")
	{
		pC=GetExponent(Buff);                //,&flag);
		m_Grid.SetRow(0);
		m_Grid.SetColWidth(0,m_sG0.cx);
		m_Grid.SetRowHeight(0,m_sG0.cy);
		CreateAllBitmapX();
		for (j=0; j<pC->m_scale->GetGradation(); j++)
		{
			m_Grid.SetColWidth(j+1,m_sG.cx);
			m_Grid.SetCol(j+1);	//firs col is head
			//if (flag) { SetBitmap(j,pC->GetGradation()-1, j+1,0); m_Grid.SetText("");}
			//else { m_Grid.SetText(pC->GetLex(j)); m_Grid.SetPicture(NULL);}
			
			m_Grid.SetRefCellPicture(m_pPictX[j].GetPictureDispatch());
			m_Grid.SetCellPictureAlignment(4);
		}
		
		for (j=0; j<n; j++) u[j]=m_U[j];
		m_pM->GetCritDim(v);
		i1=GetIndex(Buff,m_pG);
		m_ComboY.GetWindowText(Buff);
		if (Buff!="") 
		{
			pC=GetExponent(Buff); //,&flag);
			m_Grid.SetCol(0);
			for (j=0; j<pC->m_scale->GetGradation(); j++)
			{
				m_Grid.SetRowHeight(j+1,m_sG.cy);
				m_Grid.SetRow(j+1);	//firs col is head
			//	if (flag) { SetBitmap(j,pC->GetGradation()-1,0,j+1); m_Grid.SetText("");}
			//	else { m_Grid.SetText(pC->GetLex(j)); m_Grid.SetPicture(NULL);}
				m_Grid.SetText(pC->m_scale->GetLex(j));
			}
			i2=GetIndex(Buff,m_pG);
			for (j=0; j<v[i1]; j++)
			{
				m_Grid.SetCol(j+1);
				u[i1]=j;
				for (k=0; k<v[i2]; k++)
				{
					m_Grid.SetRow(k+1);
					u[i2]=k;
					SetBitmap(m_pM->GetPreferance(u), m_pM->m_robast-1,j+1,k+1);
				}
			}
		}
		else
		{
			m_Grid.SetRow(1);
			m_Grid.SetCol(0);
			m_Grid.SetRowHeight(1,m_sG.cy);
			m_Grid.SetText(""); m_Grid.SetRefCellPicture(NULL);
			for (j=0; j<v[i1]; j++)
			{
				m_Grid.SetCol(j+1);
				u[i1]=j;
				SetBitmap(m_pM->GetPreferance(u),m_pM->m_robast-1,j+1,1);
			}
		}
	}
	m_ComboY.GetWindowText(Buff);
	if (Buff!="") 
	{
		m_Grid.SetRow(m_U[i2]+1);
	}
	else m_Grid.SetRow(1);
	m_Grid.SetCol(m_U[i1]+1);
	m_Grid.SetHighLight(1);
	delete [] u;
	delete [] v;
	UpdateValue();
}