OVH Cloud OVH Cloud

Le saviez vous ?

22 réponses
Avatar
Roumegou Eric
Avez vous vu le dernier "Le Saviez vous ?" sur l'instruction FIN: ?
<extrait>
L'instruction FIN: vous permet d'exécuter du code même si vous avez
utilisé l'instruction RETOUR ou RENVOYER. Voici un exemple

SI OuiNon("Etes-vous sûr de vouloir supprimer ce fichier ?") = Oui
ALORS
fSupprime(sFichierASupprimer)
SINON
RETOUR
FIN

// Suite du traitement

FIN:
Info("Fin du traitement")

Ici dans tous les cas, quelque soit la réponse à la question la ligne
Info("Fin du traitement") sera exécutée. Ceci est très pratique lorsque
vous avez beaucoup de conditions et un traitement à effectuer quelque
soit le résultat des conditions.
<fin extrait>

Je trouve ça particulièrement sale en terme de programmation
structurée, non ?
Cela correspond à des instructions analogues dans d'autres langages ?


NB : sur le forum Webdev, on a bcp de "le saviez vous" en ce moment.
Peut être pour compenser les messages non publiés avec les bonnes
vieilles habitudes de censure qui reprennent. C'est désolant.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)

2 réponses

1 2 3
Avatar
PYT
Roumegou Eric wrote:

En c++builder (et surement delphi)

Tu as les try catch(...) finally.

PYT
Avez vous vu le dernier "Le Saviez vous ?" sur l'instruction FIN: ?
<extrait>
L'instruction FIN: vous permet d'exécuter du code même si vous avez
utilisé l'instruction RETOUR ou RENVOYER. Voici un exemple

SI OuiNon("Etes-vous sûr de vouloir supprimer ce fichier ?") = Oui ALORS
fSupprime(sFichierASupprimer)
SINON
RETOUR
FIN

// Suite du traitement

FIN:
Info("Fin du traitement")

Ici dans tous les cas, quelque soit la réponse à la question la ligne
Info("Fin du traitement") sera exécutée. Ceci est très pratique lorsque
vous avez beaucoup de conditions et un traitement à effectuer quelque
soit le résultat des conditions.
<fin extrait>

Je trouve ça particulièrement sale en terme de programmation structurée,
non ?
Cela correspond à des instructions analogues dans d'autres langages ?


NB : sur le forum Webdev, on a bcp de "le saviez vous" en ce moment.
Peut être pour compenser les messages non publiés avec les bonnes
vieilles habitudes de censure qui reprennent. C'est désolant.



Avatar
Vincent
Sous delphi

try
// code
finally
// code a exécuter dans tous les cas
end;

et en plus on peux les empiler.


try
// code 1a
try
// code 2a
finally
// code 2b a exécuter dans tous les cas
end;
finally
// code 1b a exécuter dans tous les cas
end;

ce qui ne doit pas être le cas du label FIN:


PYT a écrit :
Roumegou Eric wrote:

En c++builder (et surement delphi)

Tu as les try catch(...) finally.

PYT

Avez vous vu le dernier "Le Saviez vous ?" sur l'instruction FIN: ?
<extrait>
L'instruction FIN: vous permet d'exécuter du code même si vous avez
utilisé l'instruction RETOUR ou RENVOYER. Voici un exemple

SI OuiNon("Etes-vous sûr de vouloir supprimer ce fichier ?") = Oui ALORS
fSupprime(sFichierASupprimer)
SINON
RETOUR
FIN

// Suite du traitement

FIN:
Info("Fin du traitement")

Ici dans tous les cas, quelque soit la réponse à la question la ligne
Info("Fin du traitement") sera exécutée. Ceci est très pratique lorsque
vous avez beaucoup de conditions et un traitement à effectuer quelque
soit le résultat des conditions.
<fin extrait>

Je trouve ça particulièrement sale en terme de programmation structurée,
non ?
Cela correspond à des instructions analogues dans d'autres langages ?


NB : sur le forum Webdev, on a bcp de "le saviez vous" en ce moment.
Peut être pour compenser les messages non publiés avec les bonnes
vieilles habitudes de censure qui reprennent. C'est désolant.





1 2 3