Record et boucle..

XgaletteX Messages postés 102 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 12 août 2005 - 18 juil. 2005 à 10:08
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 - 18 juil. 2005 à 12:35
Bonjour,

Je voulai savoir comment es ce que l'on fait pour balayer l'ensemble des champs d'un record dans une boucle? Je voudrai qu'à chaque itération de ma boucle de passe au champ suivant de mon record

6 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
18 juil. 2005 à 10:27
salut,

tu peux faire comme ça:

var

LECTURE:integer;

MonRecord :record

champ1:interger;

champ2:integer;

.

.

champN:integer

end;

lecture des champs dans une boucle:

for i:=1 to N do (N=nombre de champs)

begin

with MonRecord do

begin

case N to

1: LECTURE:=champ1;

2:LECTURE:=champ2;

.

.

N:LECTURE:=champN;;

end;

end;

end;
0
jinh68 Messages postés 215 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 1 septembre 2006
18 juil. 2005 à 10:29
A mon avis , tu ne pourras pas en passant par un record. Si tu as des
champs de différents types, passe par une classe ou une TCollection au
mieux je pense.

j!nH
0
jinh68 Messages postés 215 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 1 septembre 2006
18 juil. 2005 à 10:33
Je ne pense pas qu'il y'a d'intérêt à faire comme ça Jlen100. La boucle
perd totalement de son utilité s'il doit tester à chaque fois la valeur
de l'index pour ensuite faire une correspondance en dur.

j!nH
0
roud59 Messages postés 99 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 26 juillet 2007 2
18 juil. 2005 à 10:50
Je suis d'accord avec j!nH, il faut utiliser des classes, tu pourras ensuite accéder aux propriétés par leur nom en utilisant GetPropInfo, GetInt64Prop, GetStrProp, ...

Roud59
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
18 juil. 2005 à 11:48
salut j!nh et roud59,

c'est vrai que Tclass et Tcollection sont de bons outils, mais ce cas précisleur utilisation est quelques peu superflu.

en effet si dans le programme vous n'avez à utiliser qu'une seulle fois
la boucle il est parfaitement inutile de déclarer une classe ou une
collection

d'autre part l'accès est plus rapide dans ma méthode que l'acces par
les methodes de classe qui font appel à une couche logicielle
suplémentaire

rappelons que l'acces par ma méthode ne prends que 10ns par boucle

d'autre part ma méthode permet également de lire n'importe quel type de donnée.

enfin tout dépend également de ce que l'on veux faire des données et comment on utilise la variable record par la suite;

Mais pourquoi faire simple quand on peut faire compliqué!
0
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
18 juil. 2005 à 12:35
C'est pas possible... sauf par un tableau. Mais cela signifie que toutes les cases ont même types (très peu probable pour ce que tu veux faire). jlen100 propose une solution simple, mais efficace

===========
Validez les réponses si ok...

ViewVite XP : HTML
0