assignation de type

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

assignation de type

Message par cederavic »

ça serait bien si on pouvait :roll:
Dernière modification par cederavic le lun. 19/avr./2004 17:54, modifié 1 fois.
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

du genre ?
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

euh... je me suis planter :s je voulais dir assignation de type, ... enfin... je sais pas comment dir, ce dont je t'avai parler l'autre foi, par exemple

Code : Tout sélectionner

Structure t
  a.b
EndStructure

g1.t
g2.t

g1\a = 20
g2\a = 10

Debug g1\a ; 20
Debug g2\a ; 10

g1 = g2

Debug g1\a ; 10
bon la ça sert a rien car il n'y a qu'un membre, mais dans le cas d'enormes structures, sa eviterai de copier touts les membres :)
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

je sais que ça énerve quand quelqu'un demande un truc dans la section suggestions , et qu'un autre propose un palliatif , mais bon , peut-être que tu pourrais faire comme ça en attendant :

Code : Tout sélectionner

Structure MaStructure
   a.l
   b.f
   c.l[3]
EndStructure


DefType.MaStructure g1,g2

g1\a = 12345
g1\b = 567.89
g1\c[0]=56
g1\c[1]=654  
g1\c[2]=987  

CopyMemory(@g1,@g2,SizeOf(MaStructure))

Debug g2\a 
Debug g2\b 
Debug g2\c[0]
Debug g2\c[1]  
Debug g2\c[2]
quand tu fais g1=g2 ça revient à faire ça :
CopyMemory(@g2,@g1,SizeOf(MaStructure))
ou je me trompe quelque part ?
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

tient je n'y avais jamais penser a celle la! mais... sa debug 567.890015 au lieu de 567.89, il sort d'ou ce 0.000015?? 8O
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Très bonne question... Cela m'ai déjà arrivé ! J'avais un entier qui était dans un flottant et cela m'a donné 51.000015 au lieu de 51...
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Extrait de l'aide :)
Information concernant les nombres flottants

Un nombre flottant est stocké de telle manière que la 'virgule flotte' autour de la partie réelle. De la sorte il est possible d'avoir des nombres dont la valeur peut être aussi bien grande que petite. Toutefois vous ne pouvez pas stocker de grands nombres avec une précision aussi élevée que des petits nombres. Une autre limitation concernant les nombres flottants est qu'ils restent concrètement représentés sous une forme binaire. De telle manière ils ne peuvent être restitués qu'à partir de multiples et de divisions en base 2. Celà est important pour comprendre que la représentation décimale lors de l'affichage ou du calcul n'est pas tout à fait identique à ce que l'on peut attendre dans une représentation humaine. Représenter 0.5 ou 0.125 est simple car ce sont des divisions parfaites de 2, cela est plus complexe pour des nombres comme 0.1 ou 0.9996125. L'affichage approché de la valeur est toujours correct à un nombre limité de décimales, mais ne soyez pas surpris si au-delà le nombre affiché s'écarte de la valeur que vous attendez!

Ces remarques s'appliquent aux nombres flottants traités par ordinateur d'une manière générale et non spécifiquement à Purebasic.
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Vais p't't dire une co****** mais ya Deftype.<type> [<variable>, <variable>,...]
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

pour faire quoi ?
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

ba l'assignation de type, pas des tartes a la fraises :roll::mrgreen:
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

je cherchais le rapport avec les flottants :)
c'est lundi , j'ai du mal , je vais me coucher tiens :sleeping:
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Message par ZapMan »

Moi je suis d'accord avec la demande de Cederavic. On devrait pouvoir faire a=b dans tous les cas où le type de a et le type de b sont les mêmes.

Et si en plus a=b faisait de la tarte aux fraises, ça serait parfait. Mais bon, là j'en demande peut-être beaucoup. (En tout cas, je confirme que Deftype le fait pas, je viens encore d'essayer).
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

ben non deftype c'est pour declarer ;)
Répondre