Page 4 sur 4

Publié : dim. 23/sept./2007 1:35
par Backup
comme deja maintes fois expliqué
je ne cherche pas une solution pour remplacer !! :?
mais bel et bien que Fred fasse quelque chose au For-next du purebasic
qui est une gentille blague par rapport aux autres basic !! :lol:

Publié : dim. 23/sept./2007 2:49
par Dr. Dri
Je me case dans le débat sans avoir lu ce qui a été dit précédemment. Ca fait longtemps que je ne suis pas passé sur les forums PB et j'ai pas la force de lire tous les nouveaux posts...

Il n'est pas "possible" de faire ce qui est demandé parce qu'un fichier dll ne permet tout simplement pas de retourner plusieurs valeurs dans une fonction. Dans la mesure où ces fichiers répondent à une "convention d'appel des procédures" (stdcall ou CDecl) et commes ces bibliothèques sont prévues pour être partagées on doit s'aligner sur la norme.

Maintenant il n'est pas impossible de retourner plusieurs valeurs. Il suffirait de pouvoir affecter des structures.

Code : Tout sélectionner

;par exemple
a.point = b.point
Du coup, retourner plusieurs valeurs reviendrait à retourner une structure

Code : Tout sélectionner

;par exemple
Procedure.point test()
  ProcedureReturn a.point
EndProcedure
Il existe des langages compilés qui proposent de retourner plusieurs variables d'un type différent.

Code : Tout sélectionner

//par exemple
<int, float> ma_fonction() {
  return <5, 12.5f>;
}
Là encore un système de structure anonyme est utilisé. En tout cas dans les langages que je connais. L'idéal serait vraiment de pouvoir affecter des structures, et à terme redéfinir les opérateurs des types autres que les types de base.

Je pense qu'à partir de là on pourrait avoir ce genre de méchanisme ^_^

Dri

Publié : mar. 25/sept./2007 2:32
par Ollivier
Ouais, ou le truc tout bête finalement.

Code : Tout sélectionner

Structure PAF
    Papa.L
    Maman.L
    LaBonne.S
    EtMoi.F
EndStructure

Declare Poum(*Pif.PAF)

Pif.PAF
Poum(Pif)

Procedure Poum(*Pif.PAF)
    With *Pif
        \Papa + \LaBonne
        \EtMoi * #Pi
        Debug \Maman
    EndWith
EndProcedure

Publié : mar. 25/sept./2007 8:47
par Kwai chang caine
J'suis "xrix" j'ai un message d'erreur dans la macro, qui me dit :cry: