Page 1 sur 1

...

Publié : mer. 25/août/2004 19:52
par Psycode
...

Publié : mer. 25/août/2004 20:12
par nico
Je ne vois pas où est la difficulté, utilises ReadByte() .

Publié : mer. 25/août/2004 20:14
par Oliv
On imagine mal representer dans cette chaine un caractere signifiant "ENTREE" ou autre.
C'est le caractère ASCII 10 donc Chaine.s = Chr(10)
Car en fait, je voudrais prendre la chaine des 256 premiers caracteres d'un fichier quelconque (on va dire un MP3). Comment faire ?
Il faut faire

Code : Tout sélectionner

OpenFile(0,"Fichier.XXX")
*Buffer = AllocateMemory(512)
ReadData(*Buffer,512)
CloseFile()
Si tu ne veux pas travailler sur la chaine en mémoire mais sur une chaine, il faut faire

Code : Tout sélectionner

Chaine.s = PeekS(*Buffer)
J'ai mis 512 car il me semble qu'un caractère = 2 octets, mais je me demande si ce n'est pas 4

Publié : mer. 25/août/2004 20:22
par nico
Oliv,

1 caractère=1 octet (8bits) .

:)

Publié : mer. 25/août/2004 20:28
par Psycode
...

Publié : mer. 25/août/2004 20:31
par nico
10 est le caractère de fin de ligne.

Publié : mer. 25/août/2004 20:43
par Psycode
...

Publié : mer. 25/août/2004 21:02
par nico

Code : Tout sélectionner

chaine$ ="forum génial" 
If OpenConsole() 
  Longueur = Len(chaine$) 
  For i = 1 To Longueur 
    uncaractere.s = Mid(chaine$, i, 1)  
    Print (uncaractere)
    Debug uncaractere
  Next i
  PrintN("")
  PrintN("Appuyer sur 'Return' pour quitter.") 
  Input() 
  CloseConsole() 
EndIf 

Publié : mer. 25/août/2004 21:06
par comtois

Code : Tout sélectionner

chaine$ ="forum genial" 
If OpenConsole() 
  longueur = Len(chaine$)
  For i = 1 To longueur 
    uncaractere.s = Mid(chaine$,i,1) 
    Print (uncaractere) 
    Delay(200)
  Next i 
  PrintN("")
  PrintN("Appuyer sur 'Return' pour quitter.") 
  Input() 
  CloseConsole() 
EndIf
ah nico a été le plus rapide :)

Publié : mer. 25/août/2004 21:25
par nico
Hi Hi Hi Hi Hi :wink:

Publié : mer. 25/août/2004 21:26
par Oliv
Ah, je me plante souvent sur la taille des caractère :oops:
Pour le code ASCII 10, 10 est fin de ligne et 13 retour charriot. J'ai joujours utilisé les deux en même temps mais je pensais que c'était 10 re :oops: