Filter auf Array ? [erledigt]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

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

Filter auf Array ? [erledigt]

Beitrag von AUGE_OHR »

hi,

wie hole ich aus einem Array nur die Elemente die einem "Filter" entsprechen :?:

Code: Alles auswählen

FUNCTION ArrayFilter(cDLL)
LOCAL aALL := Get_Array()
LOCAL aRet := {}
LOCAL nStart := 1
LOCAL nPosi

   DO WHILE .T.
      nPosi := ASCAN(aALL,{|x| x[1] = cDLL },nStart)
      IF nPosi > 0
         AADD(aRet,aALL[nPosi])
         nStart := nPosi+1
      ELSE
         EXIT
      ENDIF
   ENDDO
RETURN aRet
so geht es zwar aber es müsste "noch einfacher" gehen ... wie :-k
Zuletzt geändert von AUGE_OHR am Fr, 02. Nov 2018 23:13, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Filter auf Array ?

Beitrag von Werner_Bayern »

Code: Alles auswählen

aeval(aAll, {|x|if(x[1] = cDLL, aadd(aRet, x[1]), )})
es grüßt

Werner

<when the music is over, turn off the lights!>
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: Filter auf Array ?

Beitrag von AUGE_OHR »

DANKE

da es sich um ein 2-Dim Array handelt muss ich es ein wenig ändern

Code: Alles auswählen

   AEVAL(aAll, {|x|if(x[1] = cDLL, aadd(aRet, x ), )})
gruss by OHR
Jimmy
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Filter auf Array ? [erledigt]

Beitrag von Werner_Bayern »

Bitte :)
es grüßt

Werner

<when the music is over, turn off the lights!>
Antworten