Es solo el principio de una aplicación. En este ejemplo. Se le da una cantidad y por cada fila del GridView te mostrara en cuantas
monedas y sus valores puedes repartirla.
Su código es este:
Private valoresmoneda As Float[] = [2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01]
Public Sub Form_Open()
Me.Center
DimensionarGrid()
End
Public Sub btnSalir_Click()
Me.Close
End
Public Sub DimensionarGrid()
Dim y As Integer
Dim x As Integer
With grdMonedas
.Rows.Count = 8
.Columns.Count = 8
.Header = 3
For y = 0 To valoresmoneda.Max
.Columns[y].Title = valoresmoneda[y] & "€"
.Columns[y].Width = 75
Next
End With
'Centramos el contenido de las filas y columnas
For x = 0 To valoresmoneda.Max
For y = 0 To valoresmoneda.Max
grdMonedas[x, y].Alignment = Align.Center
Next
Next
End
Public Sub btnDescomp_Click()
Dim salida As New Integer[8]
Dim dinero As Float
Dim resto As Float
Dim ncolum As Integer
Dim i As Integer
Dim n As Integer
dinero = vlbCantidad.Value
resto = dinero
For n = 0 To valoresmoneda.Max
Do While i <= valoresmoneda.Max And resto > 0
Do While Round(resto, -2) >= Round(valoresmoneda[i], -2)
resto -= valoresmoneda[i]
salida[i] += 1
Loop
i += 1
Loop
'Inicializamos y vamos aumentando una fila
For ncolum = 0 To valoresmoneda.Max
grdMonedas[n, ncolum].Text = salida[ncolum]
Next
salida.Fill(0, 0, 8)
i = n + 1
resto = dinero
Next
End
Public Sub Form_Open()
Me.Center
DimensionarGrid()
End
Public Sub btnSalir_Click()
Me.Close
End
Public Sub DimensionarGrid()
Dim y As Integer
Dim x As Integer
With grdMonedas
.Rows.Count = 8
.Columns.Count = 8
.Header = 3
For y = 0 To valoresmoneda.Max
.Columns[y].Title = valoresmoneda[y] & "€"
.Columns[y].Width = 75
Next
End With
'Centramos el contenido de las filas y columnas
For x = 0 To valoresmoneda.Max
For y = 0 To valoresmoneda.Max
grdMonedas[x, y].Alignment = Align.Center
Next
Next
End
Public Sub btnDescomp_Click()
Dim salida As New Integer[8]
Dim dinero As Float
Dim resto As Float
Dim ncolum As Integer
Dim i As Integer
Dim n As Integer
dinero = vlbCantidad.Value
resto = dinero
For n = 0 To valoresmoneda.Max
Do While i <= valoresmoneda.Max And resto > 0
Do While Round(resto, -2) >= Round(valoresmoneda[i], -2)
resto -= valoresmoneda[i]
salida[i] += 1
Loop
i += 1
Loop
'Inicializamos y vamos aumentando una fila
For ncolum = 0 To valoresmoneda.Max
grdMonedas[n, ncolum].Text = salida[ncolum]
Next
salida.Fill(0, 0, 8)
i = n + 1
resto = dinero
Next
End
Y aquí tenéis el ejemplo para bajarlo. Si queréis adaptarlo, probar, etc.
Es el primer ejemplo funcional.
P.d , fijaros el efecto que hace el ValueBox a veces al introducir valores. Salen valores muy grande. Esta usando QT4
Saludos
Monedas2.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | Monedas2.tar.gz | |
Tamaño: | 6.36 KB | |
Descargado: | 18 veces |
Monedas2.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | Monedas2.tar.gz | |
Tamaño: | 6.36 KB | |
Descargado: | 18 veces |
Monedas2.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | Monedas2.tar.gz | |
Tamaño: | 6.36 KB | |
Descargado: | 18 veces |