Forum: Object-Pascal / Delphi-Language
Delphi
by nailor,
4. Mär 2003
Nein, ich meinte, dass wenn man mehr als ein Byte testen will (also zb das sechste und das erste) mann dann nicht (varibale and 33) <> 0 nehmen kann, weil dann auch wenn nur das erste oder das sechste gesetzt sind, true rauskommt.
Forum: Object-Pascal / Delphi-Language
Delphi
by nailor,
4. Mär 2003
mit dem <> 0 muss man aber aufpassen. Wenn man mehr als 1 bit abfragen will, gibt es dabei Fehler!
Forum: Object-Pascal / Delphi-Language
Delphi
by nailor,
3. Mär 2003
Bei der rechten Hälfte musst du die "#" weglassen. Das "and" verlangt nach Integern.
if ((#106 = #106) and ((33 and 32) = 32)) then close; //beendet das Programm. Wurde von mir getestet und läuft!
Forum: Object-Pascal / Delphi-Language
Delphi
by nailor,
3. Mär 2003
a) ist das ">=" falsch, dann kann ja auch nur das siebte gesetzt sein, du bräuchtest ein "="
b) gibt die erste Aktion (logical Operator) einen boolean, die zweite (bitwise Operation) ein bit. Danach macht das and in der Mitte einen Aufstand, weil schlecht
if true and #27
zu einem vernünftigen Ergebnis führen kann. Bei meiner Version sind beides booleans, und es sollte gehen.
Forum: Object-Pascal / Delphi-Language
Delphi
by nailor,
3. Mär 2003
until ((byte1 = #106) and ((byte2 and #64 {müsste das sechste bit sein}) = # 64))
testet, ob byte eins 106 ist, und ob im zweiten das sechste bit gesetzt ist. Falls du das meinst.
Forum: Object-Pascal / Delphi-Language
Delphi
by nailor,
3. Mär 2003
(sCom = #106)
müsste einen boolean geben.
(sCom shr 32)
ein Byte.