Ver Mensaje Individual
  #8 (permalink)  
Antiguo 28/04/2010, 03:59
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Ayuda por favor

Hola:

A ver que te parece este código, que pretende hacer lo que tu quieres pero como ves de una manera mucho mas simple.

La Matriz Semanas(55) está definida fuera de la función para que puedas utilizarla posteriomente desde otra con los datos obtenidos.

Mi idea para no complicarnos la vida es crear una Matriz que como mucho podrá contener 52 o 53 semanas dependiendo del año pero nunca 55 y por otra parte la Semana 0 no se utilizará.

De este modo en cualquier punto del programa puedes preguntar:

If Semanas(5)=0 Then
' No tiene movimientos relacionados
Else
' Mostrar sus movimientos que empiezan en el Registro Semanas(5)
End If

Es una idea

Código vb:
Ver original
  1. Dim Semanas(55) As Single
  2.  
  3. Private Sub IndicesSemanas()
  4.   Dim Registro As Single
  5.   For Registro = 1 To LOF(Numero) / 94
  6.     Get #Numero, Registro, Horas
  7.     ' Si Semanas(x) tiene valor ya he leido el primer registro de esta semana
  8.    ' por lo tanto no le signo el valor del actual. Solo el Primero como quieres tu
  9.    If Semanas(Horas.Semana) = 0 Then Semanas(Horas.Semana) = Registro
  10.   Next
  11.   ' En un bucle posterior sabemos que si Semanas(1) o Semanas(5) o Semanas(x) son = 0 No tienen Registros
  12.  ' Si son distintos de cero empieza en ese registro
  13. End Sub
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...