The user is going to enter the product number, then the program must be able to open the file, read the information of a inventory in the company, capture the information into an structured array and display the specific product with its information in the labels. all this using a multidimensional arrays and also the structures. currently in the execution it reads only one part of the data.
I think that the direct declaration of the array is causing part of the problem, also my program is not reading and capturing well.
Imports System.IO
Public Class frmMain
Public Structure sInventory
Public strProductNumber As String
Public strProductDescription As String
Public intProductQuantity As Integer
Public dblProductCost As Double
Public dblProductMarkup As Double
End Structure
Private Sub mnuBuscarProducto_Click(sender As Object, e As EventArgs) Handles mnuBuscarProducto.Click
' read the file
Dim inventarioFile As StreamReader
inventarioFile = File.OpenText("DatosInventario.txt")
'Array
Dim strProductos() As String = {"123", "234", "345", "456", "567", "678"}
Dim strDescripcion() As String = {"Juego de comedor con 2 sillas", "Sofá cama", "Escritorio", "Cama king", "Librero de 6'", "Mueble para pecera"}
Dim intCantidad() As Integer = {15, 10, 25, 5, 35, 8}
Dim dblCostos() As Double = {425.0, 769.0, 250.0, 1875.0, 399.0, 350.0}
Dim dblProrciento() As Double = {0.25, 0.25, 0.35, 0.2, 0.3, 0.2}
Dim i As Integer = 0
Dim intProducto As Integer 'Valor que ingresó el usuario capturado
'capture and validate
If Integer.TryParse(txtNumeroProducto.Text, intProducto) Then
intProducto = CInt(txtNumeroProducto.Text)
Else
MessageBox.Show("Debe ingresar un entero de tres dígitos")
End If
'Find something in the archive
Dim blnBuscador As Boolean = False
Do While blnBuscador = False And i <= (strProductos.Length - 1)
If strProductos(i) = intProducto Then
blnBuscador = True
lblDescripcion.Text = inventarioFile.ReadLine()
lblInventario.Text = inventarioFile.ReadLine()
lblCosto.Text = inventarioFile.ReadLine()
lblPrecioVenta.Text = inventarioFile.ReadLine()
lblImporteCosto.Text = inventarioFile.ReadLine
lblImportePrecioVenta.Text = inventarioFile.ReadLine
End If
Loop
i += 1
inventarioFile.Close()
End Sub
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
If MessageBox.Show("Desea cerrar la aplicación?", "Confirmar", MessageBoxButtons.YesNo) = DialogResult.Yes Then
e.Cancel = False
Else
e.Cancel = True
End If
End Sub
Private Sub mnuSalir_Click(sender As Object, e As EventArgs) Handles mnuSalir.Click
Me.Close()
frmSplash.Close()
End Sub
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Open the file text
ofdDatosInventario.ShowDialog()
End Sub
End Class