Seite 1 von 1

Pointer in Prozeduren

Verfasst: 15.09.2013 14:50
von Schranz0r
Hi Leute,

kurze und sicher auch idiotische Frage :shock:

Ich will eine Prozedur die nur das macht:

Code: Alles auswählen

Global myInt.i
INC(myInt, 1)

dachte mir, da brauchst wohl Pointer also:

Code: Alles auswählen

Procedure INC(*var, value)
  *var = *var+value
EndProcedure
Tja, aber geht halt nicht :)
Ich will den Wert auf keinen Fall "returnen" müssen!

PLS Help :coderselixir:

Re: Pointer in Prozeduren

Verfasst: 15.09.2013 14:54
von ts-soft

Code: Alles auswählen

Procedure INC(*var.Integer, value)
  *var\i + value
EndProcedure

Define a.i
a = 100
INC(@a, 50)
Debug a

Re: Pointer in Prozeduren

Verfasst: 15.09.2013 15:01
von Schranz0r
Dank dir, ich war so nah dran :)

Oder gehts auch anders das ich keine Pointer brauch? Aber ohne Return?

Re: Pointer in Prozeduren

Verfasst: 15.09.2013 15:06
von ts-soft
Naja, es geht auch mehr Basic-Like:

Code: Alles auswählen

Procedure INC(*var, value)
  PokeI(*var, PeekI(*var) + value)
EndProcedure

Define a.i
a = 100
INC(@a, 50)
Debug a 
aber ohne Pointer wohl eher nicht.

Re: Pointer in Prozeduren

Verfasst: 15.09.2013 15:18
von 7x7
Und es geht auch mehr ASM-like :)

Code: Alles auswählen

a=20
inc a       ; einfaches +1...

add a,19    ;...oder einfache addition...oder sub....oder dec...usw.

debug a
In den Compiler-Optionen-> ASM-Unterstützung einschalten

Re: Pointer in Prozeduren

Verfasst: 15.09.2013 19:54
von Chimorin
Es geht auch einfacher ;)

Code: Alles auswählen

EnableExplicit


Global.i var1


Procedure Rechner(zahl.i)
  var1 = var1 + zahl
EndProcedure


Rechner(3)
Debug var1
End
Funktioniert natürlich nur mit einer GLOBALEN Variable, da diese programmweit benutzt werden kann (Except: Protected,...).

Re: Pointer in Prozeduren

Verfasst: 15.09.2013 20:02
von helpy
Warum überhaupt eine Procedure verwenden?
In diesem Fall reicht doch wirklich ein Makro:

Code: Alles auswählen

Macro INC( variable, value=1 )
	variable + value
EndMacro
Warum überhaupt ein Makro oder eine Procedure?

Code: Alles auswählen

  variable + value

Re: Pointer in Prozeduren

Verfasst: 15.09.2013 20:15
von Schranz0r
Die ASM-Version ist gut :)
Auch dir DANKE!