Hola. Me interesaría saber como se hacen reglas de 3 en Visual Basic, para calcular el porcentaje de archivos que hay en una carpeta: Me explico.
En la carpeta, para haber el 100% de archivos, debe de haber 57, si por ejemplo tengo 28 archivos sólamente, representaría el 47'3% de los archivos que debe haber (esto se hace por la regla de 3 de que si 57 son 100, entonces multiplicas 28 por 100 y partes entre 57 para saber el resultado).
Hacerlo como si fuese calculadora sería muy fácil, pero hacer esto que quiero no me es tan fácil:
Que el 100% sean 57 archivos en una carpeta específica.
Que calcule los archivos que hay en esa carpeta específica, y a partir de eso, que haga la regla de 3.
Que pase el resultado a un ProgressBar y a un Label (Bueno, esto sí sé hacerlo).
Gracias.
Tal vez te sirva:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim total As Integer = 57
Dim porcentaje As Double
Dim cantidadArchivos As Integer = ContarArchivos("D:\respaldo_mysql") 'aca le pasas el string de la ruta que quieras
porcentaje = cantidadArchivos * 100 / total
MsgBox(porcentaje)
End Sub
Function ContarArchivos(ByVal ruta As String)
Dim ContadorDeArchivos As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
ContadorDeArchivos = My.Computer.FileSystem.GetFiles(ruta)
Return ContadorDeArchivos.Count
End Function
Saludos.
Mir aaquí.
http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-api3.htm
Saludo.
EDITO:
En C# es así. Pon 4 TextBox, un Timer activado por cada 300 ms.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
// http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/fbfde784-9067-4c1b-8ab7-b0e907e94faa/
namespace Regla_3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// A ------ C
// B ------ x
// x = (B·C)/(A)
private void timer1_Tick(object sender, EventArgs e)
{
try
{
int A = Convert.ToInt32(textBox_A.Text);
int B = Convert.ToInt32(textBox_B.Text);
int C = Convert.ToInt32(textBox_C.Text);
int x;
x = ((B * C) / A);
textBox_x.Text = Convert.ToString(x);
}
catch (FormatException)
{
textBox_x.Text = "Debes introducir sólo números.";
}
}
}
}