![]() |
| | ||||
| ||||
| |
| |||
| Bonjour, Pas mieux que : FOR EACH element IN la IF Vartype(element)="O" AND element = o ? "trouvé" EXIT ENDIF ENDFOR -- Thierry "Thierry Nivelet" <none***abaqueinside.com> a écrit dans le message de news: OxfygVNDJHA.3396***TK2MSFTNGP03.phx.gbl... > bonjour > > Je remarque que ascan() ne fonctionne pas avec les objets > > local o, la[1] > o = createObject('empty') > la[1] = m.o > ascan(la, m.o) && Operator/operand type mismatch (Error 107) > > comment faites-vous ? > > thn > > |
| |||
| bonjour et merci à vous deux j'ai fait (1) besoin : conteneur avec un tableau à 2 cols [objet contenu | état validé] à chaque validation, je change l'état quand tous sont valides, je passe à l'étape suivante thn PS : mon message sert aussi (surtout) à avertir nos camarades "Gregory" <Gregory***nowhere.com> a écrit dans le message de news:eIpsDtNDJHA.484***TK2MSFTNGP05.phx.gbl... > Thierry, > > Quelques solutions > > (1) Si le nombre d'objets est petit, for/next > > (2) Un objet aura quand-meme un identifiant > Tu crees un tableau a 2 dimensions (ou deux d'une dimension) > Tu mets l'identifiant dans la[.., 1] et l'objet dans la[.., 2] > Tu fais un ascan dans la premiere colonne (ascan peut tres bien le faire) et > tu y accedes via la deuxieme colonne > > S'il y a beaucoup d'objects, preferer un identifiant INTEGER - vitesse de > recherche > > * note: Si c'est un tableau local et le progr est tres intensif cote cpu, > bien que le tableau sera 'released' a la sortie de la fonction, le contenu > ne le sera pas, ie les objets continueront a exister jusqu'au moment que > foxpro a une 'pause'. Si c'est le cas, ajouter release tableau avant de > sortir de la fonction > > (3) Si tu as l'objet, pourquoi faire un ascan ? Tu peux ajouter une > propriete a l'objet - l'index dans la[] > Les 'places/endroits' non-occupe(e)s, tu y mets .F.. Si tu as besoin d'un > endroit libre tu fais un ascan (la, .F.). Si plus de place, dim la[ plus > de place ] > > (4) Utiliser une collection avec des clefs - string + > Collection.GetKey(LaClef) > > Gregory > _ > > "Thierry Nivelet" <none***abaqueinside.com> wrote in message > news:OxfygVNDJHA.3396***TK2MSFTNGP03.phx.gbl... > > bonjour > > > > Je remarque que ascan() ne fonctionne pas avec les objets > > > > local o, la[1] > > o = createObject('empty') > > la[1] = m.o > > ascan(la, m.o) && Operator/operand type mismatch (Error 107) > > > > comment faites-vous ? > > > > thn > > > > > > -- > Gregory > __ > |
| |
| |
![]() |
| Tags: ascan, objet |
| Outils de la discussion | |
| Modes d'affichage | |
| |