public static PrivateDataCustomer GetPrivateData(string fileName) { FileStream sourceData; BinaryReader sr; MemoryStream ms; PrivateDataCustomer pdc; char[] signature; byte[] buffer; long len, sizeRead, i; pdc = new PrivateDataCustomer(); sourceData = new FileStream(fileName, FileMode.Open); //Read signal sr = new BinaryReader(sourceData); len = sr.ReadInt32(); signature = new char[len + 1]; sr.ReadByte(); sr.Read(signature, 0, (int)len); len = sr.ReadInt32(); signature = new char[len]; sr.ReadByte(); sr.Read(signature, 0, (int)len); //signature[len]=(char)0; pdc.ReportTitle = new string(signature); buffer = new byte[BUFF_BLOCK]; len = sr.ReadInt32(); pdc.ReportDefinition = new System.IO.MemoryStream(); //Read report definition, this will be change to encoded version later //May be encode entire file, instead of encoding piece by piece i = 0; do { if (i + BUFF_BLOCK > len) { sizeRead = len - i; } else { sizeRead = BUFF_BLOCK; } if (sizeRead > 0) { sizeRead = sr.Read(buffer, 0, (Int32)sizeRead); pdc.ReportDefinition.Write(buffer, 0, (Int32)sizeRead); i += sizeRead; } }while (i < len && sizeRead > 0); //Read the header images len = sr.ReadInt32(); ms = new MemoryStream(); //sr.ReadByte(); i = 0; do { if (i + BUFF_BLOCK > len) { sizeRead = len - i; } else { sizeRead = BUFF_BLOCK; } if (sizeRead > 0) { sizeRead = sr.Read(buffer, 0, (Int32)sizeRead); ms.Write(buffer, 0, (int)sizeRead); i += sizeRead; } }while (i < len && sizeRead > 0); pdc.reportHeader = Image.FromStream(ms); ms.Dispose(); //Read the MainBackGround images len = sr.ReadInt32(); ms = new MemoryStream(); //sr.ReadByte(); i = 0; do { if (i + BUFF_BLOCK > len) { sizeRead = len - i; } else { sizeRead = BUFF_BLOCK; } if (sizeRead > 0) { sizeRead = sr.Read(buffer, 0, (Int32)sizeRead); ms.Write(buffer, 0, (int)sizeRead); i += sizeRead; } }while (i < len && sizeRead > 0); pdc.backGround = Image.FromStream(ms); sr.Close(); sourceData.Close(); return(pdc); }
public static PrivateDataCustomer GetPrivateData(string fileName) { FileStream sourceData; BinaryReader sr; MemoryStream ms; PrivateDataCustomer pdc; char[] signature; byte[] buffer; long len, sizeRead, i; pdc = new PrivateDataCustomer(); sourceData = new FileStream(fileName, FileMode.Open); //Read signal sr = new BinaryReader(sourceData); len = sr.ReadInt32(); signature = new char[len+1]; sr.ReadByte(); sr.Read(signature, 0, (int)len); len = sr.ReadInt32(); signature = new char[len]; sr.ReadByte(); sr.Read(signature, 0, (int)len); //signature[len]=(char)0; pdc.ReportTitle = new string(signature); buffer = new byte[BUFF_BLOCK]; len = sr.ReadInt32(); pdc.ReportDefinition = new System.IO.MemoryStream(); //Read report definition, this will be change to encoded version later //May be encode entire file, instead of encoding piece by piece i = 0; do{ if (i+BUFF_BLOCK>len) sizeRead = len-i; else sizeRead = BUFF_BLOCK; if (sizeRead>0) { sizeRead = sr.Read(buffer, 0, (Int32)sizeRead); pdc.ReportDefinition.Write(buffer, 0, (Int32)sizeRead); i+=sizeRead; } }while (i<len&&sizeRead>0); //Read the header images len = sr.ReadInt32(); ms = new MemoryStream(); //sr.ReadByte(); i = 0; do{ if (i+BUFF_BLOCK>len) sizeRead = len-i; else sizeRead = BUFF_BLOCK; if (sizeRead>0) { sizeRead = sr.Read(buffer, 0, (Int32)sizeRead); ms.Write(buffer, 0, (int)sizeRead); i+=sizeRead; } }while (i<len&&sizeRead>0); pdc.reportHeader = Image.FromStream(ms); ms.Dispose(); //Read the MainBackGround images len = sr.ReadInt32(); ms = new MemoryStream(); //sr.ReadByte(); i = 0; do{ if (i+BUFF_BLOCK>len) sizeRead = len-i; else sizeRead = BUFF_BLOCK; if (sizeRead>0) { sizeRead = sr.Read(buffer, 0, (Int32)sizeRead); ms.Write(buffer, 0, (int)sizeRead); i+=sizeRead; } }while (i<len&&sizeRead>0); pdc.backGround = Image.FromStream(ms); sr.Close(); sourceData.Close(); return pdc; }