Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Grundsätzliches zu Boolean
Hidden - Mi 10.09.08 18:27
Moderiert von
Narses: Abgetrennt von hier: "FileSizeToStr" - Dateigrößen in einen String umwandeln [http://www.delphi-forum.de/viewtopic.php?t=86422]
Narses hat folgendes geschrieben: |
Was hat Gausi damit zu tun? |
Verdammt, schon wieder :!::motz: So ist's richtig, Narses! Erkämpf' dir deine Existenz! Sry, ich wollte eig. nochmal schauen, ob ich das mit dem Poster richtig in Erinnerung hatte.
Narses hat folgendes geschrieben: |
:gruebel:
b) Welche Werte für den Delphi-Datentyp Boolean kennst du noch, ausser [True, False]? :shock: |
Meine, ob nicht die Nummerischen Werte verwendet werden. Wenn ja, Würdest du z.B. bei Boolean(2345233) die Range verfehlen. Nur 'so 'ne Interessensfrage, wird vermutlich nie ein Wert aus der WinApi oder so da hinkommen.
mfG,
Narses - Mi 10.09.08 18:54
Moin!
Hidden hat folgendes geschrieben: |
| So ist's richtig, Narses! Erkämpf' dir deine Existenz! |
Ich heiße, also bin ich! 8)
Hidden hat folgendes geschrieben: |
| Meine, ob nicht die Nummerischen Werte verwendet werden. Wenn ja, Würdest du z.B. bei Boolean(2345233) die Range verfehlen. |
Da das hier bereits nicht korrekt ist:
Delphi-Quelltext
1: 2: 3: 4:
| var MyBool: Boolean; begin MyBool := Boolean(2345233); |
klappt das natürlich auch nicht bei einem Array-Zugriff. :nixweiss:
Korrekt wäre daher:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| const Names: array[Boolean] of String = ('Ich','Du'); begin MyBool := (2345233 <> 0); ShowMessage(Names[MyInt <> 0]); |
cu
Narses
Hidden - Mi 10.09.08 19:23
Hi,
Er.. Verstehe nicht ganz, was du am Ende sagen wolltest :D Aber man könnte der Funktion doch Booleans übergeben, die zum Crah führen?
Denn Boolean ist ja Intern mehr als nur ein Bit. Und, wenn dann ein Array mit den Plätzen 0 und 1 vorhanden ist, könnte doch bei -1 oder so ein Fehler auftreten?
mfG,
Narses - Mi 10.09.08 19:33
Moin!
Hidden hat folgendes geschrieben: |
| Er.. Verstehe nicht ganz, was du am Ende sagen wolltest |
Ganz einfach: du erzwingst durch einen expliziten Vergleich einen Bool´schen Wert:
(MyInt <> SomeValue) :arrow:
Boolean :idea:
Hidden hat folgendes geschrieben: |
Aber man könnte der Funktion doch Booleans übergeben, die zum Crah führen?
Denn Boolean ist ja Intern mehr als nur ein Bit. |
Boolean ist True oder False, es hat dich nicht zu interessieren, was der Compiler intern damit tut - genau genommen. :zwinker:
Hidden hat folgendes geschrieben: |
| Und, wenn dann ein Array mit den Plätzen 0 und 1 vorhanden ist, könnte doch bei -1 oder so ein Fehler auftreten? |
Ja, klar, dein ungültiger Typecast erzwingt ja genau so ein Verhalten. Da das aber bei der Zuweisung schon zu einem Problem führen würde (und ganz nebenbei ein Konzept-/Programmierfehler wäre), ist es doch OK, wenn dieser dann "auffällt". ;)
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!