Relance sur les fichiers en Pascal
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Relance sur les fichiers en Pascal



  1. #1
    dalfred

    Relance sur les fichiers en Pascal


    ------

    Bonjour,

    Après avoir cherché je n'ai toujours pas trouvé comment stocker des informations sur un fichier en Pascal pour que la personne utilisant mon programme n'est pas à chaque fois à rentrer des données fixes pour son hotel (travail sur gestion hotel), si quelqu'un sait, merci de me répondre.

    Au revoir.

    -----

  2. #2
    whoami

    Re : Relance sur les fichiers en Pascal

    Bonjour,

    Très clair comme demande.

    Sais-tu utiliser les fichiers avec Pascal ?

    Et si tu nous montrais ton code, qu'on puisse voir ce qui se passe (car en l'état, avec aucune ligne de code, les boules de cristal peinent à trouver).

    Si ton message fait référence à un autre sujet que tu aurais ouvert, la meilleure solution était de le poursuivre, et une autre moins bonne était de nous mettre un lien vers le sujet en question.

    Bref, tu as choisis la plus mauvaise solution.

  3. #3
    invite0f0afca1

    Re : Relance sur les fichiers en Pascal

    Citation Envoyé par dalfred Voir le message
    Bonjour,

    Après avoir cherché je n'ai toujours pas trouvé comment stocker des informations sur un fichier en Pascal pour que la personne utilisant mon programme n'est pas à chaque fois à rentrer des données fixes pour son hotel (travail sur gestion hotel), si quelqu'un sait, merci de me répondre.

    Au revoir.
    Salut,

    Si ce sont des données fixes, tu peux les mettre dans le code directement. A moins qu'elles changent quand même de temps en temps

    Pascal c'est vague. A priori, c'est plutôt un problème de library que de langage, donc sans dire les outils que tu utilises, difficile de t'aider

  4. #4
    dalfred

    Re : Relance sur les fichiers en Pascal

    Bonsoir,

    J'ai un soucis avec ce programme, ca fait deux semaines que je cherche mais je n'ai pas trouvé et personne me donne de solution, mon but étant de sauvegarder les données sur un fichier ( des données qui pour un hotel ne changeront pas), pour que cela évite de rentrer à nouveaux ces données quand on quitte le programme et qu'on revient dessus. Comme compilateur j utilise geany, mais le programme compile bien, le fichier est aussi créé mais les données ne sont pas toutes écrites.

    Voici:

    Code:
    program enregistrementdonnees;
    
    const
    MAX=100;
    type 
    classeChambre=array[1..MAX] of integer;
    var
    Tab : classeChambre;
    x, n, y, i : integer;
    
    procedure enregistrementTexte( var Tab : classeChambre ; nomFichier : String );
    var
    	fichierTexte : Text ;
    begin
    			
    			writeln('Quel est le nombre de chambres de l hotel ?  ');
    			Readln(n);
    		
    			writeln('Combien y a t-il de types de chambres ?   ');
    			Readln(x);
    		
    			writeln('Quel est le nombre de services que propose l hotel ?   ');
    			Readln(y);
    	
    			assign ( fichierTexte , nomFichier );
    			rewrite ( fichierTexte );
    			
    		for i:=1 to n do
    		begin
    		
    			writeln('Veuillez préciser la classe de la chambre n°',i);
    			readln(Tab[i]);
    	
    		end;
    
    			write ( fichierTexte , Tab[i] );
    			close ( fichierTexte )
    end ;
    
    
    begin
    	enregistrementTexte(Tab , ' quaranteDeux . txt ' );
    end .


    Merci, au revoir.

  5. A voir en vidéo sur Futura
  6. #5
    dalfred

    Re : Relance sur les fichiers en Pascal

    petite modif à la fin

    Code:
    program enregistrementdonnees;
    
    const
    MAX=100;
    type 
    classeChambre=array[1..MAX] of integer;
    var
    Tab : classeChambre;
    x, n, y, i : integer;
    
    procedure enregistrementTexte( var Tab : classeChambre ; nomFichier : String );
    var
    	fichierTexte : Text ;
    begin
    			
    			writeln('Quel est le nombre de chambres de l hotel ?  ');
    			Readln(n);
    		
    			writeln('Combien y a t-il de types de chambres ?   ');
    			Readln(x);
    		
    			writeln('Quel est le nombre de services que propose l hotel ?   ');
    			Readln(y);
    	
    			assign ( fichierTexte , nomFichier );
    			rewrite ( fichierTexte );
    			
    		for i:=1 to n do
    		begin
    		
    			writeln('Veuillez préciser la classe de la chambre n°',i);
    			readln(Tab[i]);
    	
    		end;
    			
    			write (fichierTexte , n );
    			write (fichierTexte , x);
    			write (fichierTexte , y);
    
    			write ( fichierTexte , Tab[i] );
    			close ( fichierTexte )
    end ;
    
    
    begin
    	enregistrementTexte(Tab , ' quaranteDeux . txt ' );
    end .
    Dernière modification par dalfred ; 27/11/2012 à 17h35.

  7. #6
    invite0f0afca1

    Re : Relance sur les fichiers en Pascal

    Citation Envoyé par dalfred Voir le message
    petite modif à la fin

    Code:
    program enregistrementdonnees;
    
    const
    MAX=100;
    type 
    classeChambre=array[1..MAX] of integer;
    var
    Tab : classeChambre;
    x, n, y, i : integer;
    
    procedure enregistrementTexte( var Tab : classeChambre ; nomFichier : String );
    var
    	fichierTexte : Text ;
    begin
    			
    			writeln('Quel est le nombre de chambres de l hotel ?  ');
    			Readln(n);
    		
    			writeln('Combien y a t-il de types de chambres ?   ');
    			Readln(x);
    		
    			writeln('Quel est le nombre de services que propose l hotel ?   ');
    			Readln(y);
    	
    			assign ( fichierTexte , nomFichier );
    			rewrite ( fichierTexte );
    			
    		for i:=1 to n do
    		begin
    		
    			writeln('Veuillez préciser la classe de la chambre n°',i);
    			readln(Tab[i]);
    	
    		end;
    			
    			write (fichierTexte , n );
    			write (fichierTexte , x);
    			write (fichierTexte , y);
    
    			write ( fichierTexte , Tab[i] );
    			close ( fichierTexte )
    end ;
    
    
    begin
    	enregistrementTexte(Tab , ' quaranteDeux . txt ' );
    end .
    Salut,

    La partie en rouge ne sauve que l'element "n" de Tab (ou n+1, je sais pas). Il faut faire une boucle comme pour le readln
    Code:
    		for i:=1 to n do
    		begin
    			writeln(fichierTexte , Tab[i]);
    		end;
    Aussi, les premiers devrait être des "writeln" probablement. Sinon, ne tu pourras pas séparer les variables quand tu vas relire le fichier.

  8. #7
    dalfred

    Re : Relance sur les fichiers en Pascal

    Merci, par contre si je veux que mon programme relise automatiquement les données de ce fichier, comment dois je faire ?
    Le mieux serait de mettre les données dans un tableau dans lequel chaque case contient une valeur mais ca aussi je sais pas faire (pour stocker une donnée par exemple nombre de chambre dans la cellule de coordonnées A;1), a moins que ayez une meilleure méthode ?

  9. #8
    invite0f0afca1

    Re : Relance sur les fichiers en Pascal

    Citation Envoyé par dalfred Voir le message
    Merci, par contre si je veux que mon programme relise automatiquement les données de ce fichier, comment dois je faire ?
    Le mieux serait de mettre les données dans un tableau dans lequel chaque case contient une valeur mais ca aussi je sais pas faire (pour stocker une donnée par exemple nombre de chambre dans la cellule de coordonnées A;1), a moins que ayez une meilleure méthode ?
    Vu le faible nombre de données, les 3 premières dans des integers individuels avec un nom parlant de préférence. Et pour les "classe de numéro de chambre", un tableau me parait adapté.

    Pour lire, c'est pareil : Un truc du genre Readln(fichierText, y);. La valeur dans lue dans fichierTexte est sauvée dans la variable "y". Fais 2 ou 3 essais pour comprendre comment la lecture fonctionne, c'est assez simple.

  10. #9
    dalfred

    Re : Relance sur les fichiers en Pascal

    J'ai essayé de faire ca mais ca ne marche pas (ca compile mais à l execution runtime error)


    Code:
    program enregistrementdonnees;
    const
    MAX=100;
    type 
    classeChambre=array[1..MAX] of integer;
    var
    Tab : classeChambre;
    x, n, i : integer;
    
    procedure enregistrementTexte( var Tab : classeChambre ; nomFichier : String );
    var
    	fichierTexte : Text ;
    begin
    			
    			writeln('Quel est le nombre de chambres de l hotel ?  ');
    			Readln(n);
    		
    			writeln('Combien y a t-il de classes de chambres ?   ');
    			Readln(x);
    	
    			assign ( fichierTexte , nomFichier );
    			rewrite ( fichierTexte );
    			
    		for i:=1 to n do
    		begin
    		
    			writeln('Veuillez préciser la classe de la chambre n°',i);
    			readln(Tab[i]);
    	
    		end;
    			
    			writeln (fichierTexte , n );
    			writeln (fichierTexte , x);
    			
    			for i:=1 to n do
    				begin
    					writeln(fichierTexte , Tab[i]);
    				end;
    					close ( fichierTexte )
    end;
    
    procedure lireFichier( var x,n : integer);
    var fichierTexte : Text;
    
    begin
    	readln(fichierTexte , n);
    	readln(fichierTexte, x);
    	writeln(n);
    	writeln(x);
    	
    end;
    
    begin
    	enregistrementTexte(Tab , ' quaranteDeux.txt ' );
    	lireFichier(x, n);
    end.

  11. #10
    invite0f0afca1

    Re : Relance sur les fichiers en Pascal

    Citation Envoyé par dalfred Voir le message
    J'ai essayé de faire ca mais ca ne marche pas (ca compile mais à l execution runtime error)


    Code:
    program enregistrementdonnees;
    const
    MAX=100;
    type 
    classeChambre=array[1..MAX] of integer;
    var
    Tab : classeChambre;
    x, n, i : integer;
    
    procedure enregistrementTexte( var Tab : classeChambre ; nomFichier : String );
    var
    	fichierTexte : Text ;
    begin
    			
    			writeln('Quel est le nombre de chambres de l hotel ?  ');
    			Readln(n);
    		
    			writeln('Combien y a t-il de classes de chambres ?   ');
    			Readln(x);
    	
    			assign ( fichierTexte , nomFichier );
    			rewrite ( fichierTexte );
    			
    		for i:=1 to n do
    		begin
    		
    			writeln('Veuillez préciser la classe de la chambre n°',i);
    			readln(Tab[i]);
    	
    		end;
    			
    			writeln (fichierTexte , n );
    			writeln (fichierTexte , x);
    			
    			for i:=1 to n do
    				begin
    					writeln(fichierTexte , Tab[i]);
    				end;
    					close ( fichierTexte )
    end;
    
    procedure lireFichier( var x,n : integer ; nomFichier : String );
    
    begin
    	assign ( fichierTexte , nomFichier );
    	reset ( fichierTexte );
    
    	readln(fichierTexte , n);
    	readln(fichierTexte, x);
           
           close(fichierTexte);
    	
    end;
    
    begin
    	enregistrementTexte(Tab , ' quaranteDeux.txt ' );
    	lireFichier(x, n, ' quaranteDeux.txt ' );
    end.
    FichierTexte n'est pas correctement initialisé. Essaie avec les corrections que j'ai ajouté. Il faudra que tu ajoute la lecture des autres valeurs.

Discussions similaires

  1. Les fichiers sur Turbo Pascal
    Par invitedf36b67c dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 01/11/2010, 14h57
  2. Votre avis SVP sur les fichiers uninstall
    Par roro123 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 18/07/2008, 17h13
  3. clic droit impossible sur les fichiers.
    Par invite1f490b64 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 15/02/2008, 19h30
  4. fichiers en pascal sous lazarus
    Par invite66fa5dc5 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 22/03/2007, 05h28
  5. SVP besoin de précisions sur les fichiers cachés
    Par roro123 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 28/09/2006, 13h50