S'enregistrerS'enregistrer RechercherRechercher FAQFAQ ConnexionConnexion
26-11-2002

 
Poster un nouveau sujet   Répondre au sujet    Teamatic.net Index du Forum -> Travaux de groupes
Message Auteur
MessagePosté le: 26 11 2002 20:23    Sujet du message: J'espère que celui là fonctionne!!

Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
const LongNp = 30;
      NomBinaire = 'c:\Metrique.Bin';

type Chaine = STRING [LongNp];
     Personne = RECORD
                  NomPre : Chaine;
                  Sexe : CHAR;
                  Taille, Poids : REAL;
                END;
     FichBin = FILE OF Personne;

var F: FichBin;

procedure Creer (VAR F : FichBin);

const NomTexte = 'c:\Imperial.txt';
      Facteur1 = 0.3048;
      Facteur2 = 0.453592;

var UnePers : Personne;
    Donnes : TextFile;
    Jr, Ms, An, NbPieds, NbPouces, NbLivres : INTEGER;

BEGIN
  AssignFile (Donnes, NomTexte);
  RESET (Donnes);

  AssignFile (F, NomBinaire);
  REWRITE (F);

  WHILE NOT EOF (Donnes) DO
     BEGIN
       WITH UnePers DO
          BEGIN
            READLN(Donnes, NomPre, Jr, Ms, An, NbPieds, NbPouces, NbLivres);
            IF Ms > 50 THEN
               Sexe := 'F'
            ELSE
              Sexe:='M';
            Taille :=(NbPieds + NbPouces/12) * Facteur1;
            Poids := NbLivres*Facteur2
          END;
       WRITE(F, UnePers)
     END;
     CloseFile(F);
END;

procedure Affichercontenu (VAR F : FichBin);

const ParEcran = 20;
var UnePers : Personne;
          N : INTEGER;
BEGIN
  AssignFile (F, NomBinaire);
  RESET(F);
  N:=0;
  WHILE NOT EOF(F) DO
     BEGIN
        N:=n+1;
        READ(F, UnePers);
        WITH UnePers DO
            WRITELN(n:3,')', nOMpRE, sEXE:2, tAILLE:7:2, pOIDS:6:1);
            IF (n MOD ParEcran=0) OR EOF(F) THEN
               BEGIN
                 WRITE('Appuyez sur la touche Entree');
                 READLN;
               END;
        END;
        CloseFile(F)
    END;


function PlusGrande (VAR F:FichBin; LeSexe:CHAr; Code:INTEGER):REAL;
var PG:REAL;
    UnePers:Personne;

BEGIN
    AssignFile(F, NomBinaire);
    RESET(F);
    PG:=0.0;
    WHILE NOT EOF (F) DO
        BEGIN
           READ(F, UnePers);
           WITH UnePers DO
              IF Sexe = LeSexe THEN
                 IF (Code=1) AND (Taille > PG) THEN
                     PG:=Taille
                 ELSE IF (Code=2) AND (Poids > PG) THEN
                    PG:=Poids;
           END;
           PlusGrande:=PG
END;

BEGIN
  Creer(F);
  AfficherContenu(F);
  WRITELN ('Dans le fichier ', NomBinaire, ':');
  WRITELN;
  WRITELN('La taille la plus grande des femmes: ', PlusGrande (F,'F',1):6:2, 'metres');
  WRITELN('La taille la plus grande des hommes: ', PlusGrande (F,'M',1):6:2, 'metres');
  WRITELN;
  WRITELN;
  WRITELN('Le poids le plus lourd des femmes: ', PlusGrande(F,'F',2):6:2, 'Kgr');
  WRITELN('Le poids le plus lourde des hommes: ', PlusGrande(F,'M',2):6:2, 'Kgr');
  WRITELN ('Pour finir tapez ESC');
END;
END.
Vinchenzo
Invité





Revenir en haut
MessagePosté le: 26 11 2002 20:35    Sujet du message:

Consignes:

Sous Delphi 6
- New application
- Option/Linker/ Generate Console application
- wsMinimized
- FormCreate
Coller le code
Tout enregistrer

Créer les fichiers c:\Imperial.txt et c:\Metrique.Bin

Enjoy Wink
Kaizen
Webmaster
Webmaster


Inscrit le: 07 Mar 2002
Messages: 2253
Localisation: Québec, France et ailleurs...

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet Toutes les heures sont au format GMT
Page 1 sur 1

 
 
 
Powered by phpBB © 2001, 2005 phpBB Group - Traduction : phpBB-fr.com
Gzip: Disabled  -  Queries: 15  -  Generation Time: 1.00584 s