Seite 1 von 1

For_Next nicht mit Float möglich?

Verfasst: 24.01.2005 11:54
von Kukulkan
Hallo,

Folgenden Code möchte ich zum laufen bringen:

Code: Alles auswählen

For j.l = 1 To 400
    Correction.f = j.l / 100   ; Ergibt 0.01 bis 4
    Debug "Correction mit " + Str(j.l) + ": " + Str(Correction.f)
    For i.l = 0 To 255
      Val1.f = Pow((i.l / 255),(1 / Correction.f))
      lValue.l = (255 * (Val1.f)) + 0.5
      If lValue.l > 255: lValue.l = 255: EndIf
      m_red(i.l, j.l) = lValue.l
      m_green(i.l, j.l) = lValue.l
      m_blue(i.l, j.l) = lValue.l
    Next
  Next
Leider ergibt die Debug-Zeile, dass in Correction.f immer nur Ganzzahlen stehen. Ich bin zwar der Meinung dass zB 80 / 100 = 0.8 sein sollte, aber PB ist das nicht. Dann habe ich versucht den Wert j.l durch einen Float-Wert zu ersetzen:

Code: Alles auswählen

k.f = j.l
Correction.f = k.f / 100
Das hat PB aber nicht interessiert und es bleibt bei Ganzzahlen in Correction.f.
Dann wollte ich j.l als Zähler ganz auf Float umstellen (kann ja auch sein dass mal jemand STEP 0.5 benötigt) und nun meldet PB:

An integer assignment is expected after 'For'

Ich finde aber Threads im PB-Forum die eine For-Next-Schleife mit Float durchführen (http://www.robsite.de/php/pureboard/vie ... php?t=1181 der Code ganz unten) und in der Doku steht auch nix davon drinnen dass For-Next nur mit Integer gehen soll.

Wie kann ich meine Berechnung schaffen?

Grüsse,

Volker

Verfasst: 24.01.2005 12:30
von DrShrek
Nim StrF(...)

Code: Alles auswählen

...
Debug "Correction mit " + Str(j.l) + ": " + StrF(Correction.f) 
...