J'ai pour celà une fonction qui demande l'index du fichier.
Elle va chercher l'élément dans le fichier et le renvoie. Le truc c'est que le fichier est très gros
Je demande par exemple l'élément n°200 et un bug est généré par l'accès au fichier:Il ne veux pas aller directement à la position indiquée. Expiquations:
Voici ma fonction:
(Il faut préciser que LenMonTypeDeVariable a pour valeur 9820 et qu'il y a un en-tête au fichier qui a pour longueur 150)
(Le fichier a été ouvert autre part dans le programme en Binary Lock Read Write
Function FonctionQuiOuvreLeFichier(Index as Integer) as MonTypeDeVariable
Dim Temp(0) As MonTypeDeVariable
Get #FilePtr , 150 + Index * (LenMonTypeDeVariable + 2) , Temp(0)
FonctionQuiOuvreLeFichier = Temp(0)
End Function
Il me génère une erreur overflow quand Index > 4
Par contre avec ça ça marche

Function FonctionQuiOuvreLeFichier(Index as Integer) as MonTypeDeVariable
Dim Temp(0) As MonTypeDeVariable
Dim Compteur as Double
Compteur = LenMonTypeDeVariable + 2
Compteur = Compteur * Index
Compteur = Compteur + 150
Get #FilePtr , Compteur , Temp(0)
FonctionQuiOuvreLeFichier = Temp(0)
End Function
Quelqu'un peut me dire d'où ça vient?
Je ne sais pas comment fonctionne Windows à ce niveau là. Peut être est-ce parce que pour ces opérations windows utilise des Integer, mais c'est bizarre car c'est des Long qui sont utilisés d'habitude
Qu'une personne éclairée m'apporte la lumière sur ce mystère