ein "Programm" im Programm möglich? (skriptteile durch Funktion ersetzen)

Previous topic - Next topic

Veritas

Hi Leute,
ich hab folgende Frage:
Ist es möglich eine Art Prozedur zu schreiben die ermöglicht zu erkennen ob gewisse Befehle benutzt wurden?

Ich habe ein "Programm" mit ein paar Viewports. Zum Bearbeiten deaktiviere ich die Viewports häufiger um eben ALLES zu sehen.

Code (glbasic) Select

FELDX=0
FELDY=0

VIEWPORT 250, 100, B,H
DRAWRECT FELDX, FELDY, B, H, RGB(255, 255, 255)


So sähe es im Normalfall aus. "Deaktiviere" ich die Viewports, muss ich natürlich alle Koordinaten der grafischen Folgebefehle anpassen.

Code (glbasic) Select

FELDX=250
FELDY=100

//VIEWPORT 250, 100, B,H
DRAWRECT FELDX, FELDY, B, H, RGB(255, 255, 255)


Zurück zur Frage. Das soll automatisiert werden. Ich hätte es also gerne so das Der Viewport solange aktiv ist wie die Werte FELDY und FELDX=0 sind. Verändert man diese soll der Viewport deaktiviert werden.

Ich bräuchte also etwas das dann automatisch Viewport=//Viewport setzt und umgekehrt. Es gibt zwar Befehle wie REPLACE$(), die funktionieren ja aber so weit ich weiß nur mit TEXT und nicht innerhalb des Skripts.

Hat jemand ne Idee?

LG Veritas
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Tenorm

QuoteIch hätte es also gerne so das Der Viewport solange aktiv ist wie die Werte FELDY und FELDX=0 sind. Verändert man diese soll der Viewport deaktiviert werden.

=

IF FELDY=0 AND FELDX=0
    viewport=1
ELSE
    viewport=0
ENDIF

Gruß

Tenorm

Veritas

Hi Danke Tenorm,
leider hat das einen Syntax-Error zur Folge.
Viewport=1 oder Viewport=0 geht nicht. Es wird als Befehl erkannt und erwartet, das man es mit der korekten Anzahl seiner Parameter aufruft.

Irgendeine andere Idee?
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Tenorm

Immer  =D :
Code (glbasic) Select

LOCAL viewport_id

IF FELDY=0 AND FELDX=0
    viewport_id=1
ELSE
    viewport_id=0
ENDIF

IF viewport_id=1
    VIEWPORT parameter...
ENDIF

Hamburgo

IF FELDY=0 AND FELDX=0
    VIEWPORT ViewportX, ViewportY, ViewportBreite, ViewportHoehe
ELSE
    VIEWPORT 0,0,0,0      // Zur?cksetzen
ENDIF

So setze ich das ein und es funktioniert.