AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Über den Umgang mit Boolean
Tutorial durchsuchen
Ansicht
Themen-Optionen

Über den Umgang mit Boolean

Ein Tutorial von Brüggendiek · begonnen am 16. Nov 2005 · letzter Beitrag vom 7. Feb 2012
 
Benutzerbild von Merlin2001
Merlin2001

Registriert seit: 7. Jun 2005
Ort: Stuttgart
8 Beiträge
 
Delphi 7 Personal
 
#17

Re: Über den Umgang mit Boolean

  Alt 25. Jul 2006, 09:44
Hallo Dietmar,

ich bin Delphi-Anfänger und verstehe folgendes nicht:

Zitat von Brüggendiek:
Auswertung boolscher Ausdrücke

(...)
Die verkürzte Auswertung von Boolean-Ausdrücken führt aber zu einer weiteren bösen Falle:
Delphi-Quellcode:
if (Length(StringVar)>=5) and (StringVar[5]='x') then
  IrgendWas;
ist eine ganz gefährliche Sache. Bei optimiertem Boolean wird der 2. Teil nicht mehr ausgewertet; ohne Optimierung jedoch ergibt sich bei AnsiString die Situation, daß der Index außerhalb des Wertebereichs liegen kann.
Solange man in seiner Unit/Komponente den B-Compilerschalter richtig einstellt, sollte beim Austausch von Quellcode nichts passieren. Wenn man sich jedoch auf die Einstellung des Compilers verläßt, ist man verlassen und erhält dann vom Anwender Rückmeldungen, daß das Ganze "manchmal" fehlerhaft läuft.
Du sprichst ja davon, dass bei manchen Abfragen das Ergebnis frühzeitig feststeht.
Wenn ich aber

Delphi-Quellcode:
if (Length(StringVar)>=5) and (StringVar[5]='x') then
  IrgendWas;
schreibe, dann müssen doch auf jeden Fall beide Bedingungen geprüft werden, oder? Schließlich lässt sich aus der Richtigkeit der ersten Bedingung nicht auch das Zutreffen der zweiten schließen (jedenfalls in meiner Logik ^^).
Bitte sei so nett und erklär es mir noch mal etwas genauer

Gruß
Marcus
Marcus Mangelsdorf
Wie bei den meisten Türen in öffentlichen Toiletten war es auch bei dieser:
Unten ein ca. 30 cm breiter Spalt. Darüber stand:

"Be aware of Limbo-Dancers!"
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz