2-Dim Array : Inhalt verschieben [erledigt]

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

2-Dim Array : Inhalt verschieben [erledigt]

Beitrag von AUGE_OHR »

hi,

wie verschiebe ich den Inhalt "Reihen" bzw. "Spalten" weise ?

Reihe 2->1, 3->2, 4->3 ... "nach oben"
Reihe 19 ->20, 18->19, 17->18 ... "nach unten"

Spalte 19 ->20, 18->19, 17->18 ... "nach rechts"
Spalte 2->1,3->2,4->3 ... "nach links"
Zuletzt geändert von AUGE_OHR am Mo, 08. Okt 2012 6:55, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: 2-Dim Array : Inhalt verschieben

Beitrag von UliTs »

Code: Alles auswählen

FUNCTION RowUp( aArray )
LOCAL nLen,x
  nLen := len(aArray)
  x := aArray[1]
  aRemove( aArray,1 )  // Nach oben
  aAdd( aArray,x)        // Falls die erste Reihe wieder hinten drangehängt werden soll
RETURN( aArray )

FUNCTION RowDown( aArray )
LOCAL nLen,x
  nLen := len(aArray)
  x := array[nLen]
  aIns( aArray,x,1 )      // Falls die letzte Reihe wieder vorne drangehängt werden soll
RETURN( aArray )

// Bei Spalten entsprechend obiges auf jede Reihe anwenden:

FUNCTION ColUp( aArray )
  AEval( aArray,{|aRow|RowUp( @aRow )} )
RETURN( aArray )

FUNCTION ColDown( aArray )
  AEval( aArray,{|aRow|RowDown( @aRow )} )
RETURN( aArray )
Wobei RowUp, RowDown ein mindestens 1-Dimensionales Array benötigen und ColUp,ColDown ein mindestens 2-Dimensionales Array.

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: 2-Dim Array : Inhalt verschieben

Beitrag von AUGE_OHR »

hi,

das sieht ja schon mal gut aus, danke.

jemand eine Idee zum "rechts-links" verschieben der "Spalte" in einem 2-Dim Array ?
gruss by OHR
Jimmy
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: 2-Dim Array : Inhalt verschieben

Beitrag von UliTs »

AUGE_OHR hat geschrieben:jemand eine Idee zum "rechts-links" verschieben der "Spalte" in einem 2-Dim Array ?
Hallo Jimmy,
freut mich, dass Dir die Lösung für das Zeilenverschieben gefällt.
Was gefällt Dir nicht an meiner Lösung für das Spaltenverschieben?

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: 2-Dim Array : Inhalt verschieben

Beitrag von AUGE_OHR »

UliTs hat geschrieben:

Code: Alles auswählen

FUNCTION RowDown( aArray )
  x := array[nLen]
  aIns( aArray,x,1 )
müsste

Code: Alles auswählen

  x := aArray[nLen]
  aIns( aArray,1,x )
sein, oder ?
UliTs hat geschrieben:Was gefällt Dir nicht an meiner Lösung für das Spaltenverschieben?
ich hatte es noch nichts ausprobiert ... nichts zu meckern, danke.
Dateianhänge
MATRIX.ZIP
(643 Bytes) 193-mal heruntergeladen
gruss by OHR
Jimmy
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: 2-Dim Array : Inhalt verschieben [erledigt]

Beitrag von UliTs »

Ja, ebenso danke :-)
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Antworten