Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

Diogo Andre Silva

Listbox no load

Mensagens Recomendadas

Diogo Andre Silva    0
Diogo Andre Silva

Olá boa noite gostava de saber se por acaso consigo obter ajuda aqui. é o seguinte estou a fazer um projecto para o meu curso onde estou a fazer uma simulação de uma registadora de cafe, Ou seja um ecra tatil onde tem cafe, doces etc e ao clicar em cima do cafe manda automaticamente o valor de 0.60€ para a listbox e eu queria que essa listbox logo no load da form começasse a somar todos os valores lá inseridos e os mandasse para ums textbox automaticamente.A linguagem é Visual Basic 2010

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
samesdavis    0
samesdavis

Olá Diogo, tem como fazer isso sim, mas em qual base de dados que esse projeto está?

E mostre qual código que você fez até o momento

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Diogo Andre Silva    0
Diogo Andre Silva

De momento é apenas um teste não está associado a nenhuma base de dados mas o código que tenho até ao momento é:

Public Class Form2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Form1.Hide()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

l1.Items.Add("Café" + "0.60")

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

l1.Items.Add("Cappucino" + "0.60")

End Sub

Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click

l1.Items.Add("Carioca" + "0.60")

End Sub

Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click

l1.Items.Add("Meia de leite" + "0.70")

End Sub

Private Sub Button25_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button25.Click

l1.Items.Add("Garoto" + "0.70")

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

l1.Items.Add("Sandes Mista" + "0.80")

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

l1.Items.Add("Baguette" + "1.10")

End Sub

Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click

l1.Items.Add("Sandes de quijo" + "0.80")

End Sub

Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click

l1.Items.Add("Sandes de Fiambre" + "0.80")

End Sub

Private Sub Button24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click

l1.Items.Add("Sandes de atum" + "0.80")

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

l1.Items.Add("Pastel de nata" + "0.90")

End Sub

Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click

l1.Items.Add("Queijada" + "1.00")

End Sub

Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click

l1.Items.Add("Donut" + "1.00")

End Sub

Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click

l1.Items.Add("Tarte" + "1.50")

End Sub

Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click

l1.Items.Add("Tarte sabores" + "1.60")

End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

l1.Items.Add("Pizza" + "1.60")

End Sub

Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click

l1.Items.Add("Pão de chouriço" + "0.80")

End Sub

Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click

l1.Items.Add("Filó" + "0.80")

End Sub

Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click

l1.Items.Add("Tosta" + "0.70")

End Sub

Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click

l1.Items.Add("Guardanapo" + "0.90")

End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click

l1.Items.Add("Santal Laranja" + "1.00")

End Sub

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click

l1.Items.Add("Santal light" + "1.00")

End Sub

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click

l1.Items.Add("Fanta" + "1.00")

End Sub

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click

l1.Items.Add("Compal" + "1.00")

End Sub

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click

l1.Items.Add("Coca-Cola" + "1.00")

End Sub

Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button26.Click

Dim resultado, i As Single

For i = 0 To l1.Items.Contains

resultado = i

tf.Text = i

Next

End Sub

Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click

l1.Items.RemoveAt(l1.SelectedIndex)

End Sub

Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button28.Click

l1.Items.Clear()

End Sub

Private Sub Button29_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button29.Click

MsgBox("Deseja mesmo sair", vbYesNo)

If (vbYes) Then

End

Else

End If

End Sub

Private Sub Button30_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button30.Click

End Sub

End Class

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nelsonr    333
nelsonr

Ixx, podias tentar automatizar isso da criação dos botões para os produtos.

Bem, de qualquer maneira, porque não crias uma função chamada AdicionarItem em que passas por parametro a designação e o preço.

Nessa função, adicionava a designação à lista e somava o preço ao total.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Diogo Andre Silva    0
Diogo Andre Silva

Ixx, podias tentar automatizar isso da criação dos botões para os produtos.

Bem, de qualquer maneira, porque não crias uma função chamada AdicionarItem em que passas por parametro a designação e o preço.

Nessa função, adicionava a designação à lista e somava o preço ao total.

Podes dar uma dica de qual o código poderia colocar?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nelsonr    333
nelsonr

O que me estava a referir era ter algo deste tipo:

private sub AdicionarItem(designacao as string, valor as decimal)
' Adicionar item à lista
	l1.Items.Add(String.Format("{0} {1}", designacao, valor))
' Adicionar valor ao total
total=total+valor
' Atualizar a variavel com o total
txtTotal.Text=String.format("{0:0.00}", total)
end sub

E no evento do click no produto, adicionavas assim:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
	AdicionarItem("Café", 0.60)
End Sub

No entanto isso implicava que no remover, também removesses o valor ao total, o que começa a complicar na estrutura que tens no exemplo.

Normalmente o que se faz é ter uma class para o produto (com designacao, valor e outros campos que possam ser uteis) e ter uma lista que contem os produtos todos.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Diogo Andre Silva    0
Diogo Andre Silva

O que me estava a referir era ter algo deste tipo:

private sub AdicionarItem(designacao as string, valor as decimal)
' Adicionar item à lista
	l1.Items.Add(String.Format("{0} {1}", designacao, valor))
' Adicionar valor ao total
total=total+valor
' Atualizar a variavel com o total
txtTotal.Text=String.format("{0:0.00}", total)
end sub

E no evento do click no produto, adicionavas assim:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
	AdicionarItem("Café", 0.60)
End Sub

No entanto isso implicava que no remover, também removesses o valor ao total, o que começa a complicar na estrutura que tens no exemplo.

Normalmente o que se faz é ter uma class para o produto (com designacao, valor e outros campos que possam ser uteis) e ter uma lista que contem os produtos todos.

Obrigada pelo código. Contudo estas a querer dizer que que eu deveria pedir ao utilizador utilizando uma imputbox ou uma textbox e só depois inserir automaticamente na listbox?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nelsonr    333
nelsonr

Obrigada pelo código. Contudo estas a querer dizer que que eu deveria pedir ao utilizador utilizando uma imputbox ou uma textbox e só depois inserir automaticamente na listbox?

Não, digo que neste momento estás a adicionar diretamente o produto numa listbox como texto. Isso não permite grande controlo sobre o conteúdo.

Imagina que ao removeres um produto da lista, tens de descontar o valor desse produto ao total... Como vais fazer? Extrair o valor do texto? Isso é pouco funcional.

O que podes fazer, é criar uma class para o produto e adicionares um objecto dessas class à lista. Algo assim

Private Class Produto
  Public Designacao As String
  Public Valor as decimal

  Public Sub New(ByVal designacao As String, ByVal valor As decimal)
  Designacao = designacao
  Valor = valor
  End Sub

  Public Overrides Function ToString() As String
  Return Designacao
  End Function
End Class

E adicionas um novo produto à lista assim:

  l1.Items.Add(New Produto("Café", 0.60))

Assim ao removeres um item da lista, consegues ir buscar o produto e descontar o valor no total

  ' Ler produto selecionado
  dim produtoSelecionado as Produto
  produtoSelecionado = l1.Selecteditem
  ' Descontar o valor do total
  total = total - produtoSelecionado.Valor
  ' Remover da lista
  l1.Items.RemoveAt(l1.SelectedIndex)

ATENÇÃO: Como não uso VB.NET nem o tenho instalado, não sei se o código compila. Mas é só para teres uma ideia

Editado por nelsonr

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Diogo Andre Silva    0
Diogo Andre Silva

Não, digo que neste momento estás a adicionar diretamente o produto numa listbox como texto. Isso não permite grande controlo sobre o conteúdo.

Imagina que ao removeres um produto da lista, tens de descontar o valor desse produto ao total... Como vais fazer? Extrair o valor do texto? Isso é pouco funcional.

O que podes fazer, é criar uma class para o produto e adicionares um objecto dessas class à lista. Algo assim

Private Class Produto
  Public Designacao As String
  Public Valor as decimal

  Public Sub New(ByVal designacao As String, ByVal valor As decimal)
  Designacao = designacao
  Valor = valor
  End Sub

  Public Overrides Function ToString() As String
  Return Designacao
  End Function
End Class

E adicionas um novo produto à lista assim:

  l1.Items.Add(New Produto("Café", 0.60))

Assim ao removeres um item da lista, consegues ir buscar o produto e descontar o valor no total

  ' Ler produto selecionado
  dim produtoSelecionado as Produto
  produtoSelecionado = l1.Selecteditem
  ' Descontar o valor do total
  total = total - produtoSelecionado.Valor
  ' Remover da lista
  l1.Items.RemoveAt(l1.SelectedIndex)

ATENÇÃO: Como uso VB.NET nem o tenho instalado, não sei se o código compila. Mas é só para teres uma ideia

Sim Obrigada vou tratar disso e logo quando terminar publico aqui o código final

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.