If-Then-Else-erklæringen i Delphi-koden

Nybegynnere Delphi-utviklere bør se opp for If-Then-Else-feller

Full ramme bilde av programkoder på skjermen

Getty Images/Degui Adil/EyeEm





I Delphi , brukes if-setningen til å teste for en tilstand og utfør deretter deler av kode basert på om den betingelsen er Sann eller Usann.

En generell if-then-else-setning ser slik ut:



|_+_||_+_|

Både den 'sanne blokken' og 'falske blokken' kan enten være en enkel setning eller en strukturert setning (omgitt av et start-end-par).

Eksempel på en Nested If-Then-Else-erklæring

La oss vurdere ett eksempel med nestede if-setninger:



|_+_||_+_|

Hva vil verdien av 'kation' være? Svar: ''Antallet er NEGATIVT!' Forventet du ikke det?

Merk at kompilator ikke tar hensyn til formateringen din, kunne du ha skrevet ovenstående som:

|_+_||_+_|

eller til og med som (alt på én linje):

|_+_||_+_|

';' markerer slutten på et utsagn.



Kompilatoren vil lese uttalelsen ovenfor som:

|_+_||_+_|

eller for å være mer presis:



|_+_||_+_|

Vår ELSE-setning vil bli tolket som en del av den 'indre' IF-erklæringen. Den 'indre' setningen er en lukket setning og trenger ikke en BEGIN..ELSE.

Hvordan fikse

For å være sikker på at du vet hvordan dine nestede if-setninger behandles av kompilatoren, og for å fikse 'problemet' ovenfor, kan du skrive den første versjonen som:



|_+_||_+_|

Åh! Det stygge 'andet' avslutter den nestede hvis-linjen!? Kompilerer, fungerer!

Den beste løsningen er: bruk alltid start-end-par med nestede if-setninger:



|_+_||_+_|

For mange start-end-par for deg? Bedre trygt enn beklager. Uansett, kodemaler er designet for å legge til vanlig brukte skjelettstrukturer til kildekoden din og deretter fylle ut.

Artikkel sendt inn av Marcus Junglas