Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

McJota

Controle de validade de produtos!

Recommended Posts

McJota

Boa noite amigos, estou tentando criar um sistema de controle de validade de produtos, porém estou com dificuldades para preencher uma ListView com os produtos que estão a menos de 30 dias de vencer!

Tenho o projeto quase pronto, só falta está parte onde preenche a ListView!

Fiz o projeto todo com imagens e TXT, ao cadastrar um novo produto, salva a imagem em uma pasta, salva um TXT com o nome da marca do produto, salva um TXT com o nome do produto e a data de validade do mesmo, ou seja, tem 3 pastas, Imagens, Marcas e Produtos!

Ao abrir o form, carrega os TXT que estão dentro da pasta "Marcas" em uma ComboBox!

Queria que ao carregar o TXT, fizesse uma varredura nos arquivos TXT da pasta "Produtos" e comparasse as datas dos mesmos com a data atual, para alertar do prazo de validade!

Digamos que tenho 3 marcas de produtos, cada marca tem 10 produtos diferentes!

Queria que ao carregar os TXT das marcas, pegasse a marca "A" e carregasse os 10 produtos da respectiva marca em uma segunda Combobox!

Então comparasse a data do produto "1" da marca "A" com a data atual, se a diferença fosse menor que 30, adicionasse a ListView com 3 colunas, "Marca", "Produto" e "Data", e passasse para o produto "2" da marca "A", e assim por diante, até o último produto da última marca!

Podem me dar uma luz??

Agradecido.....

Share this post


Link to post
Share on other sites
McJota

Consegui resolver usando o seguinte código!

Dim s1 As Integer
    s1 = 0
    For t = 0 To ComboBox1.Items.Count() - 1
	    Dim a1 As String = ComboBox1.Items.Item(s1)
	    Dim DirDiretorio2 As DirectoryInfo = New DirectoryInfo(Application.StartupPath + "/Produtos/" + a1 + "/")
	    Dim oFileInfoCollection2() As FileInfo
	    Dim oFileInfo2 As FileInfo
	    Dim u As Integer
	    oFileInfoCollection2 = DirDiretorio2.GetFiles("*.txt")
	    For u = 0 To oFileInfoCollection2.Length() - 1
		    oFileInfo2 = oFileInfoCollection2.GetValue(u)
		    ComboBox2.Items.Add(oFileInfo2.Name.ToString.Replace(".txt", ""))
	    Next
	    For s2 = 0 To ComboBox2.Items.Count() - 1
		    Dim a2 As String = ComboBox2.Items.Item(s2)
		    Dim oTxtIn As New IO.StreamReader(Application.StartupPath + "\Produtos\" + a1 + "\" + a2 + ".txt")
		    Dim oTxtContent As String = oTxtIn.ReadToEnd()
		    Dim oTxtArr() As String = oTxtContent.Split(Environment.NewLine)
		    TextBox1.Text = oTxtArr(0)
		    oTxtIn.Close()
		    Dim date1 As Date
		    Dim date2 As Date
		    Dim result As Integer
		    date1 = TextBox2.Text
		    date2 = TextBox1.Text
		    result = DateDiff("d", date1, date2)
		    If result < "30" Then
			    Dim item As New ListViewItem
			    item.Text = (a1).ToString
			    item.SubItems.Add(a2).ToString()
			    item.SubItems.Add(TextBox1.Text).ToString()
			    ListView1.Items.Add(item)
		    End If
	    Next
	    ComboBox2.Items.Clear()
	    s1 = s1 + 1
    Next

Obrigado.....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.