Petit repertoire telephonique en pascal

Contenu du snippet

Ce code est surtout fait pour mettre en évidence la gestion des fichiers et des enregistrements.

Source / Exemple :


program rep;

uses
    crt;
type
    tableau=record
           nom:string;
           numero:string;
    end;
var
   tab:  tableau;
   i,nbperso,choix,erreur:integer;
   fichier:file of tableau;
   fermer:boolean;
begin
     choix:=0;
     fermer:=true;
     while((choix < 1) and (choix<3) ) do begin
                  clrscr;
                  writeln('Création puis écriture : 1');
                  writeln('Lecture : 2');
                  writeln('Ajouter : 3');
                  readln(choix);
     end;
     if choix = 1 then begin
        assign(fichier,'c:\rep.dat');
        rewrite(fichier);
        write('Combien de personnes ?');
        readln(nbperso);
        for i:=1 to nbperso do begin
            with tab do begin
                 write('Quel est le nom ?');
                 readln(nom);
                 write('Quel est le numéro de téléphone ?');
                 readln(numero);
                 write(fichier,tab);
            end;
        end;
end;
if choix = 2 then begin
     assign(fichier,'c:\rep.dat');
     {$I-}
     reset(fichier);
     {$I+}
     erreur:= IOResult;
   if erreur<> 0 then begin
      write('Le fichier n''est pas créé');
      fermer:=false;
   end
   else begin
      while not eof(fichier) do begin
           with tab do begin
                read(fichier,tab);
                write('Nom : ',nom:14);
                write(' Numéro : ',numero:11);
                writeln;
           end;
      end;
    end;
end;
if choix = 3 then begin
   {$I-}
   assign(fichier,'c:\rep.dat');
   reset(fichier);
   {$I+}
   erreur:= IOResult;
   if erreur<> 0 then begin
      write('Le fichier n''est pas créé');
      fermer:=false;
   end
   else begin
        seek(fichier,FileSize(fichier));
        write('Combien de personnes ?');
        readln(nbperso);
        for i:=1 to nbperso do begin
            with tab do begin
                 write('Quel est le nom ?');
                 readln(nom);
                 write('Quel est le numéro de téléphone ?');
                 readln(numero);
                 write(fichier,tab);
            end;
        end;
   end;
end;
     readln;
     if fermer = true then
        close(fichier);
end.

Conclusion :


j'espere que ce code marche car je n'ai pas pu le recompilé et je l'ai obtenu a partir d'un .pas et du bloc-note.
Pour avoir d'autres code ou mise a jour, aller sur mon site :
http://manius.free.fr

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.