Der Unterschied liegt darin, dass True als konstante mit einem festen Wert definiert wurde. Wenn du nun einen Vergleich auf True in deiner IF Bedingung schreibst, dann wird das Ergebnis direkt auf diesen konstanten Wert durchgeführt. Das Problem hierbei liegt im Detail, denn ein boolscher Wert wird wie folgt zugeordnet:
0 => False
<> 0 => True
Somit ist alles ungleich 0 True, und das ist immer mehr als eine bestimmte Konstante beinhalten kann. Daher ist es hier von Vorteil einfach diesen direkten Vergleich weg zu lassen und nur das Execute aufzurufen ohne Vergleich. IF Bedingungen vergleichen das Ergebnis auf Gleichheit mit 0 und handeln entsprechend - und das sollte immer klappen, weil 0 festgelegt ist als FALSE, während True sich in vielen Formen äussern kann.
Zitat von
Gruber_Hans_12345:
Zitat von
Muetze1:
Sehr schön - und Dateien mit dem Namen werden denn gleich mit ausgeblendet. Durch NFS Clients etc ist nicht gleich gesagt, dass es bei allen unter Windows benutzten Dateisystemen dies nicht existieren kann...
wie wäre es wenn du statt dem kommentar einfach ne lösung präsentieren würdest dafür?
Wozu? Wenn man selber Dinge findet versteht man sie meist besser als alles vorgesetzt zu bekommen und zu kopieren. Bei solchen wirklich banalen Dingen mache ich dies auch nicht - bei umfangreicheren bzw. schweren Dingen ist posten von Code selbstverständlich. Ich will hier nicht den Souffleur spielen sondern den Leuten hier eher das Fischen beibringen...