Problème d'index [Résolu]

Signaler
Messages postés
57
Date d'inscription
mercredi 25 août 2004
Statut
Membre
Dernière intervention
18 avril 2005
-
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
-
Bonjour à tous,





Je possède sur une form différent TImage, alignés en lignes et en colonnes.





En sachant que les images sont remplies par lignes, de gauche à droite
(si une ligne est pleine, on passe à la suivante), je voudrais pouvoir
récupérer le n° de colonne et le n° de ligne d'un objet, en sachant son
index.





C'est surement tout bête, mais je bute là dessus.





Par exemple :





Je dispose de 3 objets par lignes, et de 4 lignes. Si j'ai comme index 5, j'obtiens : n° de ligne : 2 ; n° de colonne : 2




Dans mon programme, j'ai trois variable, une pour le nombre de
ligne, une pour le nombre de colonne et une me spécifiant l'index.





Merci d'avance





Bye





Seb

bLiNkSeB - Anciennement sebastienbro
A voir également:

7 réponses

Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
oula y'a une bourde dsl...

var Index, IndexLigne , IndexColonne : Integer;

IndexLigne := 1;
while Index > NbColonnes do
begin
Index : = Index - NbColonnes;
inc(IndexLigne);
end;
IndexColonne := Index;


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
var Index, IndexLigne , IndexColonne : Integer;

IndexLigne := 1;
while Index > NbColonnes do
begin
Index : = Index - NbColonnes;
inc(IndexLigne);
end;
IndexLigne := IndexColonne;

NbColonnes contient le nombre de colonnes du "tableau".
La fonction te renvoie le numéro de la ligne et le numéro de la colonne de l'objet dont l'index est "Index".


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Messages postés
57
Date d'inscription
mercredi 25 août 2004
Statut
Membre
Dernière intervention
18 avril 2005

Merci beaucoup !

bLiNkSeB - Anciennement sebastienbro
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
4
Salut,

Petite remarque :

Il est préférable, en général et en programmation, de préférer les index de tables commançant à 0



La première image est d'index 0


La première colonne est d'index 0


La première ligne est d'index 0


.. et ça simplifie bien des choses !





Ken@vo

____________________

Code, Code, Codec !
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Complètement d'accord avec toi Kenavo , mais dans sa question, blinkseb avait demandé :
Je dispose de 3 objets par lignes, et de 4 lignes. Si j'ai comme index 5, j'obtiens : n° de ligne : 2 ; n° de colonne : 2



@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
4
Je sais, Nico, et ce n'est pas à toi qu'est adressée cette remarque.



Mais il y a souvent, comme ici, des petits trucs qui me font un peu mal.



Dans la série : Ne disez pas "disez", disez "dites" !



Ne disez pas :

MonTableau = Array[1..NbElements] of ...

Disez :


MonTableau = Array[0..NbElements-1] of ...



Ne disez pas :

if MonBoolean = True then

Disez :

if MonBoolean then




Ne disez pas :

if MonBoolean = False then

Disez :

if not MonBoolean then





etc .....







Ken@vo

____________________

Code, Code, Codec !
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Kenavo


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !