Page 1 sur 1

Tableau de procedure à procedure

Publié : jeu. 18/nov./2021 15:57
par Ar-S
Bonjour,

J'ai besoin d'un petit rafraichissement
Comment récupère-t-on un tableau d'une procédure à une autre ?
Je n'arrive pas à synthaxer "array" comme il faut.
Merci

ex :

Code : Tout sélectionner

Global x = 2, y = 5


Procedure Tab()
    
    Dim MonTab (5,5)
    
    For j = 0 To y
        For i = 0 To x
            MonTab (i,j) = count
            count+1
        Next i
    Next j
    
    ;;; test
    
    For j = 0 To y
        For i = 0 To x
            Debug "i "+Str(i)+ " / j"+Str(j) + " " +MonTab(i,j)        
        Next i
    Next j
    
    
EndProcedure


Procedure Retry ()
    ; Je veux mon résultat aussi accessible ici
     For j = 0 To y
        For i = 0 To x
            Debug "i "+Str(i)+ " / j"+Str(j) + " " +MonTab(i,j)        
        Next i
    Next j
    
EndProcedure

; La ça fonctionne
tab()

; La non
Retry()

Re: Tableau de procedure à procedure

Publié : jeu. 18/nov./2021 16:46
par Micoute

Code : Tout sélectionner

Procedure Tab()
    
    Global Dim MonTab (5,5)
    
    For j = 0 To y
        For i = 0 To x
            MonTab (i,j) = count
            count+1
        Next i
    Next j
    
    ;;; test
    
    For j = 0 To y
        For i = 0 To x
            Debug "i "+Str(i)+ " / j"+Str(j) + " " +MonTab(i,j)        
        Next i
    Next j
    
    
EndProcedure
[\code-pb]

Re: Tableau de procedure à procedure

Publié : jeu. 18/nov./2021 16:58
par Ar-S
Global...
Merci Micoute.. je fatigue :roll:

Re: Tableau de procedure à procedure

Publié : ven. 19/nov./2021 7:54
par Micoute
Bonjour Ar-s, ça arrive à n'importe qui de fatiguer, c'est très excusable.

Re: Tableau de procedure à procedure

Publié : ven. 19/nov./2021 9:41
par Mesa
Pas besoin de global:

Code : Tout sélectionner

Global x = 2, y = 5


Procedure Tab(Array ttab(2)); Attention, ici le tableau comporte 2 dimensions
	
	Debug "Taille de la dimension 1 :"
	Debug ArraySize(ttab(), 1)
	Debug "Taille de la dimension 2 :"
	Debug ArraySize(ttab(), 2)
	Debug "****************************"
	
	For j = 0 To y
		For i = 0 To x
			ttab (i,j) = count
			count+1
		Next i
	Next j
	
	;;; test
	
	For j = 0 To y
		For i = 0 To x
			Debug "i "+Str(i)+ " / j"+Str(j) + " " +ttab(i,j)        
		Next i
	Next j
	
	
EndProcedure


Procedure Retry (Array ttab(2)); Attention, ici le tableau comporte 2 dimensions
	
	; Je veux mon résultat aussi accessible ici
	For j = 0 To y
		For i = 0 To x
			Debug "i "+Str(i)+ " / j"+Str(j) + " " +ttab(i,j)        
		Next i
	Next j
	
EndProcedure

Dim tabtab(x,y)

; Là ça fonctionne
tab(tabtab())

Debug "===================="

; Là aussi
Retry(tabtab())
M.

Re: Tableau de procedure à procedure

Publié : ven. 19/nov./2021 10:20
par Ar-S
Merci Mesa. C'est l'utilisation des array que je cherchais. ça n'est pas super intuitif en PB. (peut être compléter la doc avec cet exemple simple).