Seite 2 von 2

Verfasst: 01.09.2007 00:14
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

Verfasst: 01.09.2007 00:20
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:

Verfasst: 01.09.2007 00:43
von Sicro
Nix für ungut, ist ja schon recht spät :wink:

Hat es schon jemand mit der Linux-Version ausprobiert?

Mfg Sicro

Verfasst: 01.09.2007 11:36
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: