Bonjour,

Non programmeur, j'essaye d'améliorer une procédure à partir d'un vieux Fast report intégré au SIGB, qui travaille notamment avec du Delphi (je précise de suite : format de données propriétaire pas de SQL possible).
Je rencontre actuellement un problème dans un enchaînement if/else if/.../else, il me réclame un BEGIN supplémentaire en dernière ligne que je ne comprends pas.

je ne sais pas s'il s'agit d'un prble de syntaxe tout bête ou si je me plante complètement... J'ai aussi essayé avec un "case of" mais sans plus de succès.

Merci d'avance pour tout conseil...

Olivier
here is the code...
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
51
 
procedure DonneesMaitre1OnBeforePrint(Sender: TfrxComponent);            
var 
Etat,Site,Emplacement,Situation:string;
Begin          
  Site:=Trim(<Emprunteurs;Responsable légal>);
  Etat:=Trim(<Réservations;Etat>);
  Emplacement:=Trim(<Exemplaires;Emplacement>);
  Situation:=Trim(<Exemplaires;Situation>);    
 
if (Site='Valenciennes') then
Begin            
 DonneesMaitre1.visible:=false
 end         
 
else if (Site='Lille') then 
Begin
 if (Emplacement='Lille') and (Situation='Disponible') then
  DonneesMaitre1.visible:=false
 else if (Emplacement='Valenciennes') and (Situation='Disponible') then
 DonneesMaitre1.visible:=true
 else
 DonneesMaitre1.visible:=false;    
 end 
 
 else if (Site='Arras') then
 Begin
 if (Emplacement='Arras') and (Situation='Disponible') then
  DonneesMaitre1.visible:=false   
 else if (Emplacement='Valenciennes') and (Situation='Disponible') then
 DonneesMaitre1.visible:=true  
 else
 DonneesMaitre1.visible:=false;  
 end  
 
 else if (Site='Gravelines') then
 Begin
  if (Emplacement='Gravelines') and (Situation='Disponible') then
  DonneesMaitre1.visible:=false
 else if (Emplacement='Valenciennes') and (Situation='Disponible') then
 DonneesMaitre1.visible:=true  
 else
 DonneesMaitre1.visible:=false;  
 end   
 
 else
 begin             
 DonneesMaitre1.visible:=false; 
 end;
 
 end;