Autor Beitrag
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Mi 10.09.08 18:27 
Moderiert von user profile iconNarses: Abgetrennt von hier: "FileSizeToStr" - Dateigrößen in einen String umwandeln

user profile iconNarses hat folgendes geschrieben:
Was hat user profile iconGausi 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.


user profile iconNarses 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,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 10.09.08 18:54 
Moin!

user profile iconHidden hat folgendes geschrieben:
So ist's richtig, Narses! Erkämpf' dir deine Existenz!
Ich heiße, also bin ich! 8)

user profile iconHidden 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
var
  MyBool: Boolean;
begin
  MyBool := Boolean(2345233); // Bereichsüberschreitung!
klappt das natürlich auch nicht bei einem Array-Zugriff. :nixweiss:

Korrekt wäre daher:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
const
  Names: array[Boolean] of String = ('Ich','Du');
begin
  MyBool := (2345233 <> 0);
  // und analog:
  ShowMessage(Names[MyInt <> 0]);
cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Hidden Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: 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,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 10.09.08 19:33 
Moin!

user profile iconHidden 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:

user profile iconHidden 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:

user profile iconHidden 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

_________________
There are 10 types of people - those who understand binary and those who don´t.