Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249380 (10816)
  Suchen
 Zurück zur Übersicht
 AutorThema: Bug bei Übergabe von -1 ????
Bernhard Künzel
Datum:31.10.01 11:53 Antwortenals Email verschicken (b.kuenzel@chello.at) 


Hallo an alle Profaner,
bitte kann mir jemand das kleine Programm testen
>
SetTrueColor 1
Proc Test
Parameters Par1&,Par2%,Text$,Par4&,Par5&
Print Par1&,Par2%,Text$,Par4&,Par5&
EndProc
Cls
Test 0,1,"Text",RGB(240,240,240),-1
Print RGB(240,240,240)WaitInput
>
bei Parameter 4 ist der Wert um 1 niedriger und bei Parameter 5 ist der Wert statt -1 0

der Fehler ist beim Interpreter und beim Compilat

MFG
Bernhard



Jörg Sellmeyer
Datum:31.10.01 14:01 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo Bernhard,
So funktioniert es:
Test 0,1,"Text",RGB(240,240,240),1 * -1
Außerdem scheint das Problem nur an fünfter Stelle aufzutreten.
Hat Roland wohl noch etwas Mehrarbeit bis Weihnachten ;-)
Jörg


Norbert Spörl
Datum:31.10.01 14:12 Antwortenals Email verschicken (NSp_ware@t-online.de) 


Hallo,

Profan hat hier tatsächlich ein Problem. Als 4. Paramter wird nicht RGB(240,240,240) übergeben, sondern sinngemäß RGB(240,240,240)-1. Das Komma hinter dem 4. Parameter wird nicht als Trennzeichen erkannt. Somit wird der 4. Parameter (RGB-Wert) um 1 verringert und der 5. Parameter wird dann 0. Das Ganze ist eine böse Falle, da der Fehler nicht unbedingt gleich auffällt.

Mit einer zusätzlichen Einklammerung klappt es aber.
Test 0, 1, "Text", (RGB(240,240,240)), -1

MfG

Norbert


Roland G. Hülsmann
Datum:31.10.01 17:31 Antwortenals Email verschicken (rgh-soft@t-online.de) 


Ooops ... da hat der Parser mit der Minuszahl noch ein kleines Problem. Als Abhilfe reicht es auch, die Zahl mit dem Minuszeichen in Klammern zu setzen

Test 0, 1, "Text", RGB(240,240,240),(-1)

Das Problem tritt aber NUR bei Prozeduraufrufen auf und nur dann, wenn eine negative Zahl als Literal (oder eine Variable mit negativem Vorzeichen) hinter einem Funktionsaufruf folgt.

Da habe ich wohl wirklich noch was zu tun. Ob ich das Problem aber noch in der 7.5 behebe, kann ich nicht versprechen. Eingriffe in den Parser sind immer komplexere Operationen.


Bernhard Künzel
Datum: 31.10.01 17:56 Antwortenals Email verschicken (b.kuenzel@chello.at) 


Danke Jörg und Norbert für die schnelle Lösung dieses Problems.

MFG aus Innsbruck
Bernhard


 Zurück zur Übersicht