Hallo zusammen,
ich habe ein problem bei meinem Code, und zwar ich bekomme die Fehler meldung: "Die Eingabezeichenfolge hat das falsche Format". und zwar ich versuche dezimal werte zum Heaxl werte umzuwandeln um die als Array einzugeben damit ich ein CRC rechnung durchführen kann. Die fehler meldung bekomme ich an der Zeile "int sourceadd".
Ich gehe davon aus, dass der gelesen wert dafür, der 2000(dezimal) ist, das Problem löst. da 2000(dez) = 07D0(hex) ist.
auch wenn ich Uschort und byte benutze funktioniert es nicht??
Habt ihr vielleicht eine lösung??
Grüße
ich habe ein problem bei meinem Code, und zwar ich bekomme die Fehler meldung: "Die Eingabezeichenfolge hat das falsche Format". und zwar ich versuche dezimal werte zum Heaxl werte umzuwandeln um die als Array einzugeben damit ich ein CRC rechnung durchführen kann. Die fehler meldung bekomme ich an der Zeile "int sourceadd".
Ich gehe davon aus, dass der gelesen wert dafür, der 2000(dezimal) ist, das Problem löst. da 2000(dez) = 07D0(hex) ist.
auch wenn ich Uschort und byte benutze funktioniert es nicht??
Habt ihr vielleicht eine lösung??
Code:
public bool Checker(DataRow dr)
{
if ((dr["F_PAR_VERSION"].ToString().Length > 0) && (dr["F_BLOCK_ID"].ToString().Length > 0) && (dr["F_SOURCE_ADD"].ToString().Length > 0) && (dr["F_DEST_ADD"].ToString().Length > 0) && (dr["F_WD_TIME"].ToString().Length > 0))
{
return true;
}
return false;
}
public String Calculate(DataRow dr)
{
if (Checker(dr))
{
int parversion = Int32.Parse(Convert.ToInt32(dr["F_PAR_VERSION"]).ToString("X"));
int blockId = Int32.Parse(Convert.ToInt32(dr["F_BLOCK_ID"]).ToString("X"));
int sourceadd = Int32.Parse(Convert.ToInt32(dr["F_SOURCE_ADD"]).ToString("X"));
int destadd = Int32.Parse(Convert.ToInt32(dr["F_DEST_ADD"]).ToString("X"));
int wdtime = Int32.Parse(Convert.ToInt32(dr["F_WD_TIME"]).ToString("X"));
int[] intArray = new int[] {parversion, blockId, sourceadd, destadd, wdtime};
int crcwert = CRC_Berechnung.CRC16(intArray);
return String.Format("{0:X}", crcwert);
}
return null;
}
Grüße