Seite 1 von 1

Werte in Array austauschen (hoch/runter)

Verfasst: 11.07.2006 16:25
von Delle
Hallo,

es existieren 20 StringGadgets, deren Inhalt gleichzeitig auch in einem Array gespeichert sind.

Nun soll es möglich sein, dass man z.B. einen Befehl ausführt:

"Feld 0 soll ein Feld runter"
-> Feld 0 landet in Feld 1 und Feld 1 rutscht automatisch auf Feld 0

"Feld 3 soll ein Feld hoch"
-> Feld 3 landet in Feld 2 und Feld 2 rutscht automatisch auf Feld 3

Code: Alles auswählen

Dim Feld.s(20) 

Feld(0)="dateiname1.txt"
Feld(1)="dateiname2.txt"
Feld(2)="dateiname3.txt"
Feld(3)="dateiname4.txt"
; usw.

Austausch(1,"hoch")

Procedure Austausch(Was.s,Aktion.s)

; Feldwerte zwischenspeichern
; Felder austauschen (und Checks ob nicht Feld 0 "hoch" soll usw.)
; StringGadgets neu befüllen

EndProcedure
Ist das etwa der richtige Weg, oder geht es intelligenter?

Verfasst: 11.07.2006 16:28
von bobobo
ne Linked List statt Array ..

da gibts dann auch ein Swapelements()



Ansonsten wäre es intelligenter ins Freibad zu gehen
statt vorm PC ArraySpäßchen zu coden :)

Verfasst: 11.07.2006 16:29
von Kiffi
bobobo hat geschrieben:da gibts dann auch ein Swapelements()
Swap gibt's auch für Arrays.

@Delle:

Code: Alles auswählen

Swap Feld(0), Feld(1)
Grüße ... Kiffi

Verfasst: 11.07.2006 16:33
von Delle
Lists gehen leider nicht, da ich immer konkret auf die Arrays zugreifen muss...

Okay Swap() geht, aber nur mit PB4 ;)

Demzufolge muss ich eben nur noch prüfen, ob nicht Feld 0 z.B. hochgeschoben werden soll oder?

Verfasst: 11.07.2006 16:36
von bobobo
Jau .. auf die ArrayGrenzen musst Du selber achten (sobald der Debugger nicht mehr mitläuft)

Verfasst: 11.07.2006 16:39
von Kaeru Gaman
> Okay Swap() geht, aber nur mit PB4

du hast keinen ton gesagt, dass du für 3.9x fragst.. o_O

wenn du "manuell" swappen willst, brauchst du nen zwischenspeicher:

Code: Alles auswählen

swap$ = Feld$(0)
Feld$(0) = Feld$(1)
Feld$(1) = swap$

Verfasst: 11.07.2006 18:46
von Kiffi
> Okay Swap() geht, aber nur mit PB4 ;)

trage bitte Deine PB-Version in die Signatur ein.

Grüße ... Kiffi