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