if Livre.IsEmpty then begin //Début du bloc à exécuter si Livre.IsEmpty := true ... ... //Code à exécuter si Livre.IsEmpty := true ... end //Fin du bloc à exécuter si Livre.IsEmpty := true else begin //Début du bloc à exécuter si Livre.IsEmpty := false ... ... //Code à exécuter si Livre.IsEmpty := false ... end; //Fin du bloc à exécuter si Livre.IsEmpty := false
procedure TForm1.Button1Click(Sender: TObject); begin try Query1.Close; with Query1.SQL do begin Clear; Add('Select * from MaTableEntreprise '); Add('Where compte =:param '); Query1.ParamByName('param').AsString := Edit1.text; Query1.Open; end; if (Query1.Bof) and (Query.Eof) then begin // le test est vrai donc la table ne contient pas Edit1.text // opération d'ajout Query1.Append; Query1champ1.text := edit1.text; Query1champ2.text := edit2.text; etc.. query1.Post; end else begin // le test est faux donc la table contient Edit1.text // attention, c'est un filtre et non un calage du pointeur de la table Query1.Locate('Champ1',edit1.text,[]); // on se cale sur l'enregistrement et on édite : Query1.Edit; Query1Champ1.text := valeur saisie; Query2champ2.text := valeur saisie; Query1.Post; end; finally Query1.Close; end; end;
L'instruction if a deux formes : if...then et if...then...else. La syntaxe de l'instruction if...then est :
if expression then instruction
où expression renvoie une valeur booléenne. Si expression vaut True, alors instruction est exécutée ; sinon elle ne l'est pas. Par exemple :
if J <> 0 then Resultat := I/J;
La syntaxe de l'instruction if...then...else est :
if expression then instruction1 else instruction2
où expression renvoie une valeur booléenne. Si expression vaut True, alors instruction1 est exécutée ; sinon instruction2 est exécutée. Par exemple :
if J = 0 then
Exit
else
Resultat := I/J;
Les clauses then et else contiennent une seule instruction chacune, mais ce peut être une instruction structurée. Par exemple :
if J <> 0 then
begin
Resultat := I/J;
Compteur := Compteur + 1;
end
else if Compteur = Fin then
Arret := True
else
Exit;
Remarquez qu'il n'y a jamais de point-virgule entre la clause then et le mot else. Vous pouvez placer un point-virgule après une instruction if pour la séparer de l'instruction suivante du bloc mais les clauses then et else ne nécessitent rien d'autre qu'un espace ou un passage à la ligne entre elles. Le fait de placer un point-virgule immédiatement avant le else (dans une instruction if) est une erreur de programmation courante.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question