Page 1 sur 1

Tableau (Dim)

Publié : mar. 11/janv./2011 14:21
par pat
Bonjour à tous,

PB permet (heureusement) de pouvoir transmettre en paramètre (grâce à ARRAY) les tableaux.
Pour cela, voir l'exemple de PB dans l'aide.
L'exemple fourni transmet un tableau d'indice 10.
Essayez à la place du nombre 10 d'affecter une variable (par exemple variable=10) et donc de transmettre un tableau (par exemple Montableau(variable)).
Vous aurez une erreur.
Ce qui veut dire qu'on ne peut transmettre en paramètre un tableau avec comme indice une variable.
Une sérieuse limitation vu que souvent on ne connaît pas la taille des tableaux.
Je pense que PB peut très facilement réparer ce manquement que je pense important.

Re: Tableau (Dim)

Publié : mar. 11/janv./2011 15:36
par Backup
pat a écrit : Ce qui veut dire qu'on ne peut transmettre en paramètre un tableau avec comme indice une variable.

peut etre une autre voie a suivre :

Code : Tout sélectionner

Declare tintin(Array toto(1) )
element=10 ; defii une valeur dans la variable "element"
Dim toto(element) ; dimensionne le tableau toto avec ctte variable

; remplis le tableau avec des chiffre de 0 a 10
taille_tableau=ArraySize(toto(),1) ; recupere la taille du tableau

For i=0 To taille_tableau
  toto(i)=i
Next i
CallDebugger
tintin( toto() )






Procedure tintin( Array toto(1) )
  taille_tableau=ArraySize(toto(),1) ; recupere la taille du tableau
  
  For i=0 To taille_tableau
    Debug toto(i)
  Next i
EndProcedure



Re: Tableau (Dim)

Publié : jeu. 13/janv./2011 14:13
par pat
Merci Dobro.
Evidemment, avec ArraySize on connaît la taille du tableau.
Mais cela n'enlève rien qu'on ne peut pas transmettre en paramètre un tableau avec comme indice une variable.
On peut toujours se débrouiller pour pallier à ce manquement mais le travail allonge le temps d'exécution du programme et ce n'est pas très naturel.
Je pense qu'une petite amélioration de PB ne serait pas de trop.

Re: Tableau (Dim)

Publié : mar. 22/févr./2011 18:15
par anissa
CallDebugger

C'est la 1èr fois qu je vois ça! que fait cette instruction?

merci

Re: Tableau (Dim)

Publié : mar. 22/févr./2011 18:18
par Cls
anissa a écrit :CallDebugger

C'est la 1èr fois qu je vois ça! que fait cette instruction?

merci
Elle appelle le debugger... :mrgreen:
En fait elle suspend l’exécution du programme pour donner le contrôle au debugger qui te permet alors de visualiser l'état des variables, des zones mémoires, etc. Tu peux aussi faire du pas à pas.