/[RomCheater]/trunk/RomCheater/Docking/FloatingDataTypeConverter.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/FloatingDataTypeConverter.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 225 by william, Sat Jun 2 14:29:00 2012 UTC revision 368 by william, Sun Jun 10 04:03:24 2012 UTC
# Line 49  namespace RomCheater.Docking Line 49  namespace RomCheater.Docking
49    
50          private void chkieee754float_CheckedChanged(object sender, EventArgs e)          private void chkieee754float_CheckedChanged(object sender, EventArgs e)
51          {          {
52              // IEEE754 Hex Float (hex)              //// IEEE754 Hex Float (hex)
53              txtInput.InputType = NumericInputTypes.IEEE754HexFloat;              //txtInput.InputType = NumericInputTypes.IEEE754HexFloat;
54              txtInput.Value = (0).ToString();              //txtInput.Value = (0).ToString();
55          }          }
56    
57          private void btnConvert_Click(object sender, EventArgs e)          private void btnConvert_Click(object sender, EventArgs e)
58          {          {
59              switch (txtInput.InputType)              try
60              {              {
61                  case NumericInputTypes.Binary:                  switch (txtInput.InputType)
62                      txtBinary.Value = txtInput.Value;                  {
63                      ConvertData(txtBinary.Value, 2);                      case NumericInputTypes.Binary:
64                      break;                          txtBinary.Value = txtInput.Value;
65                  case NumericInputTypes.Decimal:                          ConvertData(txtBinary.Value, 2);
66                      txtDecimal.Value = txtInput.Value;                          break;
67                      ConvertData(txtDecimal.Value, 10);                      case NumericInputTypes.Decimal:
68                      break;                          txtDecimal.Value = txtInput.Value;
69                  case NumericInputTypes.Hex:                          ConvertData(txtDecimal.Value, 10);
70                      txtHex.Value = txtInput.Value;                           FloatConverter.SetFloatValue(Convert.ToSingle(txtDecimal.Value));
71                      ConvertData(txtHex.Value, 16);                              FloatConverter.CalculateHexFloat();
72                      break;                          break;
73                  case NumericInputTypes.IEEE754HexFloat:                      case NumericInputTypes.Hex:
74                      txtFloat.Value = txtInput.Value;                          txtHex.Value = txtInput.Value;
75                      ConvertData(txtFloat.Value, 16);                          ConvertData(txtHex.Value, 16);
76                      break;                          FloatConverter.SetFloatHexValue(Convert.ToUInt32(txtHex.Value,16));
77                  case NumericInputTypes.Octal:                          FloatConverter.CalculateFloat();
78                      txtOctal.Value = (txtInput.Value.StartsWith("0")) ? txtInput.Value : string.Format("0{0}",txtInput.Value);                          break;
79                      ConvertData(txtOctal.Value, 8);                      //case NumericInputTypes.IEEE754HexFloat:
80                      break;                      //    txtFloat.Value = txtInput.Value;
81                        //    ConvertData(txtFloat.Value, 16);
82                        //    break;
83                        case NumericInputTypes.Octal:
84                            txtOctal.Value = (txtInput.Value.StartsWith("0")) ? txtInput.Value : string.Format("0{0}", txtInput.Value);
85                            ConvertData(txtOctal.Value, 8);
86                            break;
87                    }
88                  
89                }
90                catch (FormatException ex)
91                {
92                    MessageBox.Show(ex.ToString(),"Encountered an error in the input format", MessageBoxButtons.OK, MessageBoxIcon.Error);
93                }
94                catch (Exception ex)
95                {
96                    MessageBox.Show(ex.ToString(),"Encountered an error while converting the data", MessageBoxButtons.OK, MessageBoxIcon.Error);
97              }              }
98          }          }
99    
# Line 86  namespace RomCheater.Docking Line 102  namespace RomCheater.Docking
102              // binary              // binary
103              if (txtInput.InputType != NumericInputTypes.Binary)              if (txtInput.InputType != NumericInputTypes.Binary)
104              {              {
105                  int val = Convert.ToInt32(value, FromBase);                  int val = Convert.ToInt32(value.Contains(".") ? value.Remove(value.IndexOf(".")) : value, FromBase);
106                  txtBinary.Value = Convert.ToString(val, 2);                  txtBinary.Value = Convert.ToString(val, 2);
107                  if (txtInput.InputType == NumericInputTypes.IEEE754HexFloat)                  //if (txtInput.InputType == NumericInputTypes.IEEE754HexFloat)
108                  {                  //{
109                      ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();                  //    ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();
110                      uint val2 = Convert.ToUInt32(value, FromBase);                  //    uint val2 = Convert.ToUInt32(value.Contains(".") ? value.Remove(value.IndexOf(".")) : value, FromBase);
111                      converter.HexFloat = val2;                  //    converter.HexFloat = val2;
112                      txtBinary.Value = Convert.ToString(converter.Float);                  //    txtBinary.Value = Convert.ToString(converter.Float);
113                  }                  //}
114              }              }
115              // decimal              // decimal
116              if (txtInput.InputType != NumericInputTypes.Decimal)              if (txtInput.InputType != NumericInputTypes.Decimal)
117              {              {
118                  int val = Convert.ToInt32(value, FromBase);                  int val = Convert.ToInt32(value, FromBase);
119                  txtDecimal.Value = Convert.ToString(val, 10);                  txtDecimal.Value = Convert.ToString(val, 10);
120                  if (txtInput.InputType == NumericInputTypes.IEEE754HexFloat)                  //if (txtInput.InputType == NumericInputTypes.IEEE754HexFloat)
121                  {                  //{
122                      ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();                  //    ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();
123                      uint val2 = Convert.ToUInt32(value, FromBase);                  //    uint val2 = Convert.ToUInt32(value.Contains(".") ? value.Remove(value.IndexOf(".")) : value, FromBase);
124                      converter.HexFloat = val2;                  //    converter.HexFloat = val2;
125                      txtDecimal.Value = string.Format("{0:R}", converter.Float);                  //    txtDecimal.Value = string.Format("{0:R}", converter.Float);
126                  }                  //}
127              }              }
128              // hex              // hex
129              if (txtInput.InputType != NumericInputTypes.Hex)              if (txtInput.InputType != NumericInputTypes.Hex)
130              {              {
131                  int val = Convert.ToInt32(value, FromBase);                  int val = Convert.ToInt32(value.Contains(".") ? value.Remove(value.IndexOf(".")) : value, FromBase);
132                  txtHex.Value = Convert.ToString(val, 16);                  txtHex.Value = Convert.ToString(val, 16);
133                  if (txtInput.InputType == NumericInputTypes.IEEE754HexFloat)                  //if (txtInput.InputType == NumericInputTypes.IEEE754HexFloat)
134                  {                  //{
135                      ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();                  //    ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();
136                      uint val2 = Convert.ToUInt32(value, FromBase);                  //    uint val2 = Convert.ToUInt32(value.Contains(".") ? value.Remove(value.IndexOf(".")) : value, FromBase);
137                      converter.HexFloat = val2;                  //    converter.HexFloat = val2;
138                  }                  //}
139              }              }
140              // octal              // octal
141              if (txtInput.InputType != NumericInputTypes.Octal)              if (txtInput.InputType != NumericInputTypes.Octal)
142              {              {
143                  int val = Convert.ToInt32(value, FromBase);                  int val = Convert.ToInt32(value.Contains(".") ? value.Remove(value.IndexOf(".")) : value, FromBase);
144                  txtOctal.Value = Convert.ToString(val, 8);                  txtOctal.Value = Convert.ToString(val, 8);
145                  if (txtInput.InputType == NumericInputTypes.IEEE754HexFloat)                  //if (txtInput.InputType == NumericInputTypes.IEEE754HexFloat)
146                  {                  //{
147                      ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();                  //    ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();
148                      uint val2 = Convert.ToUInt32(value, FromBase);                  //    uint val2 = Convert.ToUInt32(value.Contains(".") ? value.Remove(value.IndexOf(".")) : value, FromBase);
149                      converter.HexFloat = val2;                  //    converter.HexFloat = val2;
150                  }                  //}
151              }              }
152              // float              //// float
153              if (txtInput.InputType != NumericInputTypes.IEEE754HexFloat)              //if (txtInput.InputType != NumericInputTypes.IEEE754HexFloat)
154              {              //{
155                  ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();              //    ieee754FloatingPointConverter converter = new ieee754FloatingPointConverter();
156                  uint val = Convert.ToUInt32(value, FromBase);              //    uint val = Convert.ToUInt32(value.Contains(".") ? value.Remove(value.IndexOf(".")) : value, FromBase);
157                  float f = Convert.ToSingle(val);              //    float f = Convert.ToSingle(val);
158                  converter.Float = f;              //    converter.Float = f;
159                  //txtFloat.Value = string.Format("{0:R}", converter.Float);              //    //txtFloat.Value = string.Format("{0:R}", converter.Float);
160                  txtFloat.Value = string.Format("0x{0:x8}", converter.HexFloat);              //    txtFloat.Value = string.Format("0x{0:x8}", converter.HexFloat);
161              }              //}
162          }          }
163      }      }
164  }  }

Legend:
Removed from v.225  
changed lines
  Added in v.368

  ViewVC Help
Powered by ViewVC 1.1.22