banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Wed 26 May 2010 16:43

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

[Map Basic 10] List Box (champs dupliqué)

Bonjour à tous,

J'ai un mbx avec un list box. Le list box se met a jour (se rempli) selon le nom des champs d'une table choisi.
Mon problème est que quand je ferme mon dialogue (bouton annulé) et que je le réouvre et rechoisi une table, le list box se rempli a nouveau mais contenant 2 fois les noms des champs. Pourtant dans ma procédure j'ai un  «Alter Control 7 Title ""» se qui a mon avis devait "vider" mon list box.

Hors ligne

 

#2 Wed 26 May 2010 19:16

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [Map Basic 10] List Box (champs dupliqué)

Bonjour
Bien vu le Alter Control 7 Title ""...mais avez vous aussi un Redim variable_liste(0) pour "vidanger" la liste précédemment établie ??

Hors ligne

 

#3 Wed 26 May 2010 19:26

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: [Map Basic 10] List Box (champs dupliqué)

bonjour

J'ai pu règler le problème. Voici le code

Code:

sub listbox_valeurs 

dim a_list as string
Dim i_numcols As SmallInt
dim i as smallint

i_numcols = TableInfo(adresse, TAB_INFO_NCOLS)

if i_numcols=0 then exit sub 
end if

for i=1 to i_numcols
a_list=a_list+ColumnInfo(adresse,"col"+i,COL_INFO_NAME)+";"
next
a_list=left$(a_list, len(a_list)-1)
Alter Control 7 Title a_list
a_list = ""

Et voici ce que j'en ai conclu... c'est que le "Controle 7 Title" ne peut être altéré comme un simple controle value e.g. edit text. Même en essayant de passer mon «""» en variable.  Pour résoudre mon problème j'ai ajouter a la fin de la procédure a_list = "" ce qui fait que ma variable est vidangée après que la valeur ait été attribué à la liste box et donc lorsque la sub est invoqué ma variable ne contient plus la champs non voulu.

@ Maurice

Je croyais que Redim variable_liste(0) s'appliquait seulement au variable "Array" ?....si non, as-tu un code concrès ou il est utilisé comme exemple?

Dernière modification par jean94 (Wed 26 May 2010 19:27)

Hors ligne

 

#4 Wed 26 May 2010 19:35

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [Map Basic 10] List Box (champs dupliqué)

jean94 a écrit:

Je croyais que Redim variable_liste(0) s'appliquait seulement au variable "Array" ?...


C'est le cas...et je croyais que tu utilisais une variable "array" comme je le fais personnellement toujours quand je dois utiliser une liste smile

Hors ligne

 

#5 Wed 26 May 2010 19:42

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: [Map Basic 10] List Box (champs dupliqué)

Ok pour les bien des utilisateur, et moi-même, pourrais-tu coller un exemple de list box en array pour comparer ici?

JF

Hors ligne

 

#6 Wed 26 May 2010 22:06

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [Map Basic 10] List Box (champs dupliqué)

Sur le même exemple

Code:

sub listbox_valeurs 

dim a_list() as string
Dim i_numcols As SmallInt
dim i as smallint

i_numcols = TableInfo(adresse, TAB_INFO_NCOLS)

if i_numcols=0 then exit sub 
else redim a_list(i_numcols)
end if

for i=1 to i_numcols
a_list(i)=ColumnInfo(adresse,"col"+i,COL_INFO_NAME)
next

Alter Control 7 Title From Variable a_list
Redim a_list(0)

Hors ligne

 

Pied de page des forums

Powered by FluxBB