Und was ist mit dem allseits beliebten
if (length(a)>0) and (copy(a,1,1)='H') then
bei einem Leerstring würde die vollständige Auswertung nicht so doll sein
Nee, knallt natürlich nicht, da Copy die Stringlänge beachtet und weniger zurückgibt, wie verlangt wurde, wenn weniger drin ist.
Kann man also problemlos auf
if copy(a,1,1)='H' then
kürzen und ansonsten wäre es auch egal, ob vollständig ausgewertet wird oder nicht.
Hier gäbe es aber Probleme
if (length(a)>0) and (a[1]='H') then
,
aber da "standardmäßig" nicht vollsändig ausgewertet wird, ist der Code eigentlich optimaler, da nicht "sinnlos" ein neuer String erstellt und freigegeben wird.