1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
|
{ ================== initialisation des variables ==========================}
procedure Tfmprinc.FormCreate(Sender: TObject);
begin
fonctionencours := false;
connection := false;
a:=0; {variable de la valeur des sorties}
timer3.Enabled:=false;
GB_Sdigital.Visible:= true;
GB_eanalog.Visible:= false;
groupbox1.Visible:= false;
led1:= tswitchled.Create(self);
with led1 do
begin
left := 120;
top := 100;
oncolor := lcgreen;
offcolor :=lcblack;
ledstate :=lsoff;
parent := gbconnect
end;
end;
{============================ lecture des parametres ===============}
procedure Tfmprinc.Button1Click(Sender: TObject);
begin
lirePrapport( varparam) ;
with varparam do
begin
if P_rdebut then showmessage('Rdebut');
Frapport.cbdebut.checked := P_Rdebut;
Frapport.cbfin.checked := p_Rfin;
Frapport.cbcode.checked := P_Rcode;
Frapport.cbentree.checked := P_Rentree;
Frapport.cbmail.checked := P_Rmail;
end;
end;
{============================= enregistrement des parametres ================}
procedure Tfmprinc.Button2Click(Sender: TObject);
begin
with varparam do
begin
P_Rdebut := Frapport.cbdebut.checked ;
p_Rfin := Frapport.cbfin.checked ;
P_Rcode :=Frapport.cbcode.checked ;
P_Rentree :=Frapport.cbentree.checked ;
P_Rmail := Frapport.cbmail.checked ;
end;
ecrirePrapport( varparam) ;
end;
{================== deconnection à la fermeture =========================}
procedure Tfmprinc.FormDestroy(Sender: TObject);
begin
Closedevice;
end;
unit parametres;
interface
uses
alerte,rapport,sysutils,dialogs,k8055;
type
Tparametres = record
P_Rmail,P_Rdebut,P_Rfin,P_Rentree,P_Rcode,P_ActiveRapport,P_Arme: boolean;
P_CheminRapport,Pexp,Pdest,Psmtp,Pmesage : string;
end;
function lirePrapport(param : Tparametres):boolean;
function ecrirePrapport(param : Tparametres):boolean;
const
ParamFichier = 'c:\CYT\parametres.dat';
ParamDossier ='c:\CYT';
var
varParam: tparametres;
Fparam : File;
nbtrans,verifNbOctet:integer;
implementation
{================= ouvrir fichier ==============================}
function ouvrirfichier ( var F: file; NomFichier : string): boolean;
{vrai si ouverture sans probleme}
begin
{$i-}
Assignfile(F,nomfichier); // ouverture
if fileexists (nomfichier) then reset (F,1)
else rewrite (f,1);
result := ( IOResult =0);
if not result then
begin
exit;
showmessage ('Echec de l''ouverture du fichier parametres');
end;
seek(F,0); // vidage du fichier
{$i+}
end;
{====================== ferme fichier ================================}
Function FermeFichier ( var F : File) : boolean;
begin
{$i-}
CloseFile (F);//fermeture
result := (IOResult = 0 );
{$i+}
if not Result then
begin
showmessage ( ' echec de la fermeture du fichier parametres');
Exit;
end;
end;
{========================== ecrire element ========================}
Function EcrireElem ( var F : file ; Var elem ; nboctets : integer ) : boolean;
begin
{$i-}
blockwrite (F,elem, nboctets, nbtrans);
result := (IOResult = 0 ) and ( nbtrans = nbOctets);
{$i+}
verifnboctet := nboctets;
end;
{============================= lire element =============================}
Function LireElem ( var F : file ; Var elem ; nboctets : integer ) : boolean;
begin
{$i-}
BlockRead (F,elem, nboctets, nbtrans);
result := (IOResult = 0 ) and ( nbtrans = nbOctets);
{$i+}
verifnboctet := nboctets;
end;
{============================ sortie ===============================}
procedure sortie( pourquoi : string);
begin
showmessage ( 'erreur : ' + pourquoi );
exit;
end;
{=========================== ecrire parametres rapport =====================}
function ecrirePrapport(param : Tparametres):boolean;
begin
result := false ;
if not ouvrirfichier(fparam,paramfichier) then
begin
exit;
showmessage ('echec à l''ouverture du fichier pour ecrire les parametres ' +
'du rapport');
end;
{$I-}
truncate (fparam);
if IOResult <> 0 then
begin
exit;
Showmessage ( ' echec à l''ecriture des parametres du rapport');
end;
{$I-}
with param do
begin
if not ecrireelem( Fparam,P_Rdebut, sizeof(P_Rdebut)) then sortie ( 'ecriture P_debut');
if not ecrireelem( Fparam,P_Rfin, sizeof(P_Rfin)) then sortie ( 'ecriture P_fin');
if not ecrireelem( Fparam,P_Rcode, sizeof(P_Rcode)) then sortie ( 'ecriture P_code');
if not ecrireelem( Fparam,P_Rentree, sizeof(P_Rentree)) then sortie ( 'ecriture P_entreé');
if not ecrireelem( Fparam,P_Rmail, sizeof(P_Rmail)) then sortie ( 'ecriture P_mail');
end;
result:= fermefichier( fparam);
end;
{=========================== lire parametres rapport =====================}
function lirePrapport(param : Tparametres):boolean;
begin
result := false ;
if not ouvrirfichier(fparam,paramfichier) then
begin
exit;
showmessage ('echec à l''ouverture du fichier pour ecrire les parametres ' +
'du rapport');
end;
with param do
begin
if not lireelem( Fparam,P_Rdebut, sizeof(P_Rdebut)) then sortie ( 'ecriture P_debut');
if not lireelem( Fparam,P_Rfin, sizeof(P_Rfin)) then sortie ( 'ecriture P_fin');
if not lireelem( Fparam,P_Rcode, sizeof(P_Rcode)) then sortie ( 'ecriture P_code');
if not lireelem( Fparam,P_Rentree, sizeof(P_Rentree)) then sortie ( 'ecriture P_entreé');
if not lireelem( Fparam,P_Rmail, sizeof(P_Rmail)) then sortie ( 'ecriture P_mail');
end;
result:= fermefichier( fparam);
end;
end. |
Partager