Rückgabewerte von Proceduren

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Daffy0815
Beiträge: 390
Registriert: 15.06.2005 00:44
Wohnort: 65719 Hofheim
Kontaktdaten:

Rückgabewerte von Proceduren

Beitrag von Daffy0815 »

Hallo,

So wie ich das verstanden habe definiert sich der Datentyp des Rückgabewertes einer Prozedur durch das mit "." angehängte Kürzel.

z.B. "Name.i" für Integer oder Name.s für String.

Ist es möglich auch selbst definierte Datentypen zurückzugeben?

Ich denke da zum Beispiel an eine Prozedur die ein optimal dimensioniertes Fenster aufbaut und dann dessen Höhe UND Breite (also zwei Werte) zurückgibt.

Gruß

Daffy
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
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

Re: Rückgabewerte von Proceduren

Beitrag von ts-soft »

Nein, entweder gibts Du den Pointer zu einer Strukture zurück, die beide oder mehr Werte enthält, oder
Du läßt Dir die Adresse zu 2 Variablen als Parameter geben, die Du füllst.
Ansonsten gäbe es noch List, Array usw. als Parameter.
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
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Re: Rückgabewerte von Proceduren

Beitrag von KeyKon »

Ist in PB leider nicht möglich, du kannst es aber auf die Art umschiffen:

Code: Alles auswählen

Structure typ
  a.i
  b.i
EndStructure

Procedure Test(*ret.typ)
  *ret\a = 10
  *ret\b = 20
EndProcedure

Define retValue.typ

Test(@retValue)

Debug retValue\a
Debug retValue\b
(\/) (°,,,°) (\/)
Benutzeravatar
Daffy0815
Beiträge: 390
Registriert: 15.06.2005 00:44
Wohnort: 65719 Hofheim
Kontaktdaten:

Re: Rückgabewerte von Proceduren

Beitrag von Daffy0815 »

Danke, ich denke das simpelste wäre wohl ein Array.

Gruß

Daffy
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
Benutzeravatar
Daffy0815
Beiträge: 390
Registriert: 15.06.2005 00:44
Wohnort: 65719 Hofheim
Kontaktdaten:

Re: Rückgabewerte von Proceduren

Beitrag von Daffy0815 »

@KeyKon

Auch ne Möglichkeit!

Gruß

Daffy
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
Antworten