Select-Bug mit Quads [PB V4.02]

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
Sicro
Beiträge: 963
Registriert: 11.08.2005 19:08
Kontaktdaten:

Beitrag von Sicro »

ts-soft hat geschrieben:@michel51
der Testcode sagt nichts auch, da For : Next
nur Long unterstützt
Bei seinem Code wird der Wert der Long-Variable zuerst einer Quard-Variable übergeben und diese bekommt dann das Select.
Somit ist es völlig egal, welchen Typ die Variable der ForNext-Schleife hat.

Mfg Sicro
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
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 »

Sicro hat geschrieben:
ts-soft hat geschrieben:@michel51
der Testcode sagt nichts auch, da For : Next
nur Long unterstützt
Bei seinem Code wird der Wert der Long-Variable zuerst einer Quard-Variable übergeben und diese bekommt dann das Select.
Somit ist es völlig egal, welchen Typ die Variable der ForNext-Schleife hat.

Mfg Sicro
Okay, hast ja recht, er weis es ja erneut zu, übersehen :oops:
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
Sicro
Beiträge: 963
Registriert: 11.08.2005 19:08
Kontaktdaten:

Beitrag von Sicro »

Nix für ungut, ist ja schon recht spät :wink:

Hat es schon jemand mit der Linux-Version ausprobiert?

Mfg Sicro
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
michel51
Beiträge: 84
Registriert: 01.11.2005 20:00
Wohnort: Dornhan-Weiden

Beitrag von michel51 »

ts-soft hat geschrieben: NcikTheQuick meinte bestimmt die Windowsversion.
Sehr wahrscheinlich.
Also andere Schleife nehmen, z.B. While Wend und nochmal testen, damit wir
Wissen obs unter Mac wirklich geht.
Hab mal folgendes getestet:

Code: Alles auswählen

Define mc.q 
Define q.q

For q = 1 To 12
mc = q

   Select mc
     Case 1, 10 : mc = 0
     Case 5 : mc = 1
     Case 8 : mc = 2
     Case 2, 3, 11 : mc = 3
     Case 6 : mc = 4
     Case 9, 12 : mc = 5
     Case 4, 7 : mc = 6
   EndSelect
   
   Debug "q: "+Str(q) + "  mc: "+Str(mc)
Next 

q = 1
While q < 13
   mc = q
   Select mc
     Case 1, 10 : mc = 0
     Case 5 : mc = 1
     Case 8 : mc = 2
     Case 2, 3, 11 : mc = 3
     Case 6 : mc = 4
     Case 9, 12 : mc = 5
     Case 4, 7 : mc = 6
   EndSelect
   
   Debug "q: "+Str(q) + "  mc: "+Str(mc)
   
   q+1
Wend

q = 1
Repeat 
   mc = q
   Select mc
     Case 1, 10 : mc = 0
     Case 5 : mc = 1
     Case 8 : mc = 2
     Case 2, 3, 11 : mc = 3
     Case 6 : mc = 4
     Case 9, 12 : mc = 5
     Case 4, 7 : mc = 6
   EndSelect
   
   Debug "q: "+Str(q) + "  mc: "+Str(mc)
   
   q+1
Until q > 12
Alle Beispiele bringen das selbe Ergebnis, so wie es sein soll :D
Den Umweg über die Zuweisung mit mc.q = q.q muss ich nehmen, da bei mc als Laufindex jede der Schleifen bei der 1. case-Abfrage zurückgesetzt wird.
Übrigens: auch wenn ich mc von Hand durchzähle, wird die Abfrage korrekt ausgeführt.
Auch die For-next-Schleife läuft mit Indes q.q, wenn ich nicht einen bösen Denkfehler mache, was Quad angeht.
Ist dieser Test in deinem Sinn?
Dann kaufen wir alle uns eben schnell nen Mac :mrgreen:
Das ist die beste Idee seit Jahren :allright:
michel51

Mac OS X Snow Leopard (10.6.8 ) Intel
PureBasic V 5.11(X64), V 5.21(x64)

Zum Lernen ist niemand zu alt.
Antworten