Page 3 sur 5
Publié : dim. 09/oct./2005 19:20
par comtois
Cette wichlist avec celle du forum anglais, ça me fait penser à la lettre au père noël que les enfants écrivent à l'approche des fêtes de fin d'année
Va falloir que Fred trouve une bande de petits lutins pour l'aider à réaliser
les souhaits de tout le monde
J'ai été sage toute l'année ,et si je fais la vaisselle jusqu'à noël vous croyez que je peux ajouter mes voeux en matière de 3D ?

Publié : dim. 09/oct./2005 21:41
par Oliv
Dobro : Et en passant par une structure, on peut obteni assez facilement le même effet non ? Je sais c'est une "rustine" mais le temps qu'elle casse le moteur aura cassé :p
Publié : dim. 09/oct./2005 21:47
par Flype
Par rapport au ProcedureReturn avec plusieurs valeurs, je pense que l'idéal serait une solution comme dans python par ex.
Pour çà il faudrait et serait génial que Purebasic gère un nouveau type de données : les suites.
Un example sera plus parlant (mon voeux serait donc ce source fonctionne réellement) :
Code : Tout sélectionner
MaSuite1.LIST = [0,1,2,3,4]
MaSuite2.LIST = [5,6,7,8,9]
Debug MaSuite1 ; output: [0, 1, 2, 3, 4]
MaSuite1 + MaSuite2
Debug MaSuite1 ; output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Debug Len(MaSuite) ; output: 10
Debug MaSuite[5] ; output: 5
MaSuite3.LIST = [ "MaSuite2", MaSuite2 ]
Debug MaSuite3 ; output: [ "MaSuite2", [5, 6, 7, 8, 9] ]
MaSuite3[0] + "_"
Debug MaSuite3 ; output: [ "MaSuite2_", [5, 6, 7, 8, 9] ]
MaSuite3[1][0] = 10
Debug MaSuite3 ; output: [ "MaSuite2_", [10, 6, 7, 8, 9] ]
;------------------
Procedure.LIST Digits()
result.LIST = ["0","1","2","3","4","5","6","7","8","9"]
ProcedureReturn result
EndProcedure
Procedure.LIST HexDigits()
result.LIST = Digits() + ["A","B","C","D","E","F"]
ProcedureReturn result
EndProcedure
a.LIST = HexDigits()
Debug a ; output: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]
For i in a
Debug i ; output: 0 puis 1 puis 2, etc.
Next
For i=0 To Len(a)
Debug a[i] ; ouput: idem
Next
For i=0 To Len(Digits())
Debug Digits()[i] ; ouput: idem
Next
Publié : dim. 09/oct./2005 22:08
par Progi1984
Ca c'est une sacrée demande !
Publié : dim. 09/oct./2005 22:09
par Backup
Dobro : Et en passant par une structure, on peut obteni assez facilement le même effet non ? Je sais c'est une "rustine" mais le temps qu'elle casse le moteur aura cassé :p
oui ! c'est vrai !! en attendant moi j'utilise tous simplement des globales !
mais c'est quand meme moins elegant
@Flype
les listes c'est bien (bien que je maitrise pas vraiment le sujet

)
mais d'un point de vue syntaxe
faire un truc comme a,b,c$= procedure(t,u,f.s,u,i,o,p) me parrait tres tres clair !
pas toi ?

surtout que ça ne doit pas changer grand chose dans le fonctionnement du Pure , car il sagit en fait de transferer le contenu de variables local dans des variables globale en retour !
mais je suis d'accord avec le fait d'avoir un type liste comme tu le site
comme dans le LISP , le LOGO

!
pour moi plus y en as mieux c'est !

tu ne me verra pas denigrer une idées qui apporte un plus !
du moment que ça ne complique pas la comprehention du PureBasic
j'ai mis du temps a utiliser les structures , et pourtant maintenant
j'adore ça !

Publié : lun. 10/oct./2005 9:37
par LeCyb
C'est peut-être stupide ce que je vais dire mais pourquoi ne pas utiliser une structure et renvoyer un pointeur ?
Si je ne m'abuse cela permet de renvoyer plusieurs valeurs de types différents, chaînes comprises.
Par contre ça n'arrange pas le truc de Flype

Publié : lun. 10/oct./2005 9:45
par Chris
Moi, j'utilise une liste chainée.
Comme ça, tu n'as même pas à renvoyer de pointeur

Publié : lun. 10/oct./2005 10:46
par Backup
C'est peut-être stupide ce que je vais dire mais pourquoi ne pas utiliser une structure et renvoyer un pointeur ?
il y a toujours moyen d'eviter d'utiliser tel ou tel avantage !
des que quelqu'un propose un idée , t'as toujours quelqu'un d'autre pour lui montrer comment s'en passer !
on peut aussi se passer du purebasic , et allez a la peche !
c'est a croire que vous ne lisez pas les post avant de repondre !!
le but de ce topic est de demander des chose utile et pratique !
pour te repondre , tu trouve qu'utiliser des pointeur et des structure soit plus simple et plus rapide , et plus court a ecrire que juste
je ne crache pas sur les structures , et leur differentes utilisations , mais ici on demande quelque chose qui n'existe pas !!
or le passage de multiparametre en entrée existe , mais pas le passage multi-parametres en sortie d'une procedure !!
je vais meme t'avouer une chose !
je n'utilise quasiment jamais les procedures a cause de ça !
perso j'utilise les globales , et les sous-programme avec "return" !!
car cela correspond mieux a ce que je connaissais a l'epoque du GFA et du STOS basic !!
voila voila !
Publié : lun. 10/oct./2005 20:28
par Flype
LeCyb a écrit :C'est peut-être stupide ce que je vais dire mais pourquoi ne pas utiliser une structure et renvoyer un pointeur ?
Si je ne m'abuse cela permet de renvoyer plusieurs valeurs de types différents, chaînes comprises.
Par contre ça n'arrange pas le truc de Flype

c'est sûr heureusement que l'on peut faire çà grâce aux structures (ma méthode actuelle effectivement) mais en tout cas je vois pas en quoi çà gènerait pour les suites.
soit tu programmes comme d'hab, genre :
procedure.l mafonction()
*a\left = 0
*a\top = 0
*a\right = 0
*a\bottom = 0
procedurereturn *a.Rect
endprocedure
*output.RECT = mafonction()
soit tu 'programmerais' en utilisant des suites, genre :
procedure.LIST mafonction()
a.LIST = [0,0,0,0]
procedurereturn a
; ou procedurereturn [0,0,0,0]
endprocedure
l,t,r,b = mafonction()
ou
output.LIST = mafonction()
Publié : lun. 10/oct./2005 22:48
par Dräc
Dobro a écrit :C'est peut-être stupide ce que je vais dire mais pourquoi ne pas utiliser une structure et renvoyer un pointeur ?
il y a toujours moyen d'eviter d'utiliser tel ou tel avantage !
des que quelqu'un propose un idée , t'as toujours quelqu'un d'autre pour lui montrer comment s'en passer !
Pas étonnant au final: très souvent les demandes d’évolution représentent plus une couche compilo pour faciliter l’écriture que véritablement de nouveaux « objets » car elles se traduiront derriere par l’utilisation d’éléments de base dont PB dispose déjà comme les pointeurs.
PureBasic est en effet suffisamment mure pour permettre de résoudre le plus part des soucis de programmation, mais il faut aussi comprendre qu'il est tout à fait légitime de demander à améliorer le langage, ce qui en fait tout l'intérêt...

Publié : lun. 10/oct./2005 22:56
par Dräc
Flype a écrit :Par rapport au ProcedureReturn avec plusieurs valeurs, je pense que l'idéal serait une solution comme dans python par ex.
Pour çà il faudrait et serait génial que Purebasic gère un nouveau type de données : les suites.
Ce type de données est l'équivalent des vecteurs en Java et je dois dire que c'est un élement permettant notamment de répondre à l'idée de "tableau" dynamique.
Là encore, cela peut ce programmer en librairie PB, mais c'est suffisamment utile en programmation pour que cela existe en natif, à l'image des listes chainées...
Publié : mar. 11/oct./2005 21:56
par poshu
j'aimerais un meilleur KeyboardInkey(); qui donne le charactere de la touche quand elle est appuyé plutot qu'au moment ou elle est relaché, comme la logique le voudrait.
Publié : mer. 12/oct./2005 9:32
par Dr. Dri
et une lib keyword et mouse en dehors du mode screen !
Dri
Publié : mer. 12/oct./2005 18:05
par Oliv
Dr. Dri a écrit :et une lib keyword et mouse en dehors du mode screen !
Dri
Oui ça serait pratique

Publié : mer. 12/oct./2005 18:21
par Backup
+1
