Pages traduites Pages à traduire Pages en cours de traduction
A propos
 

Ceci est une ancienne révision du document !


up#gif


Fonctions et propriétés des fichiers (File)

Open

(Formerly known as FileOpen, which is now obsolete)

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é.

Les seules exceptions à cette règle sont les formules spéciales :

$SAVEGAMEDIR$ qui vous permet d'accéder aux fichiers du répertoire de sauvagargde.

$APPDATADIR$ qui vous permet d'écrire/lire des fichiers sur/depuis un dossier du système qui est accessible et partagé par tous les utilisateurs.

IMPORTANT : Sous Windows Vista, si votre jeu est installé dans Program Files alors il est possible que vous ne puissiez pas écrire de fichier dans le répertoire d'installation du jeu. Pour vous assurer que votre jeu n'aura pas de problèmes, écrivez toujours vos fichiers dans le dossier de sauvegarde du jeu ou dans le dossier App Data en utilisant les formules spéciales. Voyez l'exemple ci-dessous.

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 *output = File.Open("$SAVEGAMEDIR$/temp.tmp", eFileWrite);
if (output == null)
  Display("Erreur en ouvrant le fichier.");
else {
  output.WriteString("texte de test");
  output.Close();
}

ouvrira le fichier temp.tmp dans le dossier de sauvegarde du jeu en vue d'écrire dedans. Un message d'erreur sera affiché si le fichier ne peut pas être créé. Sinon, la ligne “texte de test” sera écrite à la fin du fichier puis il sera fermé.

Voir aussi : File.Close, File.Exists, File.ReadStringBack, File.WriteString


Close

(Formerly known as FileClose, which is now obsolete)

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 *output = File.Open("test.dat", eFileWrite);
output.WriteString("test string");
output.Close();

ouvrira le fichier test.dat, écrira la chaîne “texte de test”, et fermera le fichier.

Voir aussi : File.Open


Delete

static File.Delete(string filename)
Supprime le fichier spécifié du disque.

Cette commande ne fonctionne qu'avec les fichiers présents dans le répertoire du jeu. Vous NE pouvez PAS utiliser un chemin, ainsi tout nom de fichier contenant “\” ou ”/” sera automatiquement rejeté, pour des raisons de sécurité.

La seule exception à cette règle est la formule spéciale $SAVEGAMEDIR$, qui vous permet d'accéder aux fichiers du répertoire de sauvagargde. Ceci est particulièrement important depuis le passage à Windows Vista, qui fait que vous n'avez probablement plus accès au dossier principal du jeu. Vous pouvez utiliser la formule SAVEGAMEDIR pour écrire et lire des fichiers dans le répertoire de sauvegarde actuel, où vous pourrez toujours écrire.

NOTE : Ceci est une fonction statique, vous n'avez donc pas besoin d'un pointeur File pour l'utiliser. Voir l'exemple plus bas.

Exemple :
File.Delete("temp.tmp");

supprimera le fichier “temp.tmp” du répertoire du jeu, s'il existait.

Compatibility: Supported by AGS 3.0.1 and later versions.

Voir aussi : File.Exists, File.Open


Exists

static bool File.Exists(string filename)
Vérifie que le fichier spécifié existe sur l'ordinateur.

Cette commande supporte la formule spéciale $SAVEGAMEDIR$, qui vous permet d'accéder aux fichiers du répertoire de sauvagargde. Ceci est particulièrement important depuis le passage à Windows Vista, qui fait que vous n'avez probablement plus accès au dossier principal du jeu.

NOTE: Ceci est une fonction statique, vous n'avez donc pas besoin d'un pointeur File pour l'utiliser. Voir l'exemple plus bas.

Exemple :
if (!File.Exists("temp.tmp"))
{
  File *output = File.Open("temp.tmp", eFileWrite);
  output.WriteString("some text");
  output.Close();
}

créera le fichier “temp.tmp” s'il n'existait pas déjà.

Compatibility: Supported by AGS 3.0.1 and later versions.

Voir aussi : File.Delete, File.Open


ReadInt

(Formerly known as FileReadInt, which is now obsolete)

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 *input = File.Open("stats.dat", eFileRead);
nombre = input.ReadInt();
input.Close();

ouvrira le fichier stats.dat, lira un entier dans nombre et fermera le fichier.

Voir aussi : File.ReadStringBack, File.WriteInt


ReadRawChar

(Formerly known as FileReadRawChar, which is now obsolete)

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 *input = File.Open("stats.txt", eFileRead);
String buffer = String.Format("%c", input.ReadRawChar());
input.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


ReadRawInt

(Formerly known as FileReadRawInt, which is now obsolete)

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 number;
File *input = File.Open("stats.txt", eFileRead);
number = input.ReadRawInt();
input.Close();

lira un entier depuis le fichier stats.txt et le mettra dans la variable nombre.

Voir aussi : File.ReadStringBack, File.ReadRawChar


ReadRawLineBack

(Formerly known as File.ReadRawLine, which is now obsolete)

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 *input = File.Open("error.log", eFileRead);
if (input != null) {
  while (!input.EOF) {
    String line = input.ReadRawLineBack();
    Display("%s", line);
  }
  input.Close();
}

affichera le contenu du fichier 'erreur.log', s'il existe.

Voir aussi : File.WriteRawLine


ReadStringBack

(Formerly known as FileRead, which is now obsolete) (Formerly known as File.ReadString, which is now obsolete)

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 *input = File.Open("test.dat", eFileRead);
String buffer = input.ReadStringBack();
input.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


WriteInt

(Formerly known as FileWriteInt, which is now obsolete)

File.WriteInt(int value)

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 number = 6;
File *output = File.Open("stats.dat", eFileWrite);
output.WriteInt(number);
output.Close();

ouvrira le fichier stats.dat et y écrira l'entier nombre.

Voir aussi : File.ReadInt, File.WriteString


WriteRawChar

(Formerly known as FileWriteRawChar, which is now obsolete)

File.WriteRawChar(int value)

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 *output = File.Open("output.txt", eFileWrite);
output.WriteRawChar('A');
output.WriteRawChar('B');
output.WriteRawChar(13);
output.Close();

écrira le texte “AB”, suivi d'un retour charriot (saut de ligne), dans le fichier.

Voir aussi : File.ReadRawChar, File.WriteInt


WriteRawLine

(Formerly known as FileWriteRawLine, which is now obsolete)

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 *output = File.Open("error.log", eFileAppend);
output.WriteRawLine("There was an error playing sound1.wav");
output.Close();

écrira une ligne d'erreur dans le fichier erreur.log.

Voir aussi : File.ReadRawLineBack, File.WriteString


WriteString

(Formerly known as FileWrite, which is now obsolete)

File.WriteString(string text)

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 *output = File.Open("temp.tmp", eFileWrite);
if (output == null) Display("Error opening file.");
else {
  output.WriteString("test string");
  output.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


EOF

(Formerly known as FileIsEOF, which is now obsolete)

readonly bool File.EOF

Vé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 *output = File.Open("test.dat", eFileRead);
while (!output.EOF) {
  int temp = output.ReadRawChar();
  Display("%c", temp);
}
output.Close();

affichera chaque caractère du fichier test.dat, un par un, à l'écran.

Voir aussi : File.Error, File.Open, File.ReadStringBack


Error

(Formerly known as FileIsError, which is now obsolete)

readonly bool File.Error

Vé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 *output = File.Open("test.dat", eFileWrite);
output.WriteInt(51);
if (output.Error) {
  Display("Error writing the data!");
}
output.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

 
file.1349522314.txt.gz · Dernière modification: 06/10/2012 13:18 par 88.171.39.213
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki