static File* File.Open(string nomfichier, Mode)Ouvre un fichier sur le disque dur pour lecture ou écriture. Ces fonctions d'accès au disque sont prévues pour des usages simples, comme la façon dont la série des QFG exporte un personnage lorsque vous en avez fini avec lui.
Le MODE peut être eFileRead, eFileWrite ou eFileAppend, selon que vous vouliez écrire dans ou lire le fichier. Si vous passez la valeur eFileWrite et qu'un fichier nommé NOMFICHIER existe déjà, il sera remplacé par vos opérations.
eFileAppend ouvre un fichier existant pour écrire des informations à la fin du fichier (c'est-à-dire que le contenu précédent n'est pas effacé).
Cette fonction retourne un objet File, que vous manipulerez pour effectuer des opérations sur le fichier. La valeur null est retournée s'il y a un problème (comme par exemple si le fichier n'existe pas alors que le MODE est eFileRead).
NOTE : Vous DEVEZ fermer le fichier avec la fonction Close lorsque vous avez fini de l'utiliser. Il y a un nombre limité de fichiers manipulés, et oublier de les fermer peut amener des problèmes à l'avenir.
IMPORTANT : Si vous ouvrez le fichier pour écrire dedans, alors vous pouvez UNIQUEMENT travailler sur des fichiers contenus dans le dossier du jeu. Vous NE POUVEZ PAS utiliser un chemin, donc tout nom de fichier contenant "\" ou "/" sera invalide, pour des raisons de sécurité.
NOTE : Les pointeurs sur les fichiers ouverts ne sont pas conservés dans les sauvegardes de parties. C'est-à-dire que si vous ouvrez un fichier, sauvez la partie ; puis que vous restaurez la partie, le Fichier ne sera plus directement utilisable et vous devrez le réouvrir pour opérer dessus. Le plus pratique serait de ne pas déclarer de variable File globale.
Exemple :
File *sortie = File.Open("temp.tmp", eFileWrite);
if (sortie == null)
Display("Erreur d'ouverture du fichier.");
else {
sortie.WriteString("texte de test");
sortie.Close();
}
ouvrira le fichier temp.tmp pour écrire dedans. Un message d'erreur s'affichera si le fichier ne peut pas
être créé. Sinon, la chaîne "texte de test" sera écrite dans le fichier et celui-ci sera fermé.Voir Aussi : File.Close, File.ReadStringBack, File.WriteString
File.Close()Ferme le fichier, et sauve les changements sur le disque. Vous devez appeler cette fonction lorsque vous avez fini d'écrire/lire un fichier.
Exemple :
File *sortie = File.Open("test.dat", eFileWrite);
sortie.WriteString("texte de test");
sortie.Close();
ouvrira le fichier test.dat, écrira la chaîne "texte de test", et fermera le fichier.Voir Aussi : File.Open
File.ReadInt()Lit un entier depuis le fichier, et le retourne au script. Seuls les entiers écrits avec File.WriteInt peuvent être lus par cette fonction.
Exemple :
int nombre;
File *entree = File.Open("stats.dat", eFileRead);
nombre = entree.ReadInt();
entree.Close();
ouvrira le fichier stats.dat, lira un entier dans nombre et fermera le fichier.Voir Aussi : File.ReadStringBack, File.WriteInt
File.ReadRawChar()Lit un caractère brut depuis le fichier et le retourne. Cette fonction vous permet de lire depuis des fichiers qui n'ont pas été créés par votre jeu, cependant ceci devrait être réservé aux utilisateurs experts.
Exemple :
File *entree = File.Open("stats.txt", eFileRead);
String buffer = String.Format("%c", entree.ReadRawChar());
entree.Close();
lira un caractère brut depuis le fichier stats.txt et l'écrira dans la string 'buffer'.Voir Aussi : File.ReadStringBack, File.ReadRawInt, File.WriteRawChar
File.ReadRawInt()Lit un entier 32-bit depuis le fichier et le retourne au script. Ceci vous permet de lire depuis des fichiers créés par d'autres programmes, cependant ceci devrait être réservé aux utilisateurs experts.
Exemple :
int nombre;
File *entree = File.Open("stats.txt", eFileRead);
nombre = entree.ReadRawInt();
entree.Close();
lira un entier depuis le fichier stats.txt et le mettra dans la variable nombre.Voir Aussi : File.ReadStringBack, File.ReadRawChar
String File.ReadRawLineBack()Lit une ligne de texte brut depuis le fichier et la retourne. Ceci vous permet de lire les lignes d'un fichier et de les utiliser dans votre jeu.
NOTE : cette commande vous permet seulement de lire des lignes de texte brut depuis des fichiers texte. Si vous essayez de l'utiliser avec des fichiers binaires ou des fichiers écrits avec des commandes comme WriteString, WriteInt, etc. alors les résultats sont imprévisibles.
Exemple :
File *entree = File.Open("erreur.log", eFileRead);
if (entree != null) {
while (!entree.EOF) {
String ligne = entree.ReadRawLineBack();
Display("%s", ligne);
}
entree.Close();
}
affichera le contenu du fichier 'erreur.log', s'il existe.Voir Aussi : File.WriteRawLine
String File.ReadStringBack()Lit une chaîne de caractères depuis un fichier précédemment ouvert avec File.Open, et la retourne. Vous ne devriez utiliser cette commande qu'avec les fichiers écrits avec File.WriteString. N'utilisez PAS cette fonction avec d'autres fichiers, même des fichiers texte.
Exemple :
File *entree = File.Open("test.dat", eFileRead);
String buffer = entree.ReadStringBack();
entree.Close();
ouvrira le fichier test.dat (dans lequel vous aviez précédemment écrit avec File.WriteString) et
lira une chaîne pour la stocker dans buffer. Puis fermera le fichier.Voir Aussi : File.Open, File.WriteString
File.WriteInt(int valeur)Ecrit VALEUR dans le fichier. Ceci vous permet de sauver le contenu d'une variable sur le disque. Le fichier doit au préalable avoir été ouvert avec File.Open, et vous pourrez retrouver la valeur avec File.ReadInt.
Exemple :
int nombre = 6;
File *sortie = File.Open("stats.dat", eFileWrite);
sortie.WriteInt(nombre);
sortie.Close();
ouvrira le fichier stats.dat et y écrira l'entier nombre.Voir Aussi : File.ReadInt, File.WriteString
File.WriteRawChar(int valeur)Ecrit un simple caractère dans le fichier spécifié, en mode brut de façon à ce que les autres applications puissent aussi le lire. Si vous créez un fichier dans l'intention de le réutiliser uniquement dans votre jeu, préférez plutôt File.WriteInt, puisque cette commande est plus stable. N'utilisez cette fonction que si vous devez partager le fichier avec d'autres applications.
Cette commande écrit un simple octet dans le fichier de sortie, ainsi, VALEUR doit contenir une valeur allant de 0 à 255.
Exemple :
File *sortie = File.Open("sortie.txt", eFileWrite);
sortie.WriteRawChar('A');
sortie.WriteRawChar('B');
sortie.WriteRawChar(13);
sortie.Close();
écrira le texte "AB", suivi d'un retour charriot (saut de ligne), dans le fichier.Voir Aussi : File.ReadRawChar, File.WriteInt
File.WriteRawLine(string texte)Ecrit du texte dans le fichier en format texte brut. Ceci vous permet de le lire avec Notepad ou un autre éditeur de texte. Cette commande est utile pour générer des logs ou autres fichiers du genre.
Le TEXTE sera écrit dans le fichier, suivi des caractères standard annonçant une nouvelle ligne.
Exemple :
File *sortie = File.Open("erreur.log", eFileAppend);
sortie.WriteRawLine("Une erreur est survenue en jouant son1.wav");
sortie.Close();
écrira une ligne d'erreur dans le fichier erreur.log.Voir Aussi : File.ReadRawLineBack, File.WriteString
File.WriteString(string texte)Ecrit TEXTE dans le fichier, qui doit avoir été au préalable ouvert avec File.Open. La chaîne de texte est écrite dans un format particulier, qui ne peut être lu en retour qu'en utilisant File.ReadStringBack.
Exemple :
File *sortie = File.Open("temp.tmp", eFileWrite);
if (sortie == null) Display("Erreur d'ouverture du fichier.");
else {
sortie.WriteString("chaîne de test");
sortie.Close();
}
ouvrira le fichier temp.tmp pour écriture. Si le fichier ne peut être créé, affichera
un message d'erreur. Sinon, la chaîne "chaîne de test" sera écrite puis le fichier fermé.Voir Aussi : File.ReadStringBack, File.Open, File.WriteRawLine
readonly bool File.EOFVérifie si le fichier spécifié a été entièrement lu. Ceci est utile uniquement avec les fichiers ouverts pour lecture. Retourne 1 lorsque tout le contenu du fichier a été lu, sinon 0
Exemple :
File *entree = File.Open("test.dat", eFileRead);
while (!entre.EOF) {
int temp = entree.ReadRawChar();
Display("%c", temp);
}
entree.Close();
affichera chaque caractère du fichier test.dat, un par un, à l'écran.Voir Aussi : File.Error, File.Open, File.ReadStringBack
readonly bool File.ErrorVérifie si une erreur est survenue en lisant depuis le fichier spécifié ou en écrivant dedans.
Une erreur peut survenir si, par exemple, vous dépssez l'espace disque disponible ou si l'utilisateur retire le disque depuis lequel le fichier est utilisé.
Cette fonction vérifie uniquement les erreurs survenue en lisant/écrivant des données. La fonction File.Open retournera null si une erreur est survenue en ouvrant ou en créant le fichier.
Pour savoir si toutes les données ont été lues depuis un fichier, utilisez plutôt EOF.
Exemple :
File *sortie = File.Open("test.dat", eFileWrite);
sortie.WriteInt(51);
if (sortie.Error) {
Display("Erreur en écrivant la donnée !");
}
sortie.Close();
écrira un nombre dans le fichier 'test.dat', et affichera un message s'il y a un problème.Voir Aussi : File.EOF, File.ReadStringBack