Page 1 sur 1

...

Publié : jeu. 26/août/2004 19:31
par Psycode
...

Publié : jeu. 26/août/2004 19:33
par Chris
La chaine ne doit pas dépasser 64 Ko

Publié : jeu. 26/août/2004 19:36
par Psycode
Voila donc d'ou viens mon bug. Il me fait donc lire 64k par 64k.

On le peux pas accéder a la totalité d'un fichier en utilisant d'autres instructions ?

Publié : jeu. 26/août/2004 19:45
par Chris
Si, tu peux lire directement dans le fichier en utilisant ReadString(), ou charger la totalité de ton fichier en mémoire et récuperer ce dont tu as besoin avec des PeekS().
(Bien que, il me semble que tu ne peux pas non plus récupérer plus de 64 Ko avec PeekS(). A vérifier quand même???)

En mémoire, tu peux récupérer lignes par lignes, avec un truc dans ce genre là:

Code : Tout sélectionner

Fichier$ = "Test.txt"
Size = FileSize(Fichier$)
i = 1

If Size > 0
  If ReadFile(0,Fichier$)
    *Buffer = AllocateMemory(Size)
    If *Buffer
      ReadData(*Buffer,Size)
    EndIf
    CloseFile(0)
  EndIf

Ret$ = Chr(13)+Chr(10) : i = 1

Repeat
  Repeat
    a$ = PeekS(*Buffer+long,i) : i+1
  Until Right(a$,2) = Ret$
  a$ = Trim(a$) : Debug a$
  
  long + Len(a$) : a$ = "" : i = 1
  
Until long >= Size
EndIf
Pour les fichiers de données, il faut peut-être voir une autre solution.

Publié : jeu. 26/août/2004 20:01
par Le Soldat Inconnu
Fred a posté un truc pour augmenter la taille des strings, faire une recherche sur ce forum, ou sur le musée (site de Cederavic)