Tecnología

Inicio

Cómo conectar una barra de progreso para IO.Stream

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;
}