PureBasic

Forums PureBasic
Nous sommes le Sam 24/Aoû/2019 19:49

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 2 messages ] 
Auteur Message
 Sujet du message: Procédures avec tableaux
MessagePosté: Mar 24/Mai/2016 10:01 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1648
Localisation: Belgique
Beaucoup le savent déjà, mais pour les novices voici comment passer un tableau à une procédure.

Quel est l'intérêt ?
  • Passer plusieurs valeurs en un seul paramètre (tableau)
  • Modifier plusieurs paramètres avec la procédure et récupérer les paramètres en dehors de la procédure

Noter bien: Dans la procédure on renseigne le nombre de dimensions du tableau (1 minimum) et pas le nombre d'éléments

Première exemple Tableau à une dimension

Code:
Enumeration
    #X
    #Y
    #W
    #H
EndEnumeration
; ATTENTION ici est le piège
; Le chiffre 1 représente le nombre de dimensions du tableau et PAS le nombre d'éléments
Procedure Calcul(Array Pos(1))
    Pos(#X)=50
    Pos(#Y)=150
    Pos(#W)=250
    Pos(#H)=350
EndProcedure
; Exemple de calcul de dimension d'un rectangle par exemple
; je dimensionne un tableau
Dim myPos(#H) ; remarquez j'utilise une énumération pour que ce soit plus claire
Calcul(myPos())
Debug "Position X = "+Str(myPos(#X))
Debug "Position Y = "+Str(myPos(#Y))
Debug "Position W = "+Str(myPos(#W))
Debug "Position H = "+Str(myPos(#H))


Deuxième exemple Tableau à deux dimensions

Code:
Enumeration
    #Position
    #LigneSize
EndEnumeration
Enumeration
    #X
    #Y
    #W
    #H
EndEnumeration
; ATTENTION ici est le piège
; Le chiffre 2 représente le nombre de dimensions du tableau et PAS le nombre d'éléments
Procedure Calcul(Array Pos(2))
    Pos(#Position,#X)=50
    Pos(#LigneSize,#X)=5
    Pos(#Position,#Y)=150
    Pos(#LigneSize,#Y)=15
    Pos(#Position,#W)=250
    Pos(#LigneSize,#W)=25
    Pos(#Position,#H)=350
    Pos(#LigneSize,#H)=35
EndProcedure
; Exemple de calcul de dimension d'un rectangle par exemple mais cette
; fois avec la taille de la ligne (ceci n'est évidement qu'un exemple)
; je dimensionne un tableau
Dim myPos(#LigneSize,#H) ; remarquez j'utilise une énumération pour que ce soit plus claire
Calcul(myPos())
Debug "Position X = "+Str(myPos(#Position,#X))+"  et une ligne de "+Str(myPos(#LigneSize,#X))
Debug "Position Y = "+Str(myPos(#Position,#Y))+"  et une ligne de "+Str(myPos(#LigneSize,#Y))
Debug "Position W = "+Str(myPos(#Position,#W))+"  et une ligne de "+Str(myPos(#LigneSize,#W))
Debug "Position H = "+Str(myPos(#Position,#H))+"  et une ligne de "+Str(myPos(#LigneSize,#H))


Voila c'est un petit tuto très court, mais j'espère qu'il pourra vous être utile

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Procédures avec tableaux
MessagePosté: Mar 12/Juil/2016 13:00 
Hors ligne

Inscription: Mer 29/Juin/2016 12:05
Messages: 3
Merci pour le post, ça m'a beaucoup aidé :D


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 2 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye