File et tableau de record - Delphi/Pascal - Programmation
Marsh Posté le 12-03-2006 à 12:16:00
J'ai fait la procedure mais elle fait fermer le programme :
TYPE
Citation : |
Procedure :
Citation : |
Code d'appel :
Citation : |
Je n'ai pas trouvé pourquoi ça plante.
Marsh Posté le 13-03-2006 à 11:18:13
Suivant la version du pascal utilisée tu peut, ou non, lire et écrire un string dans un fichier(il y a un string dans ton record)
Dans les "vieu" pascal, un string est un tableau de 256 octect => pas de problème. Mais en Delphi, et je supose dans d'autres version, c'est un pointeur. Si l'enregistre, tu ne fait qu'enregistrer une adresse mèmoire(un mot de 16 ou 32 bits). Quand tu la lit, cela vas crèer un pointeur pointant vers l'adresse sauvegardé... Qui n'est certainement pas libre.
Solution : remplace la déclaration "nom : string;" par "nom : string[255];"
Quand à sauvegarder un tableau de taille fixe, je pense que ça ne pose pas de problème.
Marsh Posté le 11-03-2006 à 13:51:11
Bonjour.
En pascal, puis-je écrire dans un file de type file of un tableau de record comme ceci :
write(file, tableau[i]);
ou bien dois-je faire :
write(file, tableau[i].record1);
write(file, tableau[i].record2);
write(file, tableau[i].record2);
?
Sachant que le fichier est typé pour avoir les records.
Merci d'avance.
Siron
Message édité par Siron le 11-03-2006 à 13:51:45