AMMMMMS Posted December 16, 2009 at 05:53 PM Report Share #300792 Posted December 16, 2009 at 05:53 PM Estou com um problema. Preciso de comparar duas listbox..A listbox 1 é feita com uma lista ligada e eu preciso que ao aparecer determinado tipo(p.tipo) na listbox2, o item da listbox1 seja removido.. Por exemplo, se eu tiver na listbox1 (3hamburger) e na listbox2 (1 hamburger), entao tera que desaparecer um hamburger da listbox 1..é um bocado complicado de perceber mas espero pela vossa ajuda. Link to comment Share on other sites More sharing options...
ribeiro55 Posted December 16, 2009 at 11:11 PM Report Share #300936 Posted December 16, 2009 at 11:11 PM Tens razão, está bastante confuso. Dá mais exemplos para ver se entramos no quadro. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
AMMMMMS Posted December 17, 2009 at 12:48 AM Author Report Share #300957 Posted December 17, 2009 at 12:48 AM Eu vou explicar o exercicio..è um restaurante em que temos varios tipos de pedidos..um deles é um hamburger...e na listbox 1 aparece: PEDIDO 1: 2hamburgers por exemplo..entretanto vai chegar da cozinha esse pedido..e vai aparecer numa lista box a dizer que (2 hamburger) estao feitos..entao significa que o pedido esta concluido e tem que ser removido da listbox 1 pra ser entregue ao cliente(neste caso, passar para outra textbox a dizer"pedidos entregues")..nao sei mesmo como explicar mais :/ Link to comment Share on other sites More sharing options...
ribeiro55 Posted December 17, 2009 at 01:01 AM Report Share #300960 Posted December 17, 2009 at 01:01 AM Onde é que entra a comparação das Listbox? Ou estou a "aparvalhar" e não estou a entender, ou podes melhorar bastante a explicação :dontgetit: Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
AMMMMMS Posted December 17, 2009 at 01:43 AM Author Report Share #300967 Posted December 17, 2009 at 01:43 AM o que o que eu quero é: quando aparecer na listbox 2 o mesmo tipo de comida que na listbox 1, ela seja identificada..dai a comparaçao.. Por exemplo, se na listbox 2 aparecer: "2 hamburger" e se eu na listbox 1 tiver um pedido com 2 hamburger, entao posso eliminar o pedido..é um exercicio bastant complexo pk envolve a cozinha e a caixa de um restaurante..a listbox 2 sao items adicionados que a cozinha manda..e quando a cozinha envia para a caixa elimina.se da caixa..nao sei como explicar de outra maneira o exercicio.. Link to comment Share on other sites More sharing options...
Pwyll Posted December 17, 2009 at 04:59 PM Report Share #301146 Posted December 17, 2009 at 04:59 PM Se bem percebi o que tu queres e fazer uma "pilha". Pegando no caso do restaurante: Vejamos, tens a listbox1 que contem todos os pedidos que sao efectuados pelos empregados de mesa. Cada pedido ira ter um numero. E o que tu queres e quando um pedido é produzido esse mesmo pedido passe para a listbox2. Nao sei se tens que fazer uma comparacao, o que me parece e que a cozinha selecciona o pedido que acabou de produzir na listbox1 e depois clica num botao (por exemplo) e remove-o da listbox1 e coloca-o na listbox2. Link to comment Share on other sites More sharing options...
ribeiro55 Posted December 17, 2009 at 07:22 PM Report Share #301168 Posted December 17, 2009 at 07:22 PM Isso assim já faz mais sentido. Como achei piada ao desafio, tens aqui uma solução abstracta acabadinha de sair do forno. Espero que consigas retirar algo que te dê luz na tua implementação. Se quiseres testar, num projecto novo, substituís todo o código do form por esse abaixo e corres a aplicação. O output sai na ImmediateWindow, por isso certifica-te de que a tens visível e limpa. Estou e estamos cá todos para dúvidas B) (o facto de não ter nenhum comentário é propositado) Public Class Form1 Private Pedidos As New List(Of Comida) Private Cozinha As New List(Of Comida) Private WithEvents RotinaDaCozinha As New Timer With {.Enabled = True, .Interval = 8000} Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load FazerPedido("Massa com esparguete", 1, 30) FazerPedido("Sopa de sopa", 1, 10) FazerPedido("Fettucini de coiratos", 1, 50) FazerPedido("Sanduba de queijo", 1, 5) FazerPedido("Empadão de empadas", 1, 45) End Sub Private Sub FazerPedido(ByVal Nome As String, ByVal Quantidade As Integer, ByVal TempoPreparacao As Integer) Dim C As New Comida C.Nome = Nome C.Quantidade = Quantidade C.TempoPreparacao = TempoPreparacao AddHandler C.EstouPronto, AddressOf PratoPronto Pedidos.Add(C) End Sub Private Sub PratoPronto(ByVal QualPrato As Comida) Debug.WriteLine(QualPrato.Nome & " acabou de ser preparado!") Cozinha.Remove(QualPrato) End Sub Private Sub RotinaDaCozinha_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles RotinaDaCozinha.Tick If Pedidos.Count = 0 And Cozinha.Count = 0 Then Debug.WriteLine("A cozinha não tem mais pratos em preparação") : Exit Sub If Pedidos.Count = 0 Then Debug.WriteLine("A cozinha não tem pedidos pendentes...") : Exit Sub Dim C As Comida = Pedidos(0) Debug.WriteLine(C.Nome & " iniciou a preparação") Cozinha.Add(C) C.IniciaPreparacao() Pedidos.Remove(C) End Sub End Class Public Class Comida Public Nome As String Public Quantidade As Integer Public TempoPreparacao As Integer Public Event EstouPronto(ByVal QuemEstaPronto As Comida) Private WithEvents TMR As New Timer With {.Enabled = False, .Interval = 1000} Private TempoPassado As Integer = 0 Private Sub TMR_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TMR.Tick TempoPassado += 1 If TempoPassado >= TempoPreparacao Then TMR.Enabled = False RaiseEvent EstouPronto(Me) End If End Sub Public Sub IniciaPreparacao() TempoPassado *= Quantidade TMR.Enabled = True End Sub End Class Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
AMMMMMS Posted December 18, 2009 at 01:12 AM Author Report Share #301209 Posted December 18, 2009 at 01:12 AM Muito obrigado pela ajuda..sou um bocado inexperiente nisto pk apenas comecei a programar ha cerca de 3 meses e esta complicado..de qualquer maneira quando precisar digo.. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now