Page 1 sur 1
assignation de type
Publié : ven. 16/avr./2004 21:19
par cederavic
ça serait bien si on pouvait

Publié : lun. 19/avr./2004 11:15
par Fred
du genre ?
Publié : lun. 19/avr./2004 17:53
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

Publié : lun. 19/avr./2004 19:05
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 ?
Publié : lun. 19/avr./2004 20:17
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??

Publié : lun. 19/avr./2004 21:11
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...
Publié : lun. 19/avr./2004 21:11
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.
Publié : lun. 19/avr./2004 21:41
par Heis Spiter
Vais p't't dire une co****** mais ya Deftype.<type> [<variable>, <variable>,...]
Publié : lun. 19/avr./2004 21:47
par comtois
pour faire quoi ?
Publié : lun. 19/avr./2004 21:51
par Heis Spiter
ba l'assignation de type, pas des tartes a la fraises

:mrgreen:
Publié : lun. 19/avr./2004 22:05
par comtois
je cherchais le rapport avec les flottants
c'est lundi , j'ai du mal , je vais me coucher tiens

Publié : mar. 20/avr./2004 11:42
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).
Publié : mar. 20/avr./2004 16:53
par cederavic
ben non deftype c'est pour declarer
