Gambas France BETA

Connexion

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
La simplicité évite les erreursalor 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
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
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
La simplicité évite les erreurstu rajoute une condition tien

si find renvoit > a rows.count -1 then rows.count = rows.count+1
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
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
La simplicité évite les erreursoui tu a aussi la fonction add
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
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