void OnProgress() { if (OnDataChanged != null) { //通知进度改变,进度值( Value = 0 ~ 100 ) int progressValue = 100 * curReadbytes / curDataLen; if (progressValue < preProgressValue) return; preProgressValue = progressValue; ImageHandlerEventArgs eventArgs = new ImageHandlerEventArgs(RunMode.Image); eventArgs.OperState = OperationState.Progress; eventArgs.Value = progressValue; OnDataChanged(this, eventArgs); } }
public void ReceiveDataACK(DataPackage pkgData) { //收到确认数据【采集器→主机】 Struct_OKWord okWord = new Struct_OKWord(); byte status_ctl; byte recNo; byte[] dataBuffer = pkgData.PureData; using (MemoryStream ms = new MemoryStream(dataBuffer)) { using (BinaryReader br = new BinaryReader(ms)) { status_ctl = br.ReadByte(); //输出开关量状态 okWord.OkWord = br.ReadByte(); recNo = br.ReadByte(); //要确认的文件记录号,默认为 0。 } } if ((recNo == curRecNo) && (okWord.FileType == AckFileType.Image)) { //文件读取结束,通知主程序 if (curStream != null) curStream.Close(); if (curBinaryWriter != null) curBinaryWriter.Close(); if (OnDataChanged != null) { //通知文件读取结束 ImageHandlerEventArgs eventArgs = new ImageHandlerEventArgs(RunMode.Image); eventArgs.OperState = OperationState.ReadComplete; eventArgs.RecNo = curRecNo; eventArgs.fileName = curFileName; OnDataChanged(this, eventArgs); } } }