_If Not A XOr B_ in procedure

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

_If Not A XOr B_ in procedure

Beitrag von #NULL »

ein If Not A XOr B macht komische sachen, aber nur innerhalb der procedures. die variable B wird verändert. klammerung egal.

select
case - ich bin zu müde?
case - ich bin zu blöd?
case - hier stimmt was nicht? [schon bekannt?]

Code: Alles auswählen

A=0
B=0

If Not A XOr B
  Debug Str(A)+"    "+Str(B)
Else
  Debug Str(A)+"    "+Str(B)
EndIf
Debug ""
;####### ausgabe : 0    0




Procedure stonedXOR_byte(A.b,B.b)
  If Not A XOr B
    Debug Str(A)+"    "+Str(B)
  Else
    Debug Str(A)+"    "+Str(B)
  EndIf
  Debug ""
EndProcedure

stonedXOR_byte(0,0)
;####### ausgabe : 0    79

; 79 entspricht 01001111






Procedure stonedXOR_long(A.l,B.l)
  If Not A XOr B
    Debug Str(A)+"    "+Str(B)
  Else
    Debug Str(A)+"    "+Str(B)
  EndIf
  Debug ""
EndProcedure


stonedXOR_long(0,0)
;####### ausgabe : 0    2088856911

; 2088856911 entspricht 01111100 10000001 01101101 01001111






Procedure stonedXOR_word(A.w,B.w)
  If Not A XOr B
    Debug Str(A)+"    "+Str(B)
  Else
    Debug Str(A)+"    "+Str(B)
  EndIf
  Debug ""
EndProcedure


stonedXOR_word(0,0)
;####### ausgabe : 0    27983

; 27983 entspricht 01101101 01001111






Procedure stonedXOR_quad(A.q,B.q)
  If Not A XOr B
    Debug Str(A)+"    "+Str(B)
  Else
    Debug Str(A)+"    "+Str(B)
  EndIf
  Debug ""
EndProcedure


stonedXOR_quad(0,0)
;####### ausgabe : 0    0





my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

@#NULL,

BUG GEFUNDEN!!!!!!!!!!!!!!!!!!

Fehler liegt in der Funktion "XOr". Wer kann das mal Fred melden.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

mk-soft hat geschrieben:@#NULL,

BUG GEFUNDEN!!!!!!!!!!!!!!!!!!

Fehler liegt in der Funktion "XOr". Wer kann das mal Fred melden.
Habe ich eben per Mail an Fred und freak getan.

Kann aber trotzdem nicht schaden, wenn mal noch jemand im englischen Bug-Report-Forum eine kurze Beschreibung und das Beispiel postet.
(Als Merkzettel für Fred sozusagen... :wink:)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

also in der proc ist die ausgabe die gleiche bei
If Not A XOr B
If A XOr B
If 1 XOr B
If 0 XOr B
..nämlich 0 für A, und 79 für B (im fall der byte-version)

wird die proc nur mit B definiert:
Procedure stonedXOR_byte(B.b) und mit stonedXOR_byte(0) aufgerufen
dann wird nach
If A XOr B
4198864 für A, und 79 für B ausgegeben, egal ob man A explizit als Protected deklariert oder nicht. bei Shared A bleibt A 0 (natürlich nur, insofern das äußere A auch wirklich 0 ist).


ich hab keinen account im engl. board
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Die Funktion "Or" und "And" laufen einwandfrei. Ist mir nur bei "XOr"
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten