Foros del Web » Programando para Internet » ASP Clásico »

Problema con una variable

Estas en el tema de Problema con una variable en el foro de ASP Clásico en Foros del Web. Estoy montando una paginación muy simple, y el problema que tengo es que parece que no se lee una variable en un momento determinado. Código: ...
  #1 (permalink)  
Antiguo 18/02/2007, 12:41
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Problema con una variable

Estoy montando una paginación muy simple, y el problema que tengo es que parece que no se lee una variable en un momento determinado.

Código:
<%
'=========================================================
Function RoundTo(intNum, intRn)
    RoundTo= Int((intNum / intRn)+.9) * intRn
End Function

'=========================================================
Function entero(numero)
Dim decimal
select case numero
	case "00"
		decimal="0"
	case ""
		decimal="0"
	case else
		decimal="1"
end select

entero=decimal

End Function 'entero
'=========================================================


dividir_resp = 84 / 20
valor = Mid(dividir_resp,3,2)
total = dividir_resp + entero(valor)
entero_total = Mid(total,1,1)
redondea = RoundTo(dividir_resp,1)
For I = 1 to entero_total
%>
<b><%= I %></b>

<%if I < entero_total  then%>,

<%
end if
Next
%>

<br>
entero_total <%=entero_total%>
<br>
redondea <%=redondea%>
La variable "entero_total" funciona correctamente en el bucle, pero en la condición no funciona.

Según el ejemplo de código que os muestro, el resultante tendría que imprimir:1,2,3,4,5 pero imprime: 1,2,3,4,5, (la última coma es el problema). Si en lugar de usar la variable "entero_total" uso "redondea", todo lo hace correcto. Pero para usar la variable "redondea" tengo que usar la función "RoundTo" que en este caso no me útil. Si compruban el código, tanto la variable "entero_total" como "redondea" es 5 (que son el número de páginas). Así que mi pregunta es ¿Cómo puede funcionar con una variable pero con la otra no?

Gracias
  #2 (permalink)  
Antiguo 18/02/2007, 16:41
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Problema con una variable

Bueno, no me detuve a analizar tu código, pero así rápido veo que estás haciendo operaciones con cadenas 1 + "20" puede darte un resultado inesperado, a pesar de que dicen que todos los tipos son variant, esto no aplica muchas veces.

Mi sugerencia es revisar cada operación y hacer los casts correspondientes o en su defecto utilizar el tipo de dato correcto, desgraciadamente VB nos permite estas prácticas que no son necesariamente buenas, sobre todo cuando quieras irte a otras plataformas.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 19/02/2007, 05:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Re: Problema con una variable

Gracias por responder

En cuanto a las operaciones están correctas. El problema que tengo es en la codicional

<%if I < entero_total then%>,

En teoría debería imprimir: 1,2,3,4,5 por imprime 1,2,3,4,5,

Si en la condicional uso la variable "redondea"

<%if I < redondea then%>, (pero esta variable no quiero usarla)

Imprime: 1,2,3,4,5

Así que, ¿por qué con la variable "entero_total" se produce ese error?

Gracias
  #4 (permalink)  
Antiguo 20/02/2007, 18:16
Avatar de saavedralar  
Fecha de Ingreso: mayo-2006
Mensajes: 1
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Problema con una variable

entero_total es un string.
( Lo sabes con TypeName(entero_total) )

Para evitar la ultima coma en el ciclo For coloca:

<% If I < CInt(entero_total) then %>,
  #5 (permalink)  
Antiguo 22/02/2007, 05:11
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Re: Problema con una variable

Gracias saavedraalar, no se me había ocurrido
  #6 (permalink)  
Antiguo 22/02/2007, 09:30
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Problema con una variable

A mi tampoco
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 23/02/2007, 08:19
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Re: Problema con una variable

Claro que a tí tambien te doy las gracias.
Lo siento, fueron las prisas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:30.