private void toolStripButton3_Click(object sender, EventArgs e)
{
try
{
double _workvalue = Convert.ToDouble(toolStripTextBox1.Text);
DevExpress.XtraGrid.Views.Base.GridCell[] cellcollection = gridView1.GetSelectedCells();
if (cellcollection.Length > 0)
{
switch (toolStripComboBox1.SelectedIndex)
{
case 0: // addition
foreach (DevExpress.XtraGrid.Views.Base.GridCell cell in cellcollection)
{
try
{
int value = 0;
if (m_viewtype == ViewType.Hexadecimal)
{
value = Convert.ToInt32(gridView1.GetRowCellValue(cell.RowHandle, cell.Column).ToString(), 16);
value += (int)Math.Round(_workvalue);
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
if (value > 0xFF)
{
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString("X4"));
}
else
{
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString("X2"));
}
}
else if (m_viewtype == ViewType.Decimal)
{
value = Convert.ToInt32(gridView1.GetRowCellValue(cell.RowHandle, cell.Column));
value += (int)Math.Round(_workvalue);
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
//if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString());
}
else if (m_viewtype == ViewType.Easy)
{
double dvalue = Convert.ToDouble(gridView1.GetRowCellValue(cell.RowHandle, cell.Column));
dvalue *= correction_factor;
dvalue += correction_offset;
dvalue += _workvalue;
dvalue -= correction_offset;
if (correction_factor != 0)
{
dvalue /= correction_factor;
}
value = (int)dvalue;
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
//if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString());
}
}
catch (Exception cE)
{
Console.WriteLine(cE.Message);
}
}
break;
case 1: // multiply
foreach (DevExpress.XtraGrid.Views.Base.GridCell cell in cellcollection)
{
try
{
int value = 0;
if (m_viewtype == ViewType.Hexadecimal)
{
value = Convert.ToInt32(gridView1.GetRowCellValue(cell.RowHandle, cell.Column).ToString(), 16);
value *= (int)Math.Round(_workvalue);
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
//if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
if (value > 0xFF)
{
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString("X4"));
}
else
{
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString("X2"));
}
}
else if (m_viewtype == ViewType.Decimal)
{
value = Convert.ToInt32(gridView1.GetRowCellValue(cell.RowHandle, cell.Column));
value *= (int)Math.Round(_workvalue);
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
//if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString());
}
else if (m_viewtype == ViewType.Easy)
{
double dvalue = Convert.ToDouble(gridView1.GetRowCellValue(cell.RowHandle, cell.Column));
dvalue *= correction_factor;
dvalue += correction_offset;
dvalue *= _workvalue;
dvalue -= correction_offset;
if (correction_factor != 0)
{
dvalue /= correction_factor;
}
value = (int)dvalue;
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
//if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString());
}
}
catch (Exception cE)
{
Console.WriteLine(cE.Message);
}
}
break;
case 2: // divide
foreach (DevExpress.XtraGrid.Views.Base.GridCell cell in cellcollection)
{
if (_workvalue == 0) _workvalue = 1;
try
{
int value = 0;
if (m_viewtype == ViewType.Hexadecimal)
{
value = Convert.ToInt32(gridView1.GetRowCellValue(cell.RowHandle, cell.Column).ToString(), 16);
if (_workvalue != 0)
{
value /= (int)Math.Round(_workvalue);
}
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
//if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
if (value > 0xFF)
{
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString("X4"));
}
else
{
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString("X2"));
}
}
else if (m_viewtype == ViewType.Decimal)
{
value = Convert.ToInt32(gridView1.GetRowCellValue(cell.RowHandle, cell.Column));
if (_workvalue != 0)
{
value /= (int)Math.Round(_workvalue);
}
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
//if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString());
}
else if (m_viewtype == ViewType.Easy)
{
double dvalue = Convert.ToDouble(gridView1.GetRowCellValue(cell.RowHandle, cell.Column));
dvalue *= correction_factor;
dvalue += correction_offset;
if (_workvalue != 0)
{
dvalue /= _workvalue;
}
dvalue -= correction_offset;
if (correction_factor != 0)
{
dvalue /= correction_factor;
}
value = (int)dvalue;
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
// if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, value.ToString());
}
}
catch (Exception cE)
{
Console.WriteLine(cE.Message);
}
}
break;
case 3: // fill
foreach (DevExpress.XtraGrid.Views.Base.GridCell cell in cellcollection)
{
try
{
double value = _workvalue;
if (m_viewtype == ViewType.Hexadecimal)
{
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
// if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
int dvalue = (int)value;
if (value > 0xFF)
{
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, dvalue.ToString("X4"));
}
else
{
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, dvalue.ToString("X2"));
}
}
else if (m_viewtype == ViewType.Decimal)
{
if (m_issixteenbit)
{
if (value > 0xFFFF) value = 0xFFFF;
//if (value < 0) value = 0;
}
else
{
if (value > 0xFF) value = 0xFF;
if (value < 0) value = 0;
}
int dvalue = (int)value;
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, dvalue.ToString());
}
else if (m_viewtype == ViewType.Easy)
{
double dvalue = _workvalue;
dvalue -= correction_offset;
if (correction_factor != 0)
{
dvalue /= correction_factor;
}
int decvalue = (int)dvalue;
if (m_issixteenbit)
{
if (decvalue > 0xFFFF) decvalue = 0xFFFF;
// if (decvalue < 0) decvalue = 0;
}
else
{
if (decvalue > 0xFF) decvalue = 0xFF;
if (decvalue < 0) decvalue = 0;
}
gridView1.SetRowCellValue(cell.RowHandle, cell.Column, decvalue.ToString());
}
}
catch (Exception cE)
{
Console.WriteLine(cE.Message);
}
}
break;
default:
break;
}
}
}
catch (Exception E)
{
Console.WriteLine(E.Message);
}
}