Gambas France BETA


Pas de compte ? Incription

Insérer une ligne dans un tableau dejà rempli

1
AuteurMessages
Invité#1 Posté le 5/4/2010 à 00:14:00
Comment insérer une ligne dans un tableau déjà rempli

insérer une ligne à une position qui sera déterminée par sa première valeur

j'ai bien rajoute des lignes avec Tableau.add([a,b]) , mais la position reste à maitriser

Par ex: un tableau composé de 2 colonnes et X lignes

La premiere colonne évolue avec un step de 1 ,et, à partir d'une valeur entière quelconque.

je veux insérer une ligne dont sa première valeur sera par ex -3.18

il faut donc que sa position soit entre la ligne qui a pour première valeur -4 et celle qui a pour première valeur -3
gambix#2 Posté le 5/4/2010 à 14:39:00
Faire simple !alor en pseudo code :


grid.rows.insert(find(value)-1)

ou find est une fonction qui cherche dans la colonne la valeur et retourne le numéro de ligne
Moins de texte dans une signature c'est agrandir son espace.
Invité#3 Posté le 5/4/2010 à 19:02:00
pour la gridview c ok

mais si le rajout de ligne dépasse le Max du tableau associé : 'out of bound'

Donc pour rajouter des lignes dans un tableau : array ?

montableau.insert demande un array as object
montableau.rows.insert : pas ok
gambix#4 Posté le 5/4/2010 à 21:37:00
Faire simple !tu rajoute une condition tien

si find renvoit > a rows.count -1 then rows.count = rows.count+1
Moins de texte dans une signature c'est agrandir son espace.
Invité#5 Posté le 6/4/2010 à 14:45:00
en fait find me renvoie -1 ou 0

Mais pour rajouter des lignes directement dans le tableau(array) avant de remplir la grid : est ce possible?
gambix#6 Posté le 6/4/2010 à 20:40:00
Faire simple !oui tu a aussi la fonction add
Moins de texte dans une signature c'est agrandir son espace.
Invité#7 Posté le 6/4/2010 à 22:43:00
** oui c'est avec cette fonction que je rempli le tableau avec une boucle For Next par ex

mais une fois le tableau rempli :
si je fais par ex : MonTableau.Add([essaix, essaiy])
et bien je ne vois nul part ces deux variables!
elles n'apparaissent pas dans la gridview remplie avec le code ci dessous (posté par toi dans le forum)


PUBLIC SUB GridView1_Data(Rows AS Integer, columns AS Integer)
MonTableau.Add([essaix, essaiy])
GridView1.Data.Text = MonTableau[Rows][columns]
END


** Et dans le cas d'un tableau y a t'il une fonction comme Montableau.find(value) : ici find(value) me renvoie 0 ou -1 s'ila trouvé ou non la value,et non pas le numéro de ligne
if ok alors montableau.add([essaiX, essaiy]) à la ligne (value -1)
1