WriteData()
Syntaxe
Resultat = WriteData(#Fichier, *Memoire, Longueur)Description
Ecrit le contenu d'une zone mémoire dans un fichier.
Arguments
#Fichier Le fichier à utiliser. *Memoire L'adresse mémoire des données à écrire dans le fichier. Longueur Le nombre d'octets à écrire dans le fichier. Attention la limite est de 2Go.
Valeur de retour
Renvoie le nombre d'octets qui ont été réellement écrits dans le fichier, ou zéro en cas d'erreur.
Remarques
En raison de la mise en mémoire tampon, cette fonction peut retourner une valeur avec succès même s'il n'y a pas assez d'espace disponible sur le périphérique de sortie pour l'opération d'écriture.
Exemple
*MemoryID = AllocateMemory(1000) ; Alloue un bloc mémoire de 1000 octets
If *MemoryID
PokeS(*MemoryID, "Enregister ce texte dans le bloc mémoire", -1, #PB_Unicode) ; Ecriture d'une chaîne de caractères dans le bloc mémoire
EndIf
If CreateFile(0, GetHomeDirectory()+"Test.txt") ; Création d'un nouveau fichier...
WriteData(0, *MemoryID, SizeOf(Character)*Len("Enregister ce texte dans le bloc mémoire")) ; On écrit le texte du bloc mémoire dans le fichier
CloseFile(0) ; Ferme le fichier précédemment ouvert et enregistre les données
Else
Debug "Impossible de créer le fichier!"
EndIf
If ReadFile(0, GetHomeDirectory()+"Test.txt") ; Si le fichier peut être lu , on continue...
While Eof(0) = 0 ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
Debug ReadString(0, #PB_Unicode) ; Affiche du fichier
Wend
CloseFile(0) ; Ferme le fichier précédemment ouvert
Else
MessageRequester("Information","Impossible d'ouvrir le fichier!")
EndIf
Voir aussi
ReadData(), CreateFile(), OpenFile()
OS Supportés
Tous