Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Effacement ou initialisation partiels d'un GRID Dim 28 Oct 2012 - 18:15 | |
| La fonction GRID_CLEAR efface tout, du début jusqu'à une ligne et une colonne indiquée. Malheureusement, cela efface aussi les lignes et colonnes fixes. J'ai donc fait une petite procédure très simple à laquelle un peut donner ligne/colonne de début, et ligne/colonne de fin. On détermine ainsi un rectangle quelconque dans le GRID. Et ce rectangle sera effacé: - Code:
-
sub grid_clear_range(g%,r1%,c1%,r2%,c2%) dim_local r%, c% if r1%>r2% then exit_sub if c1%>c2% then exit_sub for r%=r1% to r2% for c%=c1% to c2% grid_write g%,r%,c%,"" next c% next r% end_sub Et une procédure similaire avec la possibilité de passer une valeur intiale: - Code:
-
sub grid_set_range(g%,r1%,c1%,r2%,c2%,s$) dim_local r%, c% if r1%>r2% then exit_sub if c1%>c2% then exit_sub for r%=r1% to r2% for c%=c1% to c2% grid_write g%,r%,c%,s$ next c% next r% end_sub On l'utilise de la manière suivante: - Code:
-
dim i% full_space 0 grid 10 : grid_row 10,200 : grid_column 10,13 : ' créer un grid de 200x13 width 10,900 : height 10,600 grid_row_fixed 10,1 : ' ceci est la valeur par défaut grid_column_fixed 10,1: ' ceci est la valeur par défaut for i%=1 to 200 grid_write 10,i%,1,str$(i%) next i% for i%=1 to 13 grid_write 10,1,i%,str$(i%) next i% grid_set_range(10,2,2,200,13,"*") : ' tout remplir par des "*" grid_clear_range(10,7,5,35,10) : ' effacer un rectangle end | |
|