-
Cómo conectar una barra de progreso para IO.Stream
-
Una barra de progreso para la corriente IO indica el progreso de la posibilidad de subir o descargar archivos. Una corriente IO gestiona la funcionalidad de entrada y salida utilizando corrientes. Una corriente es una abstracción que representa un dispositivo en el que se llevan a cabo de entrada y de salida. Streams están relacionados con una fuente física como el teclado o una consola de entrada. C ++ proporciona la biblioteca iostream estándar, incluyendo plantillas de clase básicos, tipos y manipuladores.Instrucciones
1 Haga clic en "Inicio", "Todos los programas" y "Visual Studio" para entrar en el entorno de desarrollo integrado. Elija un lenguaje de programación como Visual C ++. Haga clic en "Form1.cs" para cambiar a la vista de diseño. Haga clic en "Herramientas" y "botón" para crear un nuevo botón llamado "botón 1".
2 Haga doble clic en el botón 1 e introduzca el código siguiente para obtener información sobre el archivo de entrada:
using System;
utilizando System.IO
System.IO.FileInfo fileinfo = new System.IO.FileInfo (FileTextBox.Text);3 Leer de archivo "c: \ Text1.txt" en el "flujo" nueva variable FileStream usando el siguiente código:
usando (corriente System.IO.FileStream = new System.IO.FileStream ( "c: \ Text1.txt", System.IO.FileMode.Open, System.IO.FileAccess.Read))
El uso del evento ProgressChanged informa el progreso de la carga. Obtener el progreso de carga utilizando vairable "uploadStreamWithProgress."
{ using (StreamWithProgress uploadStreamWithProgress = new StreamWithProgress(stream))
{ uploadStreamWithProgress.ProgressChanged += uploadStreamWithProgress_ProgressChanged;4 Haga doble clic en Form1. Obtener el progreso de carga de archivos a través de las siguientes funciones.
Definir BytesRead variables: BytesRead larga privada;
Leer los bytes de carga en "BytesRead" variable en función de StreamWithProgress
public StreamWithProgress(FileStream file)
{
this.file = file;
length = file.Length;
bytesRead = 0;
if (ProgressChanged != null) ProgressChanged(this, new ProgressChangedEventArgs(bytesRead, length));
}Calcular y devolver el progreso de la carga en la función getProgress:
public double GetProgress()
{
return ((double)bytesRead) / file.Length;
}