Gambas France BETA


Pas de compte ? Incription

Détruire un objet

1
AuteurMessages
jeanyvon#1 Posté le 25/1/2010 à 17:38:00
Gambas? Ma! Et gustoSalut,
Je sais créer des objets

1
DIM monobjet[10] AS OBJECT


je sais les utiliser
mais je ne sais pas les effacer de la feuille!
comment faire
Merci d'avance
JY
Vieillir? On peut retarder mais pas y échapper!
gambix#2 Posté le 25/1/2010 à 19:29:00
Faire simple !JY tu dit un formulaire ou form comme tout le monde tu n'est pas sous exel la ;)


d'abort tu oublit cette écriture stp et tu fait un :

Dim MonTableauObjet as new Object[10]

car oui tu a fait un tableau la pas un objet

ensuite il est automatiquement détruit a la fin de la procedure car tu est avec une variable local ...

sinon un simple MonTableauObjet = Null suffira

L'avantage avec mon écriture c'est que tu utilise une classe array... donc ton table est modifiable...

.Add =>ajouter une entrée
.Count => combien d'entrée
.resize => ajouter des entrée

le fait de faire New dans la création du tableau le charge automatiquement avec 10 nouvel objet vides
Moins de texte dans une signature c'est agrandir son espace.
jeanyvon#3 Posté le 25/1/2010 à 21:43:00
Gambas? Ma! Et gustomerci de ta réponse Gambix



PUBLIC boite AS NEW Object[11]

PUBLIC SUB affiche(chemin AS String)
DIM i AS Integer

boite[nombre] = NEW PictureBox(FMain)
boite[nombre].Picture = Picture[chemin]
boite[nombre].stretch = TRUE
boite[nombre].h = allumee.H - 20
boite[nombre].w = allumee.W

SELECT CASE nombre
CASE 0
boite[nombre].top = 10
boite[nombre].left = 10
CASE 1, 2, 3, 4
boite[nombre].top = 10
boite[nombre].left = (boite[nombre].w + 10) * nombre
CASE 5
boite[nombre].top = boite[nombre].h + 20
boite[nombre].left = 10
CASE 6, 7, 8, 9
boite[nombre].top = boite[nombre].h + 20
boite[nombre].left = (boite[nombre].w + 10) * (nombre - 5)
CASE 10
Message.Warning("vous avez trop mangé! tout va se remettre à zéro", "Voilà")
FOR i = 0 TO nombre
boite = NULL
NEXT
nombre = 0
Button6_Click
END SELECT

INC nombre

END
a très bien, ce code fonctionne a merveille sauf que les picturebox reste visible sur la form si je dépasse 10 ou si j'annule avec une autre sub
Vieillir? On peut retarder mais pas y échapper!
Bernard#4 Posté le 15/3/2010 à 19:18:00
Bonsoir ,

pour détruire un objet:

boite[nombre].Delete
jeanyvon#5 Posté le 15/3/2010 à 21:02:00
Gambas? Ma! Et gustoMerci bernard
J'avais trouvé... :drunken:
Tu es entrain de tout lire?
A+
JY
Vieillir? On peut retarder mais pas y échapper!
Bernard#6 Posté le 15/3/2010 à 21:52:00
Non, pas tout

mais 5 mn de temps en temps, pour me reposer le cerveau
entre deux lignes de programation

à+
bernard
1