public string GetRecNum(UInt16 index) { if (index >= PageRecord.Count) { return(null); } OnePageRecord R = (OnePageRecord)PageRecord[index]; return(R.num.ToString()); }
public byte[] GetRecToUpdate(UInt16 index, out UInt16 crc) { crc = 0; if (index >= PageRecord.Count) { return(null); } OnePageRecord R = (OnePageRecord)PageRecord[index]; crc = R.crc; return(R.Data); }
private void ResetData() { int line = 0; int i = 0; OnePageRecord R = new OnePageRecord(); R.Data = new byte[500]; for (i = 0; i < 500; i++) { R.Data[i] = 0xff; } R.line = ""; UInt16 index = 0, crc = 0; int len = 0; PageRecord.Clear(); foreach (HEXRECORD rec in DataSet) { if ((len + rec.RecDataLen) > 500) { R.Index = index; PageRecord.Add(R); R = new OnePageRecord(); R.Data = new byte[500]; for (i = 0; i < 500; i++) { R.Data[i] = 0xff; } R.line = ""; R.num = 0; len = 0; index++; } Array.ConstrainedCopy(rec.Data, 0, R.Data, len, rec.RecDataLen); R.line = R.line + rec.line; len += rec.RecDataLen; line++; R.num = line; crc = CalculateCrc(rec.Data, crc, Convert.ToUInt64(rec.RecDataLen)); R.crc = crc; } if (len > 0) { R.num = line; R.Index = index; PageRecord.Add(R); } }