Gambas France BETA


Pas de compte ? Incription

Les class crées : comment s'en bien servir?

1
AuteurMessages
Invité#1 Posté le 9/4/2010 à 17:25:00
J'ai créer un code ,avec de l'aide, pour m'entrainer avec des gridview et une class nécessaire pour les fonctions _sort et _find
mais en fait je ne sais pas comment cela fonctionne, et, ma class n'a pas l'air d'être utilisée
voici le code qu a pour but : De rechercher un numéro de ligne dans un tableau, de trier un tableau avant et/ou apres ajout de valeur dans ce tableau, et mettre tout cela dans un gridview

1
' Gambas class filePUBLIC x AS Float y AS FloatPUBLIC MonTableau AS NEW Object[]PUBLIC Value AS ObjectPUBLIC C AS IntegerPUBLIC SUB _new()ENDPUBLIC SUB Form_Open()DIM i AS IntegerDIM L AS IntegerFOR i = -50 TO 149 x = i y = x + 2 MonTableau.Add([x, y])NEXTMonTableau.add([9999, 8888888888888], 4)Value = [0, 2]C = MonTableau.Find(Value)Label1.Text = CMonTableau.Sort(gb.Ascent)GridView1.columns.Count = 2GridView1.Rows.Count = Abs(i) + 1ENDPUBLIC SUB GridView1_Data(Rows AS Integer, columns AS Integer)GridView1.Data.Text = MonTableau[Rows][columns]END****La Class ****: nommée MonFloatTableau' Gambas class fileINHERITS Float[]PUBLIC SUB _compare(Value AS MonFloatTableau) AS Integer IF ME[0] > Value[0] THEN RETURN 1 IF ME[0] < Value[0] THEN RETURN -1 IF ME[1] > Value[1] THEN RETURN 1 IF ME[1] < Value[1] THEN RETURN -1 RETURN 0END


Le tri sur le tableau (directement sur les valeurs et non sur l'adressage), ainsi que la recherche du numéro de ligne ne fonctionne pas
Donc ma class n'est pas utilisée : faut il la déclarer quelquepart? ou l'appeler quand nécessaire avant MonTableau.sort et MonTableau.find?
jeanyvon#2 Posté le 9/4/2010 à 20:31:00
Gambas? Ma! Et gustoHello!
Ben non ta class n'est pas utilisée : tu ne l'appelle pas.
A+
JY
Vieillir? On peut retarder mais pas y échapper!
Invité#3 Posté le 9/4/2010 à 21:22:00
ben ou J yvon c bien pour ca que je post
C la premiere fois que je me sers d'une class crée mais je sais pas comment faire pour l'appeler
jeanyvon#4 Posté le 10/4/2010 à 08:35:00
Gambas? Ma! Et gustoSalut
télécharge ce truc. C'est gambix qui l'a écrit. C'est claire!
un composant
regarde comment ça se passe. Ce n'est pas la même chose que ce que tu fais mais ça peut se transposer au niveau du travail de la classe.
A+
Bon week end
JY
Vieillir? On peut retarder mais pas y échapper!
Invité#5 Posté le 10/4/2010 à 08:53:00
merci

Mais dommage pour moi j suis en Gambas2 et le projet diode en Gb3
jeanyvon#6 Posté le 10/4/2010 à 14:40:00
Gambas? Ma! Et gustoOui!
c'est sur que ça va pas.....
je t'envoie quelque chose en GB2
A+
JY
Vieillir? On peut retarder mais pas y échapper!
spheris#7 Posté le 10/4/2010 à 16:29:00
ternais,
si ta gridview est remplie à l'aide d'une base de donnée, il te suffit d'ecrire une requete SQL pour trier tes données.
Il est pluto conseillé d'utiliser ta Gridview comme visu et non traiter les données par ta gridview.
;) ;)
Invité#8 Posté le 10/4/2010 à 17:30:00
sphéris
je ne veux pas trier sur la gridview mais sur le tableau

en fait je veux utiliser la fonction MonTableau.find(value) et MonTableau.sort(gb.ascent OU descent)
Mais ces deux fonctions ont besoin de la methode spéciale _compare qui doit être déclarée dans une class
aussi
et là est mon prob dans le sens ou la class crée (MonFloatTableau) je n'arrive pas à lui envoyer les arguments nécessaires

avec l'aide de l'exemple de JYvon j'ai bien rajouté au code de ci dessus
ValeurAenvoyer as MonFloatTableau
ValeurAEnvoyer = new MonFloatTableau
puis MonFloatTableau._compare(ValeurAEnvoyer)

Donc ValeurAEnvoyer pour etre comparer doit avant tout prendre la valeur (value as object) value=[0,2] par exemple

je tourne en rond
1