SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Fernando_P en Jueves 3 de Junio de 2004, 22:01
-
Resulta que en una consulta a una BD esta me devuelve la cadena "año1 - año2", necesito tomar año1 y año como enteros para despues iterar entre ellos dos, es decir,
hacer un bucle For i=año1 to año2 ...
como obtengo estos años?
Ayuda rapida seria fantastica!!!!
Saludos!
Fernando.
-
Creo haber entendido que quieres tomar el valor 1 y dos de la cadena "año1-año2".Pues para ello cuenta los caracteres de la cadena con la función len(cadena) y despues ves tomando caracter a caracter y comprueba si ese caracter es numerico, si lo es lo guardas en una variable y si no pasas a comprobar el siguiente.Mas o menos asi:
dim n as integer 'guarda el numero de caracteres de la cadena
dim sub as string 'almacenará el caracter a comparar
n=len(cadena) 'cuenta las letras
sub=substr(cadena,1,1) ' cogemos el primer caracter empezando por la
while i <= n posicion 1
if isnumeric(sub) then
' guardar caracter
else
i=i+1
end if
wend
O si lo que quieres es buscar el 1 y el 2 busca directamente la subcadena (1 ó 2) dentro de la cadena "año1-año2".
No se si me he explicado bien, espero que si.Suerte.
-
si el string que lees es del siguiente tipo:"1990-2004" puedes hacer lo siguiente
dim str as string, año1 as integer, año2 as integer
año1=CInt(Mid(str,1,4)) 'convierte a entero los caracteres del primero al cuarto
año2=CInt(Mid(str,6,4)) ''convierte a entero los caracteres del sexto al ultimo
donde str es la cadena que contiene los dos años
espero ke te sirva de algo
:kicking:
-
Gracias Jonmi, era justo lo que necesitaba...te pasaste!!!!
la funcion mid lo resolvia todo...
Gracias de nuevo