start:eti:carte:sources:uquartz
uQuartz.pas5
UNIT Uquartz; {----------------------------------------------------------------------------- NOM DE L'UNITE : UQUARTZ.PAS BUT : Sélection du la fréquence du quartz utilisé sur la carte AUTEUR : Michael Amarantidis / Stéphane Claus DATE : Mars 1997 MODIFIE LE : RAISON : REMARQUES : - Cette fréquence est sauvegardée dans le fichier INI -----------------------------------------------------------------------------} {=============================================================================} INTERFACE {============================================== I N T E R F A C E } {=============================================================================} USES SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, DigDisp, StdCtrls, Buttons, UAlnEdit; TYPE TfrmQuartz = CLASS(TForm) digdspTitre: TDigitalDisplay; bitbtnOK: TBitBtn; bitbtnAide: TBitBtn; grpbxFrequence: TGroupBox; lblHertz: TLabel; aedtFrequence: TAlignEdit; PROCEDURE FormActivate(Sender: TObject); PROCEDURE aedtFrequenceChange(Sender: TObject); PROCEDURE bitbtnOKClick(Sender: TObject); PRIVATE { Private-déclarations } PUBLIC { Public-déclarations } END; {CLASS} VAR frmQuartz: TfrmQuartz; {=============================================================================} IMPLEMENTATION {================================= I M P L E M E N A T I O N } {=============================================================================} {$R *.DFM} USES UPrincpl; PROCEDURE TfrmQuartz.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 } aedtFrequence.ShowHint := affichehint; { Affichage des Hint } { Lit la fréquence actuellement utilisée } aedtFrequence.Text := FloatToStr(frmMain.PIT8254.Quartz); END; {PROCEDURE FormActivate} PROCEDURE TfrmQuartz.aedtFrequenceChange(Sender: TObject); {----------------------------------------------------------------------------- BUT ........... : Test si la fréquence saisie par l'utilisateur est correcte. ENTREE ........ : -- SORTIE ........ : -- EFFETS DE BORDS : Si la fréquence est incorrecte, la zone de saisie devient toute rouge REMARQUE(S) ... : -- -----------------------------------------------------------------------------} VAR Frequence : EXTENDED; BEGIN TRY {-- Lit la fréquence saisie + conversion en un EXTENDED } Frequence := StrToFloat(aedtFrequence.Text); {-- Valeur utilisable ? (enfin, qui ne va pas causer d'erreur lors des divisions futures...) } IF Frequence >= 1 THEN aedtFrequence.Color := clWindow; EXCEPT aedtFrequence.Color := clRed; { Valeur incorrecte: On voit rouge ! } END; {TRY} END; {PROCEDURE aedtFrequenceChange} PROCEDURE TfrmQuartz.bitbtnOKClick(Sender: TObject); {----------------------------------------------------------------------------- BUT ........... : Sauvegarde de la fréquence lors de la fermeture de la fiche (enfin, seulement si on a cliqué sur le bouton OK, mais pas si on a utilisé le menu système) ENTREE ........ : -- SORTIE ........ : -- EFFETS DE BORDS : -- REMARQUE(S) ... : -- -----------------------------------------------------------------------------} VAR Frequence : EXTENDED; BEGIN TRY Frequence := StrToFloat(aedtFrequence.Text); { Lit la fréquence saisie } IF Frequence < 1 THEN Frequence := 1; { Au minimun 1 [Hz] please ! } frmMain.PIT8254.Quartz := Frequence; EXCEPT { Valeur incorrecte, alors on ne la garde pas } END; {TRY} END; {PROCEDURE bitbtnOKClick} {=============================================================================} { INITIALISATIONS ------------------------------------------- Initialisations } {=============================================================================} INITIALIZATION END. {UNIT Uquartz}
start/eti/carte/sources/uquartz.txt · Last modified: 2016/07/24 02:53 by admin