Pascal : et oui, sa exist encore ...

Fermé
xivix Messages postés 18 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 27 décembre 2010 - 21 mai 2008 à 13:51
 KX - 30 mai 2008 à 23:43
Bonjour,

Donc voilà j'ai un petit problème, me faudrais réaliser se petit programme :

1 - ecrite a l'écran : " donner votre code "
2 - lire le code
3 - si le code est egal a "azerty" :
a - Effacer le fichier TEXTE.TXT
b - Ecrire "fichier effacer"
4 - Si le code est mauvais :
a - Ecrire "Code erroner, le fichier et sauver"
5 - QUITER

¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

PROGRAM TEXTE;

USES
Dos,Crt,

VAR
Code char;

Begin
Writeln('Code?');
Readln(Code);
If Code := 'azerty';
begin
{JE NE SAIS PAS SUPPRIMER UN FICHIER}
Writeln('fichier effacer');
END;
else
begin
Writln('Code erroner, le fichier et sauver');
END;
END.

¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

Déjà Ce programme "rikiki" ne marche pas, je ne sais pas effacer un fichier et je ne sais pas si le type char pour le code et le type le mieux aproprié.

Merci d'avance de votre aide.

Xivix


PS : le fichier TEXTE.TXT se trouve dans "C:\TP7\TEXTE\TEXTE.TXT"
A voir également:

2 réponses

Bonjour xivix,

Le language pascal je m'y connait pas trop mais j'espère que quelqu'un pourra apporter son aide ;)
0
Peut etre que oui sur le forum Pascal
0
Pour supprimer un fichier à un chemin d'accès donné (le nom physique du fichier)
Il faut d'abord avoir une variable (le nom logique du fichier) de type 'file of ...' ou 'text'
Puis on assigne le nom logique au nom physique avec 'assign(nom_logique,nom_physique);'
Enfin on utilise 'erase(nom_logique);'

Ensuite le type char est en effet in-approprié ici, car il n'est utilisé que pour les caractères.
Il faut ici utiliser un type string, malheureusement pour toi c'est loin d'être la seule erreur dans ton code.

Voici un code correct (sur Dev-Pas) répondant au problème, tu remarquera qu'il est inutile de mettre 'uses dos,crt;'

program texte;

const Chemin='C:\TP7\TEXTE\TEXTE.TXT';
Code='azerty';
Eaigu=char(130); // pour la présentation et le respect de la langue française ;-)

procedure SuppressionAvecConfirmation;
var s:string;
var f:text;
begin
writeln('Code de suppression ?');
readln(s);
writeln;
if s=Code
then begin
assign(f,Chemin); // Si le fichier est déjà effacé, le programme s'arrête
erase(f);
writeln('Fichier effac',Eaigu);
end
else writeln('Code ',Eaigu,'rron',Eaigu,', le fichier est sauv',Eaigu);
end;

begin
SuppressionAvecConfirmation;
writeln;
writeln('Fin du programme. Appuyer sur une touche.');
readln;
end.

Normalement ça devrait être bon...
0