Seite 1 von 5

Variable von der Prozedure übergeben

Verfasst: 05.06.2007 22:16
von RSBasic
Guten Abend ihr lieben PB-Progger :D
Wenn ich in der Prozedure eine Variable deren Wert geändert hab, wie kann ich das machen, dass dieser Wert zum Main weitergeleitet wird.
Hoffe ihr wisst was ich meine :wink:

Verfasst: 05.06.2007 22:18
von ts-soft
ProcedureReturn :mrgreen:
Oder Frage deutlicher stellen :wink:

Verfasst: 05.06.2007 22:24
von RSBasic
@ts-soft
Vielen Dank :allright:
Ist ja wieder typich RSBasic, ein Befehl, was ich noch nie benutzt habe und es kann auch so einfach sein :wink: <)

Verfasst: 06.06.2007 19:43
von RSBasic
Ich weis nicht was ich da falsch mache, aber es funktioniert nicht.
Was habe ich falsch gemacht?

Code: Alles auswählen

Procedure abc()
  For a=0 To 100
    x+1
    ProcedureReturn x
    Delay(1)
  Next
EndProcedure

Verfasst: 06.06.2007 19:47
von ts-soft
Mit ProcedureReturn wird die Procedure verlassen, das Loop also beendet!

Verfasst: 06.06.2007 19:50
von RSBasic
OK :)
Aber wieso wird trotzdem x nicht übergeben? Da gibt es keine Änderung. /:->

Code: Alles auswählen

Procedure abc()
  For a=0 To 100
    x+1
    Delay(1)
  Next
  ProcedureReturn x
EndProcedure

Verfasst: 06.06.2007 20:15
von Andreas_S
Also bei mir gehts :?

Code: Alles auswählen

Procedure abc()
  For a=0 To 100
    x+1
    Delay(1)
  Next
  ProcedureReturn x
EndProcedure 


Debug abc()

Verfasst: 06.06.2007 20:18
von RSBasic
@PBprogger
Ne, das Problem ist, dass ich "x"-Wer abfragen möchte, also so funktioniert das nicht:

Code: Alles auswählen

Procedure abc() 
  For a=0 To 100 
    x+1 
    Delay(1) 
  Next 
  ProcedureReturn x 
EndProcedure 

Debug x

Verfasst: 06.06.2007 20:28
von D@nte

Code: Alles auswählen

Procedure abc()
  For a=0 To 100
    x+1
    Delay(1)
  Next
  ProcedureReturn x
EndProcedure

xyz = abc()

Debug xyz 
Ich geh ma von Wald und Bäumen aus :twisted:

Verfasst: 06.06.2007 20:31
von PureBasic4.0
Hi, RSBasic

Du könntest alle Daten in eine LinkedList oder ein Array schreiben und mit ProcedureReturn die Adresse (oder den Pointer?) übergeben. Habe sowas noch nie gemacht und ist auch nur eine Vermutung. Aber ich denke, dass dürfte funktionieren.