ASCAN auf ein Array mit Object auf dessen Property [erledigt]

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

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

ASCAN auf ein Array mit Object auf dessen Property [erledigt]

Beitrag von AUGE_OHR » Fr, 06. Dez 2019 11:04

hi,

ich habe ein Array mit Objecten von Controls. in der CLASS gibt es die Property lESC

nun wollte ich es so abfragen aber da meckert Xpp.EXE

Code: Alles auswählen

nPosi := ASCAN(::aoDP, {|oDP| oDP:lESC = .T. } )
so geht es

Code: Alles auswählen

   iMax := LEN(::aoDP)
   FOR i := 1 TO iMax
      IF ::aoDP[i]:lESC = .T.
         lESC := .T.
         EXIT
      ENDIF
   NEXT
ich komme also an die Property ran.
wie macht man es nun mit ASCAN() :idea:
Zuletzt geändert von AUGE_OHR am Fr, 06. Dez 2019 13:09, insgesamt 1-mal geändert.
gruss by OHR
Jimmy

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8094
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: ASCAN auf ein Array mit Object auf dessen Property

Beitrag von Tom » Fr, 06. Dez 2019 12:07

Bei mir geht das. Es gibt eine Klasse "Dienstplanung", die u.a. eine logische iVar "sysazvmsdp" kennt, die auf .F. defaultet:

Code: Alles auswählen

a := {}
aAdd(a,aDienstplanung():New())
aAdd(a,aDienstplanung():New())
a[2]:sysazvmsdp := .T.
? aScan(a,{|x|x:sysazvmsdp}) // Antwort: 2
Herzlich,
Tom

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12407
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: ASCAN auf ein Array mit Object auf dessen Property

Beitrag von AUGE_OHR » Fr, 06. Dez 2019 13:09

Tom hat geschrieben:
Fr, 06. Dez 2019 12:07
Bei mir geht das. Es gibt eine Klasse "Dienstplanung", die u.a. eine logische iVar "sysazvmsdp" kennt, die auf .F. defaultet:

Code: Alles auswählen

? aScan(a,{|x|x:sysazvmsdp}) // Antwort: 2
das ist die Lösung :idea:

Code: Alles auswählen

nPosi := ASCAN(::aoDP, {|oDP| oDP:lESC } )
also ohne ein "= .T." funktioniert es, Danke =D>
gruss by OHR
Jimmy

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8094
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: ASCAN auf ein Array mit Object auf dessen Property [erledigt]

Beitrag von Tom » Fr, 06. Dez 2019 13:28

Gerne!
Bei mir funktioniert es allerdings auch mit dem "= .T."! 8)
Herzlich,
Tom

Antworten