Array aus Procedure übergeben...

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Code: Alles auswählen

Procedure Test1()
  Dim myArray$(3)
  myArray$(0)="Arrays"
  myArray$(1)="sind"
  myArray$(2)="leider"
  myArray$(3)="global"
EndProcedure

Procedure Test2()
  Debug myArray$(0)
  Debug myArray$(1)
  Debug myArray$(2)
  Debug myArray$(3)
EndProcedure

Test1()
Test2()
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Das wäre eine Möglichkeit, fals es dir recht, wenn du gleichzeitig nur 1 Array haben kannst. Um das ganze so zu machen, das mehrere Ergebnisse gleichzeitig erhalten bleiben sind Pointer nötig. Pointer -> Forumssuche benutzten :D

Code: Alles auswählen

;Parameter sind die selben wie in VB
;Rückgabewert ist die Anzahl der gefunden Stringfelder
;das Ergebnis befindet sich immer in SplitString$( )
Procedure Split(String$, Separator$)
  Protected CountString.l, Num.l
  CountString = CountString(String$, Separator$)+1
  Dim SplitString$(CountString)
  
  For Num = 1 To CountString
    SplitString$(Num) = StringField(String$, Num, Separator$)
  Next
  ProcedureReturn CountString
EndProcedure

;Beispiel

myText$ = "Ich bin ein Test"
CountString = Split(myText$, " ")

For Num = 1 To CountString
  Debug SplitString$(Num)
Next
MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Man könnt auch die Explode()-Procedure aus meiner PHPString-Library nehmen, die genau das macht was du willst. Das einzige Problem ist das man den Array vorher freen sollte.

-> http://forums.purebasic.com/german/view ... highlight=

Code: Alles auswählen

Dim E_Array.s(0) 
FreeArray(E_Array()) 
E_Array() = Explode("a","bac") 

For i = 0 To CountArray(E_Array())-1 
  Debug E_Array(i) 
Next
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Ghosty1967
Beiträge: 205
Registriert: 29.08.2005 13:56
Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
Wohnort: Köln

Beitrag von Ghosty1967 »

Also, ich danke Euch allen für die Hilfe...
Ich werde noch ein wenig rumbasteln und denke, ich bekomme
das auch ohne Arrays hin :allright: ...
wäre aber eleganter gewesen

Bis zum nächsten mal !
Benutzeravatar
Ghosty1967
Beiträge: 205
Registriert: 29.08.2005 13:56
Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
Wohnort: Köln

Beitrag von Ghosty1967 »

Totaler Quatsch... sorry, war wieder mal zu schnell und habe die zweite
Seite übersprungen... Ich werde also ein wenig mit euren Vorschlägen
basteln !
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Esgibt auch eine Edit-Funktion, Ghosty... Es gibt manche Leute hier, die hassen Doppelpostings ungemein... (Auch wenn ich nicht dazugehöre, es gibt andere Dinge, die ich weitaus mehr hasse... :mrgreen: ).
An Kiffi's Möglichkeit hatte ich auch einen Moment gedacht, aber die erschien mir unlogsch, weil man da den Namen des Arrays doch schon kennen müsste (oder irre ich mich?).
Benutzeravatar
Ghosty1967
Beiträge: 205
Registriert: 29.08.2005 13:56
Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
Wohnort: Köln

Beitrag von Ghosty1967 »

Sorry... bin halt neu :mrgreen:
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Macht ja nix - ein Forum ist ja zum Lernen da! :wink: :D
Antworten