Chamuanza Posted June 10, 2012 at 09:05 PM Report Share #461831 Posted June 10, 2012 at 09:05 PM (edited) Um Bem Aja a Todos Tenho uma Combobox com um ciclo For de 3 a 100 que vai funcionar para a divisão de uma circuferencia com base em raio 1 Tenho depois um Select Case que vai fazer as diversas divisões Sucede que no select referente aos resultados em que a divisão tem resto zero o valor final da corda está correcto (segue o codigo) Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged Label11.Text = Round(360 / ComboBox2.Text, 6) Label13.Text = Mid(360 / ComboBox2.Text, 4, 2) 'Insere nas Labels os valores correspondentes de angulo, minutos e cordas Select Case ComboBox2.SelectedIndex 'Valores DIVISÃO ' 3 4 5 6 8 9 10 12 15 18 20 24 30 36 40 45 60 72 90 Case 0, 1, 2, 3, 5, 6, 7, 9, 12, 15, 17, 21, 27, 33, 37, 42, 57, 69, 87 ' Label11.Text = 360 / ComboBox2.Text Label14.Text = Round(Sin(Label11.Text * 3.1416 / 360), 4) * 2 & " mm" No entanto quanto aos resultados (valor da Corda) em que a divisão não dá resto zero existe diferenças em relação a uma tabela que tenho feita em VB6. (segue o código que dá erro) 'Valores DIVISÃO ' 7 11 13 14 17 19 21 22 23 26 27 28 29 31 32 33 34 35 Case 4, 8, 10, 11, 14, 16, 18, 19, 20, 23, 24, 25, 26, 28, 29, 30, 31, 32 Label11.Text = Mid(360 / ComboBox2.Text, 1, 2) Label13.Text = Mid(Mid(360 / ComboBox2.Text, 4, 2) * 60, 1, 2) Label14.Text = Round(Sin(Label11.Text * 3.1416 / 360), 4) * 2 & " mm" Alguem me pode dar uma dica sobre o que tenho mal nisto? Edited June 10, 2012 at 09:28 PM by Chamuanza Link to comment Share on other sites More sharing options...
ribeiro55 Posted June 11, 2012 at 12:41 AM Report Share #461870 Posted June 11, 2012 at 12:41 AM Porque é que tens de verificar os números que dão resto zero e os que não dão? O VB sabe dizer-te isso. Usa o MOD. Rounds e Mids são sombras do VB6: usa o Round da classe Math e usa substrings e procede a conversões. O mesmo sucede para o Sin. Usa o da classe Math. 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...
Chamuanza Posted June 11, 2012 at 06:49 PM Author Report Share #462043 Posted June 11, 2012 at 06:49 PM Ola Ribeiro Tenho que verificar para poder converter e apresentar o valor dos Graus e Minutos. e estou a usar a classe Math pois faço o Import da mesma (Imports System Math) no inicio do projecto. Mas continuo sem perceber a razão de me dar valores diferentes quando a divisão dos 360º pelo Nº de divisões não dá resto zero. A formula que apresento não está correta? Ou falta-me alguma formatação? 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