Salut à tous,
Je fais appel aujourd’hui aux pros d’Inform 6, car là j’ai un souci…
J’aimerai écrire et lire un simple fichier texte. Les commandes qui vont bien sont @save pour écrire et @read.
Le DM4 précise :
Et pour ces fameux « byte arrays » :
Alors je souhaiterai enregistrer le contenu de plusieurs variables, mais j’ai du mal à saisir le fonctionnement des « byte array buffer ». Entre les erreurs de compilation, les crashs à l’exécution, voici le seul code que j’ai réussi à produire et qui arrive à écrire quelque chose :
[code]Array players_name → « Frank Booth »;
[Main length R test ;
length = 16;
@save players_name length "test.sav" -> R ;
print "write";
if (R==true)
{
print " ok";
}
else print " error";
print "^^";
@restore test 4 "Þ.AUX" -> R ;
if (R==true)
{
print " read ok";
}
else print " read error";
];
[/code]
Le résultat est un fichier au nom étrange (« Þ.AUX ») de 16 octets (logique) qui contient une lettre sur deux de ma chaîne et le reste des caractères d’erreur (caractères non visibles ici) :
F r a n k B o
Et ce fichier n’est pas lisible par la méthode @restore. A l’exécution j’ai bien read ok mais j’ai un write error.
J’ai regardé le code des fonctions lecture et sauvegarde des librairies I6, mais bien qu’elles contiennent un @save et @restore le tableau d’octet qu’elles prennent en paramètre n’est pas construit dans la méthode, et je n’ai pas trouvé comment il l’était.
Des idées ?
Merci !