UNIT Ucfgprts; {----------------------------------------------------------------------------- NOM DE L'UNITE : UCFGPRTS.PAS BUT : Configuration des ports du PPI 8255 en entrée ou en sortie AUTEUR : Stéphane Claus DATE : Décembre 1996 MODIFIE LE : 12.04.1997 - EDT:01 RAISON : - Ajout de commentaires REMARQUES : -----------------------------------------------------------------------------} {=============================================================================} INTERFACE {============================================== I N T E R F A C E } {=============================================================================} USES SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, DigDisp, StdCtrls, Buttons, ExtCtrls; TYPE TfrmCfgPorts = CLASS(TForm) digdspTitre: TDigitalDisplay; bitbtnOK: TBitBtn; bitbtnAide: TBitBtn; rgrpPortA: TRadioGroup; rgrpPortB: TRadioGroup; rgrpPortC: TRadioGroup; bitbtnCancel: TBitBtn; PROCEDURE FormActivate(Sender: TObject); PROCEDURE bitbtnOKClick(Sender: TObject); PRIVATE { Private-déclarations } PUBLIC { Public-déclarations } END; {CLASS} VAR frmCfgPorts: TfrmCfgPorts; {=============================================================================} IMPLEMENTATION {================================= I M P L E M E N A T I O N } {=============================================================================} {$R *.DFM} USES UPrincpl, VCL8255; PROCEDURE TfrmCfgPorts.FormActivate(Sender: TObject); {----------------------------------------------------------------------------- BUT ........... : Initialisation de la fiche en fonction des paramètres actuels du programme ENTREE ........ : -- SORTIE ........ : -- EFFETS DE BORDS : -- REMARQUE(S) ... : -- -----------------------------------------------------------------------------} BEGIN Caption := Application.Title; { Titre de la fenêtre } IF debugmode THEN BEGIN { Couleur de la fenêtre et des contrôles } Color := debugcolor; END {IF} ELSE BEGIN Color := clBtnFace; END; {ELSE} bitbtnOK.ShowHint := affichehint; { Affichage des Hint ? } bitbtnAide.ShowHint := affichehint; rgrpPortA.ShowHint := affichehint; rgrpPortB.ShowHint := affichehint; rgrpPortC.ShowHint := affichehint; CASE frmMain.PPI8255.ModePortA OF { Init. en f(x) des paramètres du prog. } mpIndefini : rgrpPortA.ItemIndex := -1; mpEntree : rgrpPortA.ItemIndex := 0; mpSortie : rgrpPortA.ItemIndex := 1; END; {CASE OF} CASE frmMain.PPI8255.ModePortB OF mpIndefini : rgrpPortB.ItemIndex := -1; mpEntree : rgrpPortB.ItemIndex := 0; mpSortie : rgrpPortB.ItemIndex := 1; END; {CASE OF} CASE frmMain.PPI8255.ModePortC OF mpIndefini : rgrpPortC.ItemIndex := -1; mpEntree : rgrpPortC.ItemIndex := 0; mpSortie : rgrpPortC.ItemIndex := 1; END; {CASE OF} END; {PROCEDURE FormActivate} PROCEDURE TfrmCfgPorts.bitbtnOKClick(Sender: TObject); {----------------------------------------------------------------------------- BUT ........... : Prend en compte les choix des utilisateurs et configure le PPI en fonction de ces choix ENTREE ........ : -- SORTIE ........ : -- EFFETS DE BORDS : -- REMARQUE(S) ... : -- -----------------------------------------------------------------------------} BEGIN IF NOT debugmode THEN BEGIN CASE rgrpPortA.ItemIndex OF -1 : frmMain.PPI8255.ModePortA := mpIndefini; 0 : frmMain.PPI8255.ModePortA := mpEntree; 1 : frmMain.PPI8255.ModePortA := mpSortie; END; {CASE OF} CASE rgrpPortB.ItemIndex OF -1 : frmMain.PPI8255.ModePortB := mpIndefini; 0 : frmMain.PPI8255.ModePortB := mpEntree; 1 : frmMain.PPI8255.ModePortB := mpSortie; END; {CASE OF} CASE rgrpPortC.ItemIndex OF -1 : frmMain.PPI8255.ModePortC := mpIndefini; 0 : frmMain.PPI8255.ModePortC := mpEntree; 1 : frmMain.PPI8255.ModePortC := mpSortie; END; {CASE OF} END; {IF} END; {PROCEDURE bitbtnOKClick} {=============================================================================} { INITIALISATIONS ------------------------------------------- Initialisations } {=============================================================================} INITIALIZATION END. {UNIT Ucfgprts}