Procedure
Procedure
Rebonjour,
Voila j'ai fait plusieurs constat et ne sais comment compenser ces parties :
je souhaiterai par exemple que ma Procédure me retourne un mavar.Point ou de type structure, apparemment ça passe pas y a t'il une autre solution ? des function ?
sinon je ne peux pas appeler d'autre procédure dans une procédure ? comment rendre le code un minimum lisible et encapsulé ?
Merci
Aliong
Voila j'ai fait plusieurs constat et ne sais comment compenser ces parties :
je souhaiterai par exemple que ma Procédure me retourne un mavar.Point ou de type structure, apparemment ça passe pas y a t'il une autre solution ? des function ?
sinon je ne peux pas appeler d'autre procédure dans une procédure ? comment rendre le code un minimum lisible et encapsulé ?
Merci
Aliong
-
- Messages : 510
- Inscription : dim. 25/mars/2007 13:44
- Localisation : Toulouse, France
- Contact :
Re: Procedure
Eh bien si ^^ :aliong a écrit :R
sinon je ne peux pas appeler d'autre procédure dans une procédure ?
Code : Tout sélectionner
Procedure test1()
Debug "premiere procedure"
EndProcedure
Procedure test2()
test1() ;j'appelle la 1ere Procedure
EndProcedure
test2()
Ensuite si tu veux renvoyer une variable structurée moi je fais comme ca:
Code : Tout sélectionner
Structure coordonnees
x.l
y.l
EndStructure
Procedure affecterCoordonnees(*variable.coordonnees, x, y)
*variable\x = x
*variable\y = y
EndProcedure
coord.coordonnees
affecterCoordonnees(@coord, 12, 10)
Debug coord\x
Debug coord\y
Re: Procedure
super tu reponds bien a mes questions ! :p mais moi bizarrement il ne veut pas compiler ça :
il me reponds "fenetreEnPremierPlan" n'est ni une fonction ni un tableau ni une macro ni une liste !
il parle de fonction ça existe en PB ?
dsl je suis vraiment un gros debutant en PB et j'ai peut être trop pris l'habitude de la POO
pour mon fameux ptOrigine je vais utilisé ta méthode. par contre est il possible sinon de déclarer une variable global et accessible a toutes les procédures ?
merci pour tes reponses
Aliong
Code : Tout sélectionner
Procedure positionFenetre(Handle.l)
ptOrigine.Point
GetClientRect_(Handle, Fenetre.RECT)
ClientToScreen_(Handle, FenetreHG.POINT)
ptOrigine\x = FenetreHG\x
ptOrigine\y = FenetreHG\y
;on replace la fenetre au premier plan
fenetreEnPremierPlan(Handle)
EndProcedure
Procedure fenetreEnPremierPlan(Handle.l)
ShowWindow_(Handle,#SW_HIDE)
ShowWindow_(Handle,#SW_MINIMIZE)
ShowWindow_(Handle,#SW_RESTORE)
EndProcedure
il parle de fonction ça existe en PB ?
dsl je suis vraiment un gros debutant en PB et j'ai peut être trop pris l'habitude de la POO
pour mon fameux ptOrigine je vais utilisé ta méthode. par contre est il possible sinon de déclarer une variable global et accessible a toutes les procédures ?
merci pour tes reponses

Aliong
-
- Messages : 510
- Inscription : dim. 25/mars/2007 13:44
- Localisation : Toulouse, France
- Contact :
Re: Procedure
Quand PB te parle d'une fonction il parle en fait d'une procedure (ce n'est pas tout à fait la meme chose mais PB utilise ces deux termes de la même facon). La compilation ne marche pas car il faut placer ta procedure fenetreEnPremierPlan() AVANT ta procédure positionFenetre(), sinon PB ne "connait" pas encore fenetreEnPremierPlan() quand tu appelles positionFenetre().
Re: Procedure
ok merci j'ai vraiment plus l'habitude du procédural !
-
- Messages : 510
- Inscription : dim. 25/mars/2007 13:44
- Localisation : Toulouse, France
- Contact :
Re: Procedure
de rien 

Re: Procedure
Salut, tu peux aussi utiliser Declare taprocedure() qui te permettra de ne pas être obligé de tenir compte de l'ordre.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
-
- Messages : 510
- Inscription : dim. 25/mars/2007 13:44
- Localisation : Toulouse, France
- Contact :
Re: Procedure
Ha oui j'avais oublié qu'on pouvait faire ca aussi.
Re: Procedure
super merci bien! dernière petite question ! (sur les procédure :p )
la procédure peut elle retourner un tableau ? si oui comment svp ?
merci
Aliong
la procédure peut elle retourner un tableau ? si oui comment svp ?
merci

Aliong
Re: Procedure
..................
Dernière modification par Backup le sam. 19/mars/2011 17:46, modifié 1 fois.
Re: Procedure
Merci M. Dobro !
j'en ai fini avec mes questions sur les procédures !
à bientôt bonne prog à toutes et tous ! :p
j'en ai fini avec mes questions sur les procédures !
à bientôt bonne prog à toutes et tous ! :p
Re: Procedure
Dobro, Il y a pas un problème avec le tableau Dim titi(10,10), il n'existe pas en dehors de la procédure à moins de mettre Static devant.
Re: Procedure
le code que j'ai posté marche parfaitement chez moi 
aucun probleme !
je renvoie l'adresse du tableau interne a la procedure
et je cree un tableau a l'exterieur de la procedure
et c'est lui qui va recuperer les valeurs de l'autre
je n'ai aucune erreur en faisant comme ça
et tu peux tester ..

aucun probleme !
je renvoie l'adresse du tableau interne a la procedure
et je cree un tableau a l'exterieur de la procedure
et c'est lui qui va recuperer les valeurs de l'autre
je n'ai aucune erreur en faisant comme ça
et tu peux tester ..

Re: Procedure
sinon dans l'aide j'ai trouvé ça :
Code : Tout sélectionner
Procedure fill(Array A.l(1), longueur) ; Le 1 représente le nombre de dimensions du tableau
For i = 0 To longueur
A(i) = i
Next i
EndProcedure
Dim A.l(10)
fill(A(), 10) ; Le tableau A() est passé en paramètre
Debug A(5)
Debug A(10)
Re: Procedure
rien a voir !
ta question etait :
là l'exemple de l'aide , c'est pour faire entrer un tableau dans une procedure
en le passant par les parametres !
c'est rien que moins que l'inverse de ta question
ta question etait :
tu demande a sortir un tableau d'une procedurela procédure peut elle retourner un tableau ? si oui comment svp ?
là l'exemple de l'aide , c'est pour faire entrer un tableau dans une procedure
en le passant par les parametres !
c'est rien que moins que l'inverse de ta question
