• Domingo 22 de Diciembre de 2024, 18:54

Autor Tema:  Ayuda!! No Coinciden Tipos?  (Leído 2519 veces)

althenna

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Ayuda!! No Coinciden Tipos?
« en: Martes 28 de Noviembre de 2006, 19:46 »
0
ok estoy haciendo un programa de suma binaria pero me encuentro con el siguente problema

nami, namie, num1pos y num2pos todos fueron declarados como double, tomo sus valores de dos textbox

nami = num1.Text
namie = num2.Text

num1pos = (Mid(nami, podi, 1))
num2pos = (Mid(namie, podi, 1))

 :( eh utilizado en otro programa esta funcion con la diferencia que su valor no lo guardo en una variable sino en otro textbox.. no se que hacer

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #1 en: Martes 28 de Noviembre de 2006, 19:48 »
0
que es podi?

que valores puede tener?

pudes colocar el procedimiento/funcion complet@?


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

althenna

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #2 en: Martes 28 de Noviembre de 2006, 19:58 »
0
aun no completo el programa, estoy haciendo pruebas

podi es mi segundo contador de posicion, ya que necesito tomar el primer digito a la izquierda

solo pueden entrar 1 y 0 pero aun no completo esa parte estoy haciendo pruebas sin validar  :(

Código: Text
  1.  
  2. Dim numi1 As Double
  3. Dim numi2 As Double
  4. Dim grande As Double
  5. Dim tempo As Double
  6. Dim long1 As Double
  7. Dim long2 As Double
  8. Dim vari As Double
  9. Dim inic As Double
  10. Dim podi As Double
  11. Dim nami As Double
  12. Dim namie As Double
  13. Dim num1pos As Integer
  14. Dim num2pos As Integer
  15.  
  16. ' *acabo de cambiarlos a integer*
  17.  
  18.  
  19. Private Sub Command2_Click()
  20.  
  21. long1 = Len(num1)
  22. long2 = Len(num2)
  23. tempo = 0
  24. inic = 0
  25.  
  26.  If long1 < long2 Then
  27.      grande = long2
  28.  Else
  29.      grande = long1
  30. End If
  31.  
  32. 'necesito saber cual de los dos numeros tiene mayor longitud para agregar 0 en
  33. 'los ligares que esta nulo
  34.  
  35. podi = grande
  36.  
  37. 'empieza for   for (variable) = (inicio) to (final //si no se usar el for en visual lo
  38. 'copie de una web
  39.  
  40.  
  41. For inic = inic To grande
  42.  
  43. nami = num1.Text
  44. namie = num2.Text
  45.  
  46. num1pos = (Mid(nami, podi, 1))
  47. num2pos = (Mid(namie, podi, 1))
  48.  
  49. ' comienza  la suma binaria
  50. 'aqui va una serie de ifs que no quise poner para que no se burlaran XD es de lo mas simple por eso ocupo tantas variables
  51.  
  52.  

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #3 en: Martes 28 de Noviembre de 2006, 20:16 »
0
1- en visual basic las cadenas comienzan de 1

Código: Text
  1. cadena="cadena"
  2.  
  3. for c=1 to len(cadena)
  4.     letra=mid(cadena,c,1)
  5. next c
  6.  
  7.  

2- el for en visual lleva esta estructura

Citar
FOR variablecontrol= desde to hasta  [step 1] <--- opcional es el incremento por default 1
      instrucciones dentro del for
NEXT variablecontrol

3- NO puedes hacer esto:

For inic = inic To grande

debes de usar otra variable de control

Citar
For i=inic to grande


4- La funcion Mid espera dos parametros obligatorios y 1 opcional

mid(Cadena,inicio,[longitud])

si inicio vale 0 entonces marca ese error (podi vale 0) (porque las cadenas inician en 1 :P)

si no llevan punto decimal no es necesario que sean doble

5- nami = num1.Text para tomar este valor utiliza
     nami = val(num1.Text) o
     nami = cdbl(num1.Text)


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

althenna

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #4 en: Martes 28 de Noviembre de 2006, 20:31 »
0
aaaaaaaah ya hice esos cambios pero sigo teniendo problemas pero creo saber ke puedo hacer, tengo que agregar ceros a la izqquiera para que tengan la misma longitud

gracias

althenna

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #5 en: Martes 28 de Noviembre de 2006, 20:32 »
0
aaaaaaaah ya hice esos cambios pero sigo teniendo problemas pero creo saber ke puedo hacer, tengo que agregar ceros a la izqquiera para que tengan la misma longitud

mil gracias

edit perdon por el doble post me esta fallando el internet T_T por favor algguien borre el otro

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #6 en: Martes 28 de Noviembre de 2006, 20:37 »
0
Puedes usar FORMAT

Ej.

Código: Text
  1.  
  2. Private Sub Command1_Click()
  3. Numero=200
  4.  
  5. resultado = Format(Numero, &#34;00000000&#34;)
  6.  
  7. End Sub
  8.  

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

althenna

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #7 en: Martes 28 de Noviembre de 2006, 22:00 »
0
nunca eh usado el format y lo aplique como tu ejemplo pero siguen los mismos problemas T_T que lata
Código: Text
  1.  
  2. nami = num1.Text
  3. namy = num2.Text
  4.  
  5.     nami2 = Format(nami, &#34;0000000000&#34;)
  6.     namy2 = Format(namy, &#34;0000000000&#34;)
  7.  
  8.  

por que no nos lo pidieron en delphi  :(  ya lo ubiera terminado (no es que sea fregona pero esto es facil a mi parecer sabiendo las funciones)

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #8 en: Miércoles 29 de Noviembre de 2006, 01:13 »
0
La variable que resulta  debe ser cadena

dim nami2 as string

nami2 = Format(nami, "0000000000")

porque si es numerico y le agregas ceros a la izquierda los elimina :P


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

althenna

  • Miembro activo
  • **
  • Mensajes: 66
    • Ver Perfil
Re: Ayuda!! No Coinciden Tipos?
« Respuesta #9 en: Miércoles 29 de Noviembre de 2006, 18:16 »
0
XD gracias pero tambien hize otro codigo para rellenar los espacios jeje igual gracias <3

Código: Text
  1.  
  2. long1 = Len(num1.Text)
  3. long2 = Len(num2.Text)
  4. tempo = 0
  5.  
  6.  ' se les agrega un extra 0 por signo
  7. tempichan.Text = 0
  8. tempichan2.Text = 0
  9.  
  10.  nami = num1.Text
  11.  namy = num2.Text
  12.  
  13.  If long1 &#60; long2 Then
  14.      grande = long2
  15.      dife = long2 - long1
  16.        For ini = 1 To dife
  17.          tempichan.Text = tempichan.Text & 0
  18.        Next
  19.  Else
  20.       grande = long1
  21.       dife = long1 - long2
  22.        For ini = 1 To dife
  23.          tempichan2.Text = tempichan2.Text & 0
  24.        Next
  25.  End If
  26.  
  27.  tempichan.Text = tempichan.Text & nami
  28.  tempichan2.Text = tempichan2.Text & namy
  29.  
  30.  

siendo tempichan y tempichan2 nuevos textbox  no podia esperar ;)