Programación General > Visual Basic para principiantes

 Encuentra el error

(1/5) > >>

Begeo:
Saludos.

Verán, me di cuenta de que de los errores se aprenden. Así, solemos encontrar nuestros errores a tiempo, mientras que otros más o menos graves son dejados de la mano de dios.

La idea de este tópic es, para los que no les importe postear un poco de su código, mostrar pequeños trozos de código mostrando errores que hemos encontrado, para que no sólo nosotros aprendamos, sino también los demás.

Empiezo yo con este trozo:


--- Código: Text ---Dim CartaElegida As IntegerDim VolverAEmpezar As BooleanVolverAEmpezar = TrueDo While VolverAEmpezar = True    CartaElegida = CStr(Rand(1, 5)) 
Encuentren los errores ;3

m0skit0:
Sin ejecutarlo, te digo que

1) Te falta el LOOP al final del bucle


--- Código: Text --- Do While VolverAEmpezar = True     CartaElegida = CStr(Rand(1, 5))LOOP  
2) El bucle es infinito puesto que en su interior no se cambia la condición de salida.

3) CartaElegida es un entero y le asignas un valor String en


--- Código: Text ---CartaElegida = CStr(Rand(1, 5)) 

Begeo:

--- Cita de: "m0skit0" ---Sin ejecutarlo, te digo que

1) Te falta el LOOP al final del bucle


--- Código: Text --- Do While VolverAEmpezar = True     CartaElegida = CStr(Rand(1, 5))LOOP  
2) El bucle es infinito puesto que en su interior no se cambia la condición de salida.

3) CartaElegida es un entero y le asignas un valor String en


--- Código: Text ---CartaElegida = CStr(Rand(1, 5)) 
--- Fin de la cita ---
Sobre lo del loop, no lo puse entero, ya que si lo ponia entero tenía también que poner el resto de la función, y eso no es "un pedazito," es un "cacho trozo".  ^_^ Lo que quería era que vieran el error de CStr().

Te invito a que pongas tu una pieza de código erróneo. ^^

m0skit0:
Ah, bueno, entonces acerté de todas formas  :devil:  :ph34r:

Venga, uno un pelín más difícil:

modFunciones.bas:


--- Código: Text --- Private Function Factorial(X as Integer) As Integer      Factorial = Factorial(X-1)End Function  
modPrincipal.bas


--- Código: Text --- Private Sub Principal()     Dim N As Variant      N = Factorial(5)     Debug.Print NEnd Sub  
Bueno, hay 3 errores. 2 de lógica y uno de metodología. A ver quién da.  :comp:

Begeo:
Creo que veo dos errores:

El primero es que no veo que se le introduzca ningún valor a X nunca - igual me equivoco.

El segundo es que Factorial, al ser una función privada, no podría llamarse fuera de modFunciones.bas, así que al llamarlo desde modPrincipal.bas no se debería de poder usar.

Creo que veo otro más, ¿Que para llamar una función externa no hay que usar "modulo.funcion(datosaqui)"?

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa