Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Boolean in Integer
ceding - Sa 05.03.05 20:24
Titel: Boolean in Integer
nacht!
wie wird Boolean in Integer umgewandelt??
Moderiert von
Christian S.: Topic aus VCL (Visual Component Library) verschoben am Sa 05.03.2005 um 19:24
goog - Sa 05.03.05 20:41
Hi ceding!
Das weiß nur Bill Gates :wink:
Nein im Ernst, das ist nicht möglich :!:
gruß goog
AXMD - Sa 05.03.05 20:52
Sicher ist da s möglich :roll:
AXMD
GTA-Place - Sa 05.03.05 20:53
Ne andere Frage ist, was bringt das?
raziel - Sa 05.03.05 20:54
Doch:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Button1Click(Sender: TObject); begin showmessage(inttostr(integer(checkbox1.Checked))); if Boolean(integer(checkbox1.checked)) then showmessage('checked!'); end;
procedure TForm1.Button2Click(Sender: TObject); begin if Boolean(24) then showmessage('checked!'); end; |
Bei letzterem gilt: Ist der Integer = 0 gilt das als False. Ist er != 0 gilt das als True.
//edit: 1. Zu langsam und 2. auch noch die Frage falsch rum gelesen... Ich glaub ich werd alt... :roll:
NeoInDerMATRIX - Sa 05.03.05 20:56
Hi,
also das geht ganz einfach!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Function BoolToStr(vWert: Boolean): String; Begin If (vWert) Then Result := 'TRUE' Else Result := 'FALSE'; End;
Function IntToBool(vWert: Integer): Boolean; Begin Result := vWert <> 0; End; |
Cu
Neo
retnyg - Sa 05.03.05 21:24
omg... was gibts da zu konvertieren ?
ist das teil 0 dann isses false isses 1 dann true
ceding - So 06.03.05 16:45
tach !
Auf die Frage "was bringt das?" erspart mir ne menge Arbeit GTA-Place
Schade Neo_in_der_MATRIX brauch ich nicht
Wie kann man nor so ein ... schreiben OneOfTen geht nicht
raziel danke!
Delete - So 06.03.05 16:59
was geht nicht?
ceding - So 06.03.05 17:03
na BoolToInt()
oder BoolToStr()
Motzi - So 06.03.05 17:03
| retnyg hat folgendes geschrieben: |
omg... was gibts da zu konvertieren ?
ist das teil 0 dann isses false isses 1 dann true |
Nicht ganz... ist es 0, dann ist es False, ist es _ungleich_ 0, ist es True..!
Delete - So 06.03.05 17:16
| ceding hat folgendes geschrieben: |
na BoolToInt()
oder BoolToStr() |
haste dir schon mal den dabeistehenden link angeguckt?
ceding - Fr 18.03.05 18:09
öh ja aber was hilft mir das?
ich find das nicht
Sprint - Fr 18.03.05 18:37
Boolean - 1 Byte
ByteBool - 1 Byte
WordBool - 2 Bytes
LongBool - 4 Bytes
| Motzi hat folgendes geschrieben: |
| Nicht ganz... ist es 0, dann ist es False, ist es _ungleich_ 0, ist es True..! |
Damit ist Motzi's Aussage bei allen vier Boolesche Typen von Delphi bestätigt.
retnyg - Fr 18.03.05 18:42
Sprint hat folgendes geschrieben: |
| Boolean - 1 Byte |
dachte immer ein boolean sei ein bit gross :mrgreen:
delfiphan - Fr 18.03.05 19:08
(War das soeben eine ernste Bemerkung? Ein Boolean ist ein Byte gross, das stimmt schon)
retnyg - Fr 18.03.05 19:13
habs grade in der delphi-hilfe gesehen - welch platzverschwendung !
da hätt ich ja bislang gleich mit byte arbeiten können... naja, wird wohl für den compiler einfacher zu verwalten sein, sonst braucht der nen dword um sich die speicheradresse des bool's zu merken und nochmal ein byte, um die position des booleans in einem byte zu finden....
Popov - Fr 18.03.05 19:18
retnyg hat folgendes geschrieben: |
| dachte immer ein boolean sei ein bit gross :mrgreen: |
Eigentlich schon, aber es gibt die kleinste Verbrauchseinheit bei Variablen, und die ist ein Byte groß. Bei Flags kriegst du in einen Byte mehrere Boolwerte rein, bei Variablen kommst du nicht unter ein Byte weg.
delfiphan - Fr 18.03.05 19:19
Es gibt vor allem keine Pointer, die auf ein Bit zeigen können. Wenn du Platz sparen möchtest, kannst du set of byte nehmen, dann bekommst du 256 Bits in 32 Bytes verpackt.
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!