private void StreamPump_ProgressEvent(object sender, PumpProgressEventArgs e) { long a = length; long b = e.BytesRead; while (a > Int32.MaxValue) { a /= 2; b /= 2; } WorkerForm.InvokeSetCurrentStepProgress((int)b, (int)a); }
private void RaiseProgressEvent() { // Raise the event by using the () operator. if (ProgressEvent != null) { PumpProgressEventArgs args = new PumpProgressEventArgs(); args.BytesRead = BytesRead; args.BytesWritten = BytesWritten; args.SourcePosition = InputStream.Position; args.DestinationPosition = OutputStream.Position; ProgressEvent(this, args); } }
protected static void ShowProgress(long totalBytes, DateTime startTime, object sourceObject, PumpProgressEventArgs e) { var now = DateTime.Now; var timeSoFar = now - startTime; var remaining = TimeSpan.FromMilliseconds(timeSoFar.TotalMilliseconds / e.BytesRead * (totalBytes - e.BytesRead)); var speed = Math.Round(e.SourcePosition / 1024L / 1024L / timeSoFar.TotalSeconds); Logging.Log( string.Format("{0} {1}MB/s {2:hh\\:mm\\:ss\\.f}", GetDismLikeProgBar((int)(e.BytesRead * 100 / totalBytes)), speed.ToString(), remaining, remaining.TotalHours, remaining.Minutes, remaining.Seconds, remaining.Milliseconds), returnline: false); }
protected static void ShowProgress(string label, long totalBytes, DateTime startTime, object sourceObject, PumpProgressEventArgs e) { int progressLen = 55 - label.Length; int numProgressChars = (int)((e.BytesRead * progressLen) / totalBytes); string progressBar = new string('=', numProgressChars) + new string(' ', progressLen - numProgressChars); DateTime now = DateTime.Now; TimeSpan timeSoFar = now - startTime; TimeSpan remaining = TimeSpan.FromMilliseconds((timeSoFar.TotalMilliseconds / (double)e.BytesRead) * (totalBytes - e.BytesRead)); Console.Write("\r{0} ({1,3}%) |{2}| {3:hh\\:mm\\:ss\\.f}", label, (e.BytesRead * 100) / totalBytes, progressBar, remaining, remaining.TotalHours, remaining.Minutes, remaining.Seconds, remaining.Milliseconds); }
void gen_PumpProgress(object sender, PumpProgressEventArgs e) { try { form.Invoke((MethodInvoker)delegate { form.setQuantity((float)e.LitresPumped); form.setPrice(String.Format("${0:0.00}", Subscriber.price * e.LitresPumped)); form.setStatus("Customer pumping"); }); pClient.pumpProgress(id, (float)e.LitresPumped); } catch (InvalidOperationException ee) { MessageBox.Show("InvalidOperationException"); } }