Prozedurenvariable zuweisen -> In PB möglich ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Gackt
Beiträge: 27
Registriert: 12.11.2005 19:03
Wohnort: Köln
Kontaktdaten:

Prozedurenvariable zuweisen -> In PB möglich ?

Beitrag von Gackt »

Sry, eine andere Überschrift fiel mir nicht ein.

Ich hab folgendes Problem:

Ich möchte eine Prozedur erstellen und die darin enthaltene sachen
ändern können, ohne die Prozedur zu ändern.

Hier ein Beispiel

Code: Alles auswählen

Procedure zeichne_kreis(rot,grün,blau)
    CreateSprite(0,80,80)
   
   If StartDrawing(SpriteOutput(0))
      Circle(40,40,39,RGB(rot,grün,blau))
      StopDrawing()
   EndIf 
EndProcedure
Wenn ich jetzt den Prozedur aufrufe, will ich, dass ich dann die Farben so
definieren kann, ohne den Prozedur zu ändern.

Bsp.:

Code: Alles auswählen

zeichne_kreis($FF,$00,$00)
So wird dann ein kreis gezeichnet mit den darin enthaltenen Werten
(hier: rot).


Meine frage ist:
Wieso funktioniert das nicht, wenn ich es kompilieren möchte. Ist es in
PB nicht möglich ?


MfG
Gackt
Zuletzt geändert von Gackt am 05.12.2005 20:28, insgesamt 1-mal geändert.
If you put your mind to it,
You could accomplish anything.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ich denke mal, grün ist keine Variable. Vielleicht mal mit gruen versuchen :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Gackt
Beiträge: 27
Registriert: 12.11.2005 19:03
Wohnort: Köln
Kontaktdaten:

Beitrag von Gackt »

Jaaa, es klappt ^^ Dankee vielmals :mrgreen:

In PB ist doch alles möglich ^^ Wie konnte ich nur anders denken :lol:

MfG
Gackt
If you put your mind to it,
You could accomplish anything.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

davon mal abgesehen geht's auch so

Code: Alles auswählen

Global gruen.l,rot.l,blau.l  ; hier !! Globale VariablenDefinitionen (Typ Long)

Procedure zeichne_kreis()
  Debug Str(rot)+" "+Str(gruen)+" "+Str(blau) ; hier !! Benutzung der Globalen Variablen
EndProcedure

rot=255 ; Zuweisung zur glablen Variablen rot
gruen=23 ; Zuweisung zur glablen Variablen gruen
Blau=20 ; Zuweisung zur glablen Variablen blau
zeichne_kreis()
Die Procedure hab ich mal etwas geändert .. aber funktionieren tut sowas auch mit anderem Procedureinhalt.
Zuletzt geändert von bobobo am 05.12.2005 20:24, insgesamt 1-mal geändert.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Re: Prozedurenvariable zuweisen -> In PB möglich ?

Beitrag von freedimension »

Gackt hat geschrieben:... den Prozedur ...
http://dict.leo.org/?search=Prozedur
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Gackt
Beiträge: 27
Registriert: 12.11.2005 19:03
Wohnort: Köln
Kontaktdaten:

Beitrag von Gackt »

@freedimension:
ok, ok, war mein fehler :roll:
Habs editiert.

@bobobo:
Danke, aber so ist es komplizierter find ich.
If you put your mind to it,
You could accomplish anything.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Gackt hat geschrieben:@freedimension:
ok, ok, war mein fehler :roll:
Habs editiert.
Nimm's nicht zu ernst, nicht dass es jetzt heißt der böse freedimension ;) Entschuldigen brauchst du dich auch nicht, und ändern hättest du es auch nicht müssen. Lediglich merken sollst du es dir, dann hätte ich schon alles erreicht was ich wollte und erhoffte :)

Keep 8) :!:
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Gackt
Beiträge: 27
Registriert: 12.11.2005 19:03
Wohnort: Köln
Kontaktdaten:

Beitrag von Gackt »

Nee, wieso sollte ich dir denn deswegen böse sein ? :)
Eigentlich muss ich mich bei dir bedanken, weil du mein Fehler
korrigiert hast <)
Und gemerkt habe ich mir es auch noch. Somit hast du erreicht, was
du erreichen wolltest ^^
Danke :)

MfG
Gackt
If you put your mind to it,
You could accomplish anything.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Du kannst "Entschuldigen" aus meinem Post von oben auch nach Belieben ersetzen durch "Bedanken" ;)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Gackt
Beiträge: 27
Registriert: 12.11.2005 19:03
Wohnort: Köln
Kontaktdaten:

Beitrag von Gackt »

Ok, dann mach ich das mal :lol:

Code: Alles auswählen

Procedure text(titel.s, entschuldige.s)
   MessageRequester(titel, entschuldige) ;Entschuldigen
EndProcedure

text("Bedanke","Danke :P") ; durch bedanken ersetzt :P
Somit hab ich "Entschuldigen" aus deinem Post durch "Bedanken" ersetzt :lol:


MfG
Gackt
If you put your mind to it,
You could accomplish anything.
Antworten