Bonjour à toutes et à tous...
J'aurais besion de simplifier cette procédure si c'est possible.
comment peut-on faire pour eviter de déclarer les variables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 procedure TFSociete.FormCreate(Sender: TObject); Var xLabel: TLabel; xGrpBox: TJvGroupBox; xTabsheet: TTabSheet; begin With DataModule1.ADOQry do Begin Try Try SQL.Clear; SQL.Add('Select * From SysFiches '); SQL.Add('Where Fiche= :xFiche'); Parameters.ParamByName('xFiche').Value := Self.Name; Open; While not eof do Begin if Fields.FieldByName('Composant').AsString = 'Tlabel' then Begin xLabel := TLabel(Self.FindComponent(Fields.FieldByName('Name').AsString)); if Assigned(xLabel) then xLabel.Caption := Fields.FieldByName('Libelle').AsString; end else if Fields.FieldByName('Composant').AsString = 'Tform' then Self.Caption := Fields.FieldByName('Libelle').AsString else if Fields.FieldByName('Composant').AsString = 'TjvGroupBox' then Begin xGrpBox := TJvGroupBox(Self.FindComponent(Fields.FieldByName('Name').AsString)); if Assigned(xGrpBox) then xGrpBox.Caption := ' '+Fields.FieldByName('Libelle').AsString+' '; end else if Fields.FieldByName('Composant').AsString = 'TTabSheet' then Begin xTabsheet := TTabSheet(Self.FindComponent(Fields.FieldByName('Name').AsString)); if Assigned(xTabsheet) then xTabsheet.Caption :=Fields.FieldByName('Libelle').AsString; end; next; end; Except on E : Exception do Begin ShowMessage('Mon Message d''erreur '); End; end; finally Close; end; end; // ... end;
xLabel: TLabel;
xGrpBox: TJvGroupBox;
xTabsheet: TTabSheet;
en simplifiant en une variable, est-ce possible ?
En fait je suis obligé de faire 4 tests car le type Tlabel, TJvGroupBox, TTabsheet ou TForm n'est pas le même
if Fields.FieldByName('Composant').AsString = 'Tlabel'
if Fields.FieldByName('Composant').AsString = 'Tform'
if Fields.FieldByName('Composant').AsString = 'TjvGroupBox'
if Fields.FieldByName('Composant').AsString = 'TTabSheet'
Pourrait-on imaginer :
if Fields.FieldByName('Composant').AsString = Composant trouver sur la fiche
etc..
Merci de votre aide...
Partager