Select bei Quad

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Select bei Quad

Beitrag von Josef Sniatecki »

Ich weiß nicht ob jemand diesen Fehler schon gemeldet hat, oder in den neuen PureBasic-Versionen dieser Fehler schon behoben wurde:

Wenn ich eine Quad Variable beim "Select" benutze, dann wählt mir mein Programm immer den ersten Fall/Case aus.

Code: Alles auswählen

Global MyQuadVar.q
MyQuadVar=Random(100)

Select MyQuadVar
  Case 0
    Debug "Null!!!"
  Case 1
    Debug "One! Juhu!!!"
  Default
    Debug "Any! Yes!!!!!"
EndSelect
Kann vieleicht jemand erklären wieso, oder liegt das jetzt wirklich nur an einem Fehler von PureBasic.
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Debugger-Ausgabe hat geschrieben:Any! Yes!!!!!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Wird wohl an der RandomSeed liegen...

Code: Alles auswählen

Global MyQuadVar.q 


For i = 1 To 100
  MyQuadVar=Random(5) 

  Select MyQuadVar 
    Case 0 
      Debug "Null!!!" 
    Case 1 
      Debug "One! Juhu!!!" 
    Default 
      Debug "Any! Yes!!!!!" 
  EndSelect
Next i 
Debugger-Ausgabe hat geschrieben: Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
One! Juhu!!!
Any! Yes!!!!!
One! Juhu!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Null!!!
One! Juhu!!!
Any! Yes!!!!!
One! Juhu!!!
One! Juhu!!!
Null!!!
Null!!!
Null!!!
One! Juhu!!!
Any! Yes!!!!!
Any! Yes!!!!!
Null!!!
One! Juhu!!!
Null!!!
Any! Yes!!!!!
Null!!!
Any! Yes!!!!!
Null!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
One! Juhu!!!
Null!!!
Any! Yes!!!!!
Any! Yes!!!!!
Null!!!
One! Juhu!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
One! Juhu!!!
One! Juhu!!!
Any! Yes!!!!!
Any! Yes!!!!!
One! Juhu!!!
Any! Yes!!!!!
One! Juhu!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
One! Juhu!!!
Any! Yes!!!!!
Any! Yes!!!!!
Null!!!
Any! Yes!!!!!
One! Juhu!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Null!!!
Null!!!
Any! Yes!!!!!
Any! Yes!!!!!
Null!!!
Null!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
Any! Yes!!!!!
One! Juhu!!!
Any! Yes!!!!!
One! Juhu!!!
One! Juhu!!!
One! Juhu!!!
Any! Yes!!!!!
Null!!!
Any! Yes!!!!!
Null!!!
Any! Yes!!!!!
Null!!!
Any! Yes!!!!!
One! Juhu!!!
Any! Yes!!!!!
Null!!!
Any! Yes!!!!!
One! Juhu!!!
One! Juhu!!!
Null!!!
One! Juhu!!!
Any! Yes!!!!!
Und wieder mal wurde ein vermeintlicher "Bug" als "da hat der Programmierer nicht richtig aufgepaßt" entlarvt...

@ Josef: Ist jetzt nix gegen Dich persönlich, aber wenn ich sehe, wie oft irgendeiner daherkommt und einen "Bug" entdeckt hat, der kein Bug ist, dann finde ich das fast schon respektlos den Entwicklern der Programmiersprache gegenüber. Okay, PB ist eine relativ "kleine" Sprache und vielleicht sind da Bugs etwas (!) wahrscheinlicher als bei "großen" Sprachen wie C++ oder Java, aber letztendlich ist es nie verkehrt, erstmal einen normalen Thread der Marke "da funktioniert irgendwas nicht so wie ich es mir vorstelle" zu eröffnen. Im Übrigen tritt exakt der gleiche "Bug" auf, wenn Du normale Longs verwendest statt Quads. Das hättest Du zumindest auch mal testen können.

Ach ja zum Thema RandomSeed: Einfach mal in der Hilfe nachschauen ;)
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

also, mal wieder kein echter käfer....

*verschieb*
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Bild
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Beitrag von Josef Sniatecki »

OK. Damit wurde mir mal geholfen.
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

RandomSeed

Beitrag von Josef Sniatecki »

Und noch was:

Ich habe mir einen Preprozessor programmiert, der mir automatisch wichtige Templates einbindet. In diesen wird wirklich von mir "RandomSeed" genutzt. In C++ wird ja nicht automatisch die Reihenfolge der Zufallszahlen zufällig festgelegt. Und dies wollte ich einfach in PureBasic übernehmen.

Bei Änderungen der Zahl nach dem "RandomSeed" kommen wirklich immer wieder andere Fälle aus dem "Select" vor.

Danke für die Erinnerung an diesen Befehl.

Da habe ich mich wohl blamiert. :mrgreen:
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Naja, es ist ja nicht verwerflich, Fehler zu machen. Und die Sache mit RandomSeed ist ja jetzt auch nicht sooo selbstverständlich (warum sollte es sowas auch geben, sind ja schließlich "Zufallszahlen" ;) ). Also von daher, kein Problem :)

Mich hat es nur gestört daß es als PB-Bug hingestellt wird, und das passiert leider recht oft ;) und in vielen Fällen handelt es sich halt nicht um einen Bug, sondern nur um falsche Anwendung :mrgreen:
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Antworten