Dj_Pedro Posted May 23, 2006 at 09:12 PM Report Share #29207 Posted May 23, 2006 at 09:12 PM Hi pessoal tudo?? Olhem eu cria fazer um programa que convertesse decimais para hexadecimais ... Eu fiz um em binario para hexadecimal e vice-versa (pk não sabia fazer como decimais) e deu-me muito trabalho tive de fazer sempre assim If text1.text = 0 then text2.text = 0 If text3.text = 1 then text4.text = 00001 If text5.text = 2 then text6.text = 00010 E para não fazer a mesma cena com decimais If text1.text = 5 then text2.text = 5 If text3.text = 10 then text4.text = A E acho que existe uma forma de fazer isso num só código e numa so barra ... Se é que me faço etender .... O meu esquema bin to hex e hex to bin era analisar as textbox (que eram 16 a contar c/ o 0 logo hexadecimal) e depois por nas outras textbox.... e isso da muito trabalho e gostava de saber pela outra maneira... Alguem me pode ajudar??? Cumps. 😁 Link to comment Share on other sites More sharing options...
overcloked Posted May 23, 2006 at 09:40 PM Report Share #29219 Posted May 23, 2006 at 09:40 PM Se n me engano é Hex(numero) experimenta! o contrario é que acho que n existe nenhuma função lembro-me de fazer isso à um tempo e deu-me uma grande dor de cabeça.... (entretanto fui procurar aqui aos porjectos acabados...) Descobri o codigo mas está em ASP, a diferença não é mta vê se consegues adapta-lo: Function hexadecimal_decimal(a) If isnumeric(a) = true OR inStr(a,"a") <> 0 OR inStr(a,"b") <> 0 OR inStr(a,"c") <> 0 OR inStr(a,"d") <> 0 OR inStr(a,"e") <> 0 OR inStr(a,"f") <> 0 OR inStr(a,"A") <> 0 OR inStr(a,"B") <> 0 OR inStr(a,"C") <> 0 OR inStr(a,"D") <> 0 OR inStr(a,"E") <> 0 OR inStr(a,"F") <> 0 then valHEX = a valLen = Len(valHex) valLen2= len(valHex) intPof = valLen For i = 1 To ValLen ValDec = Left(Mid(valHex,i,1),i) If Instr(Ucase(valDec),"A") Then valDec = 10 If Instr(Ucase(valDec),"B") Then valDec = 11 If Instr(Ucase(valDec),"C") Then valDec = 12 If Instr(Ucase(valDec),"D") Then valDec = 13 If Instr(Ucase(valDec),"E") Then valDec = 14 If Instr(Ucase(valDec),"F") Then valDec = 15 If valLen2>= 3 Then rslt=valDec*16^(intPof-i) valLen2=valLen2-1 ElseIf valLen2=2 Then rslt=valDec*16 valLen2=valLen2-1 ElseIf valLen2=1 Then rslt=valDec End If myRslt = myRslt + rslt Next response.write ("<br><br><br><center><font size=8>O valor da conversão é:<b> " &myRslt& " </b></font><br><br> <a href=conversor.htm>Converter outro numero</a></center>") else response.write ("<br><br><br><center><font size=6>Numero Invalido, so pode conter numeros de 0 a 9 e letras de A a F.</font><br><br><a href=conversor.htm>Back</a></center>") End if End Function Dá noticias 👍 Link to comment Share on other sites More sharing options...
freesumo Posted May 24, 2006 at 12:20 AM Report Share #29237 Posted May 24, 2006 at 12:20 AM De decimal para hexadecimal usa Hex(numero). Para fazer uma conversão de hexadecimal para decimal não necessitas de fazer nada por exemplo experimenta Print, &HF34A01. Agora, aquilo que tu queres (acho eu...) é escrever o hexadecimal numa textbox e depois converter para decimal, acho que podes fazer assim: CInt("&H" & Text1.Text). Cuidado com os overflows. 👍 Link to comment Share on other sites More sharing options...
Dj_Pedro Posted May 24, 2006 at 05:47 AM Author Report Share #29243 Posted May 24, 2006 at 05:47 AM Se n me engano é Hex(numero) experimenta! o contrario é que acho que n existe nenhuma função lembro-me de fazer isso à um tempo e deu-me uma grande dor de cabeça.... (entretanto fui procurar aqui aos porjectos acabados...) Descobri o codigo mas está em ASP, a diferença não é mta vê se consegues adapta-lo: Function hexadecimal_decimal(a) If isnumeric(a) = true OR inStr(a,"a") <> 0 OR inStr(a,"b") <> 0 OR inStr(a,"c") <> 0 OR inStr(a,"d") <> 0 OR inStr(a,"e") <> 0 OR inStr(a,"f") <> 0 OR inStr(a,"A") <> 0 OR inStr(a,"B") <> 0 OR inStr(a,"C") <> 0 OR inStr(a,"D") <> 0 OR inStr(a,"E") <> 0 OR inStr(a,"F") <> 0 then valHEX = a valLen = Len(valHex) valLen2= len(valHex) intPof = valLen For i = 1 To ValLen ValDec = Left(Mid(valHex,i,1),i) If Instr(Ucase(valDec),"A") Then valDec = 10 If Instr(Ucase(valDec),"B") Then valDec = 11 If Instr(Ucase(valDec),"C") Then valDec = 12 If Instr(Ucase(valDec),"D") Then valDec = 13 If Instr(Ucase(valDec),"E") Then valDec = 14 If Instr(Ucase(valDec),"F") Then valDec = 15 If valLen2>= 3 Then rslt=valDec*16^(intPof-i) valLen2=valLen2-1 ElseIf valLen2=2 Then rslt=valDec*16 valLen2=valLen2-1 ElseIf valLen2=1 Then rslt=valDec End If myRslt = myRslt + rslt Next response.write ("<br><br><br><center><font size=8>O valor da conversão é:<b> " &myRslt& " </b></font><br><br> <a href=conversor.htm>Converter outro numero</a></center>") else response.write ("<br><br><br><center><font size=6>Numero Invalido, so pode conter numeros de 0 a 9 e letras de A a F.</font><br><br><a href=conversor.htm>Back</a></center>") End if End Function Dá noticias 👍 O que quero é hexadecimal com os números e letras(1 até 9 , A até F) para converter em decimais (só números). Pois obrigado pela resposta + acho que assim não vou chegar la .... Tipo ASP da para programar em base win32??? Cumps. P.s.-> desculpem o incomodo + é que eu aind ñ estou a dar aulas de programação só para ano é que vou para o 10º ai as minhas varias perguntas... Link to comment Share on other sites More sharing options...
Dj_Pedro Posted May 24, 2006 at 06:02 AM Author Report Share #29244 Posted May 24, 2006 at 06:02 AM Se souberem como fazer ou traduzir programação ASP para VB6 agradeço... Cumps. 😁 Link to comment Share on other sites More sharing options...
vbtipo Posted May 24, 2006 at 06:45 AM Report Share #29246 Posted May 24, 2006 at 06:45 AM Tens aqui o programa já feito, está a funcionar não sei se falta alguma coisa ou não ... Lema: Se eu não saber de alguma coisa não se preocupem porque tento sempre ajudar alguma coisita, nem que seja, por palpites/sugestões. Link to comment Share on other sites More sharing options...
Dj_Pedro Posted May 24, 2006 at 01:28 PM Author Report Share #29300 Posted May 24, 2006 at 01:28 PM Tens aqui o programa já feito, está a funcionar não sei se falta alguma coisa ou não ... Obrigado Pessoal por tudo 👍 Só que tipo eu cria fazer uma coisa do genero : Hex -> 0878C07E4F762318 E converter o la de cima para : Dec -> 008120192126079118035024 (c/ este formato) E vice-versa alguem sabe como??? Deixo aqui um exemplo de um programa (não feito por mim) + cria fazer deste genero .... Cumps. Link to comment Share on other sites More sharing options...
NuGuN Posted May 31, 2006 at 09:00 PM Report Share #30441 Posted May 31, 2006 at 09:00 PM Se bem percebi deve ser algu do genero disto que queres Option Explicit Private Sub cmdConvert_Click() Dim Vals(50) As String * 1 Dim Temp As String Dim i As Integer Dim TSoma As Double Dim Soma As Double Temp = UCase(txtVal.Text) For i = 0 To Len(txtVal.Text) - 1 Vals(i) = Right(Temp, 1) Temp = Left(Temp, Len(Temp) - 1) DoEvents Next i For i = 0 To Len(txtVal.Text) - 1 TSoma = (Converte(Vals(i)) * (16 ^ i)) Soma = Soma + TSoma DoEvents Next i MsgBox Soma End Sub Private Function Converte(Valor As String) As Integer Select Case Valor Case "A" Converte = 10 Case "B" Converte = 11 Case "C" Converte = 12 Case "D" Converte = 13 Case "E" Converte = 14 Case "F" Converte = 15 End Select If IsNumeric(Valor) Then Converte = Val(Valor) End If End Function Apenas tens de adicionar uma texbox com o nome de "txtval" e um CommandButon com o nome de "cmdConvert". fiz apenas o conversor de Hexadecimal para decimal para teres uma noção de como é, para fazeres a parte de Decimal para Hexadecimal procura os metodos de conversão 😞 cumps 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