Koi Posted June 12, 2006 at 09:18 PM Report Share #32626 Posted June 12, 2006 at 09:18 PM Boas 😁 Estou a fazer um programa para converter polegadas, cms, pés, jardas e milhas e tou a usar o seguinte layout na forma : Textbox--- combobox com as diversas medidas---- texbox onde ira aparecer o output e combobox para escolher a medida de output. A nivel do ciclo de calculo estava a pensar algo assim: If (Uni1.SelectedItem = "Pé") Then If (Uni2.SelectedItem = "Polegada") Then Dados2.Text() = Dados1.Text() * 12 End If If (Uni2.SelectedItem = "Jarda") Then Dados2.Text() = Dados1.Text() / 3 End If If (Uni2.SelectedItem = "Milha") Then Dados2.Text() = Dados1.Text() / 5.28 Mas sinceramente acho mt arcaico.... :nono: Que dizem... Abc Link to comment Share on other sites More sharing options...
Tiago Salgado Posted June 12, 2006 at 10:08 PM Report Share #32643 Posted June 12, 2006 at 10:08 PM 1º Usa a ferramenta Geshi para colocares o codigo. Fica mais legivel. 2º Deves fazer umas pesquenas correcções ao teu codigo. Dados1.Text() devolve-te uma String e não um valor Numérico. Para ficar mais correcto poe assim: If (Uni1.SelectedItem = "Pé") Then If (Uni2.SelectedItem = "Polegada") Then Dados2.Text() = CDbl(Dados1.Text()) * 12 End If If (Uni2.SelectedItem = "Jarda") Then Dados2.Text() = CDbl(Dados1.Text()) / 3 End If If (Uni2.SelectedItem = "Milha") Then Dados2.Text() = CDbl(Dados1.Text()) / 5.28 End If End If Podes fazer de outra forma, apenas te apresentei uma solução. Quanto ao chamar "arcaico" ao teu código, não vejo o porquê. Para que complicar o que é simples. Cumps Link to comment Share on other sites More sharing options...
Koi Posted June 13, 2006 at 01:15 AM Author Report Share #32676 Posted June 13, 2006 at 01:15 AM ? Arcaico pq vou repetir o codigo montes de vezes. Basicamente vou usar esse codigo cinco vezes com poucas variacoes. cumps 👍 Link to comment Share on other sites More sharing options...
TheDark Posted June 13, 2006 at 02:00 AM Report Share #32678 Posted June 13, 2006 at 02:00 AM E que tal... Select Case Uni1.SelectedItem Case "Pé" mult=Switch(Uni2.SelectedItem = "Polegada", 12, Uni2.SelectedItem = "Jarda", 1/3, Uni2.SelectedItem = "Milha", 1/5.28) Case "Polegada" mult=Switch(...) Case "Jarda" mult=Switch(...) Case "Milha" mult=Switch(...) End Select Dados2.Text() = CDbl(Dados1.Text()) * mult É só colocar ali nos Switches os restantes valores da conversão. E deixa de haver repetição de código, que como referiste é muito má prática 😁 Isto, claro, se o Select Case funcionar com strings. Desaparecido. Link to comment Share on other sites More sharing options...
Koi Posted June 13, 2006 at 10:27 PM Author Report Share #32867 Posted June 13, 2006 at 10:27 PM TheDark tou a tentar fazer por essa maneira so que obtenho este erro pq do "Switch" 'Switch' is a type and cannot be used as an expression. :dontgetit:Alguem sabe pq? Cumps ? Link to comment Share on other sites More sharing options...
TheDark Posted June 13, 2006 at 11:25 PM Report Share #32873 Posted June 13, 2006 at 11:25 PM Francamente não sei. Não sou grande coisa a VB, vi isso ontem nesta página, imaginei que funcionasse assim. EDIT Supondo que estás a usar VB6: Switch@MSDN. É efectivamente como a utilizei. Não entendo esse erro. Desaparecido. Link to comment Share on other sites More sharing options...
vaurdan Posted July 10, 2006 at 12:11 PM Report Share #37323 Posted July 10, 2006 at 12:11 PM isso não será VB5 ou .net ??? http://www.neopt.org <- O meu blog xD Link to comment Share on other sites More sharing options...
TheDark Posted July 10, 2006 at 04:45 PM Report Share #37368 Posted July 10, 2006 at 04:45 PM Não, está lá no topo da página a dizer Visual Basic 6.0 Desaparecido. 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