Bonjour,
QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
Bonjour,
QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
Bonjour,
QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
"Bismark Prods" a écrit dans le message de
news:
> Bonjour,
>
> QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
lset permet d'alligné a gauche:
mavar=space(10)
lset mavar="coucou"
Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais les 6
premiers seront "coucou" et les 4 autres n'auront pas changé(resterons des
espaces dans notres cas)
Tendi que l'API CopyMemory permet de copier le contenue d'une zone mémoire
vers une autres zone mémoire
a+
"Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
news:OrePKIUUDHA.3144@tk2msftngp13.phx.gbl...
> Bonjour,
>
> QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
lset permet d'alligné a gauche:
mavar=space(10)
lset mavar="coucou"
Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais les 6
premiers seront "coucou" et les 4 autres n'auront pas changé(resterons des
espaces dans notres cas)
Tendi que l'API CopyMemory permet de copier le contenue d'une zone mémoire
vers une autres zone mémoire
a+
"Bismark Prods" a écrit dans le message de
news:
> Bonjour,
>
> QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
lset permet d'alligné a gauche:
mavar=space(10)
lset mavar="coucou"
Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais les 6
premiers seront "coucou" et les 4 autres n'auront pas changé(resterons des
espaces dans notres cas)
Tendi que l'API CopyMemory permet de copier le contenue d'une zone mémoire
vers une autres zone mémoire
a+
"Bismark Prods" a écrit dans le message de
news:
> errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer
> je peux faire un lset pour copier le contenu de l'un vers l'autre comme
> c'était un copymemory !
>
> Et c'est pour ca que je veux savoir la différence !
Ah ba, falais le dire :-D
Bas il est parfaitement possible que sa revienent au même, sans aucune
différence(si ce n'est que l'API serra sans doute plus rapide)...
a+
>
>
> "Ledev" a écrit dans le message de
> news:
> >
> > "Bismark Prods" a écrit dans le message de
> > news:
> > > Bonjour,
> > >
> > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
> >
> > lset permet d'alligné a gauche:
> > mavar=space(10)
> > lset mavar="coucou"
> >
> > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
6
> > premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
des
> > espaces dans notres cas)
> >
> > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
mémoire
> > vers une autres zone mémoire
> >
> > a+
> >
> >
>
>
"Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
news:unw9ChUUDHA.1992@TK2MSFTNGP12.phx.gbl...
> errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer
> je peux faire un lset pour copier le contenu de l'un vers l'autre comme
> c'était un copymemory !
>
> Et c'est pour ca que je veux savoir la différence !
Ah ba, falais le dire :-D
Bas il est parfaitement possible que sa revienent au même, sans aucune
différence(si ce n'est que l'API serra sans doute plus rapide)...
a+
>
>
> "Ledev" <Bozodev@hotmail.com> a écrit dans le message de
> news:uTwmXbUUDHA.2092@TK2MSFTNGP10.phx.gbl...
> >
> > "Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
> > news:OrePKIUUDHA.3144@tk2msftngp13.phx.gbl...
> > > Bonjour,
> > >
> > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
> >
> > lset permet d'alligné a gauche:
> > mavar=space(10)
> > lset mavar="coucou"
> >
> > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
6
> > premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
des
> > espaces dans notres cas)
> >
> > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
mémoire
> > vers une autres zone mémoire
> >
> > a+
> >
> >
>
>
"Bismark Prods" a écrit dans le message de
news:
> errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer
> je peux faire un lset pour copier le contenu de l'un vers l'autre comme
> c'était un copymemory !
>
> Et c'est pour ca que je veux savoir la différence !
Ah ba, falais le dire :-D
Bas il est parfaitement possible que sa revienent au même, sans aucune
différence(si ce n'est que l'API serra sans doute plus rapide)...
a+
>
>
> "Ledev" a écrit dans le message de
> news:
> >
> > "Bismark Prods" a écrit dans le message de
> > news:
> > > Bonjour,
> > >
> > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
> >
> > lset permet d'alligné a gauche:
> > mavar=space(10)
> > lset mavar="coucou"
> >
> > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
6
> > premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
des
> > espaces dans notres cas)
> >
> > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
mémoire
> > vers une autres zone mémoire
> >
> > a+
> >
> >
>
>
errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer !
je peux faire un lset pour copier le contenu de l'un vers l'autre comme si
c'était un copymemory !
Et c'est pour ca que je veux savoir la différence !
"Ledev" a écrit dans le message de
news:
>
> "Bismark Prods" a écrit dans le message de
> news:
> > Bonjour,
> >
> > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
>
> lset permet d'alligné a gauche:
> mavar=space(10)
> lset mavar="coucou"
>
> Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais les
> premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
> espaces dans notres cas)
>
> Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> vers une autres zone mémoire
>
> a+
>
>
errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer !
je peux faire un lset pour copier le contenu de l'un vers l'autre comme si
c'était un copymemory !
Et c'est pour ca que je veux savoir la différence !
"Ledev" <Bozodev@hotmail.com> a écrit dans le message de
news:uTwmXbUUDHA.2092@TK2MSFTNGP10.phx.gbl...
>
> "Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
> news:OrePKIUUDHA.3144@tk2msftngp13.phx.gbl...
> > Bonjour,
> >
> > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
>
> lset permet d'alligné a gauche:
> mavar=space(10)
> lset mavar="coucou"
>
> Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais les
> premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
> espaces dans notres cas)
>
> Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> vers une autres zone mémoire
>
> a+
>
>
errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer !
je peux faire un lset pour copier le contenu de l'un vers l'autre comme si
c'était un copymemory !
Et c'est pour ca que je veux savoir la différence !
"Ledev" a écrit dans le message de
news:
>
> "Bismark Prods" a écrit dans le message de
> news:
> > Bonjour,
> >
> > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
>
> lset permet d'alligné a gauche:
> mavar=space(10)
> lset mavar="coucou"
>
> Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais les
> premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
> espaces dans notres cas)
>
> Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> vers une autres zone mémoire
>
> a+
>
>
L'important c'est de comprendre ce qu'est une variable dans un langage
informatique. ce n'est qu'une adresse mémoire de début et un nombre
Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
(un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
début et la longueur de Var2 restant inchangées. Par conséquent si Var1 et
Var2 ont la même longueur (au sens de len comme dans Open as random), il
s'agit simplement de copier les valeurs de l'un dans l'autre.
Exemple sur le code suivant
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
X4 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
VAR1 vaut (1,256)
VAR2 vaut (1,0,0,1)
Supposons maintenant que V et W soit de longueur différent
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
Var1 vaut toujour (1,256)
Var2 vaut (1,0,0)
Option Explicit
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
X4 As Byte
X5 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
Cette fois Var1 vaut (1,256)
et Var2 vaut (1,0,0,1,0)
Est-ce assez clair.
Lset ne fonctionne qu'avec des variables d'un type défini par
(je ne parle pas bien sûr de
l'utilsation avec des chaînes).
Par contre CopyMemory comme son nom l'indique est une copie d'un certain
nombre d'octets en mémoire vers un autre emplacement, que cela représente
une variable ou non. Très pratique pour déplacer un dessin d'un endroit à
l'autre de l'écran. l'animation a commencé comme cela dans les années 80
avce du basic et 16KO de mémoire.
"Bismark Prods" a écrit dans le message de
news:
> errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer
> je peux faire un lset pour copier le contenu de l'un vers l'autre comme
> c'était un copymemory !
>
> Et c'est pour ca que je veux savoir la différence !
>
>
> "Ledev" a écrit dans le message de
> news:
> >
> > "Bismark Prods" a écrit dans le message de
> > news:
> > > Bonjour,
> > >
> > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
> >
> > lset permet d'alligné a gauche:
> > mavar=space(10)
> > lset mavar="coucou"
> >
> > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
6
> > premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
des
> > espaces dans notres cas)
> >
> > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
mémoire
> > vers une autres zone mémoire
> >
> > a+
> >
> >
>
>
L'important c'est de comprendre ce qu'est une variable dans un langage
informatique. ce n'est qu'une adresse mémoire de début et un nombre
Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
(un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
début et la longueur de Var2 restant inchangées. Par conséquent si Var1 et
Var2 ont la même longueur (au sens de len comme dans Open as random), il
s'agit simplement de copier les valeurs de l'un dans l'autre.
Exemple sur le code suivant
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
X4 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
VAR1 vaut (1,256)
VAR2 vaut (1,0,0,1)
Supposons maintenant que V et W soit de longueur différent
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
Var1 vaut toujour (1,256)
Var2 vaut (1,0,0)
Option Explicit
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
X4 As Byte
X5 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
Cette fois Var1 vaut (1,256)
et Var2 vaut (1,0,0,1,0)
Est-ce assez clair.
Lset ne fonctionne qu'avec des variables d'un type défini par
(je ne parle pas bien sûr de
l'utilsation avec des chaînes).
Par contre CopyMemory comme son nom l'indique est une copie d'un certain
nombre d'octets en mémoire vers un autre emplacement, que cela représente
une variable ou non. Très pratique pour déplacer un dessin d'un endroit à
l'autre de l'écran. l'animation a commencé comme cela dans les années 80
avce du basic et 16KO de mémoire.
"Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
news:unw9ChUUDHA.1992@TK2MSFTNGP12.phx.gbl...
> errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer
> je peux faire un lset pour copier le contenu de l'un vers l'autre comme
> c'était un copymemory !
>
> Et c'est pour ca que je veux savoir la différence !
>
>
> "Ledev" <Bozodev@hotmail.com> a écrit dans le message de
> news:uTwmXbUUDHA.2092@TK2MSFTNGP10.phx.gbl...
> >
> > "Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
> > news:OrePKIUUDHA.3144@tk2msftngp13.phx.gbl...
> > > Bonjour,
> > >
> > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
> >
> > lset permet d'alligné a gauche:
> > mavar=space(10)
> > lset mavar="coucou"
> >
> > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
6
> > premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
des
> > espaces dans notres cas)
> >
> > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
mémoire
> > vers une autres zone mémoire
> >
> > a+
> >
> >
>
>
L'important c'est de comprendre ce qu'est une variable dans un langage
informatique. ce n'est qu'une adresse mémoire de début et un nombre
Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
(un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
début et la longueur de Var2 restant inchangées. Par conséquent si Var1 et
Var2 ont la même longueur (au sens de len comme dans Open as random), il
s'agit simplement de copier les valeurs de l'un dans l'autre.
Exemple sur le code suivant
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
X4 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
VAR1 vaut (1,256)
VAR2 vaut (1,0,0,1)
Supposons maintenant que V et W soit de longueur différent
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
Var1 vaut toujour (1,256)
Var2 vaut (1,0,0)
Option Explicit
Private Type V
X1 As Byte
X2 As Byte
X3 As Byte
X4 As Byte
X5 As Byte
End Type
Private Type W
X As Integer
Y As Integer
End Type
Private Sub Form_Load()
Dim VAR1 As W, VAR2 As V
VAR1.X = 1
VAR1.Y = 256
LSet VAR2 = VAR1
End Sub
Cette fois Var1 vaut (1,256)
et Var2 vaut (1,0,0,1,0)
Est-ce assez clair.
Lset ne fonctionne qu'avec des variables d'un type défini par
(je ne parle pas bien sûr de
l'utilsation avec des chaînes).
Par contre CopyMemory comme son nom l'indique est une copie d'un certain
nombre d'octets en mémoire vers un autre emplacement, que cela représente
une variable ou non. Très pratique pour déplacer un dessin d'un endroit à
l'autre de l'écran. l'animation a commencé comme cela dans les années 80
avce du basic et 16KO de mémoire.
"Bismark Prods" a écrit dans le message de
news:
> errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable integer
> je peux faire un lset pour copier le contenu de l'un vers l'autre comme
> c'était un copymemory !
>
> Et c'est pour ca que je veux savoir la différence !
>
>
> "Ledev" a écrit dans le message de
> news:
> >
> > "Bismark Prods" a écrit dans le message de
> > news:
> > > Bonjour,
> > >
> > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory ?
> >
> > lset permet d'alligné a gauche:
> > mavar=space(10)
> > lset mavar="coucou"
> >
> > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
6
> > premiers seront "coucou" et les 4 autres n'auront pas changé(resterons
des
> > espaces dans notres cas)
> >
> > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
mémoire
> > vers une autres zone mémoire
> >
> > a+
> >
> >
>
>
oui enfin merci c'est pas vraiment ce que je demandais mais d'une manière
détournée j'ai un semblant de réponse.
Je pense que je vais finir par opté définitivement pour copymemory.
Dans un autre sujet,
Saviez vous que 0+1 = 1 mais que Null+1 = Null ?
"patrice henrio" a écrit dans le message de
news:%
> L'important c'est de comprendre ce qu'est une variable dans un langage
> informatique. ce n'est qu'une adresse mémoire de début et un nombre
d'octet.
> Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
Var1
> (un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
> début et la longueur de Var2 restant inchangées. Par conséquent si Var1
> Var2 ont la même longueur (au sens de len comme dans Open as random), il
> s'agit simplement de copier les valeurs de l'un dans l'autre.
>
> Exemple sur le code suivant
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> VAR1 vaut (1,256)
>
> VAR2 vaut (1,0,0,1)
>
>
> Supposons maintenant que V et W soit de longueur différent
>
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
>
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Var1 vaut toujour (1,256)
> Var2 vaut (1,0,0)
>
>
> Option Explicit
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> X5 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Cette fois Var1 vaut (1,256)
> et Var2 vaut (1,0,0,1,0)
>
> Est-ce assez clair.
>
> Lset ne fonctionne qu'avec des variables d'un type défini par
l'utilisateur
> (je ne parle pas bien sûr de
> l'utilsation avec des chaînes).
>
> Par contre CopyMemory comme son nom l'indique est une copie d'un certain
> nombre d'octets en mémoire vers un autre emplacement, que cela
> une variable ou non. Très pratique pour déplacer un dessin d'un endroit
> l'autre de l'écran. l'animation a commencé comme cela dans les années 80
> avce du basic et 16KO de mémoire.
>
>
> "Bismark Prods" a écrit dans le message de
> news:
> > errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable
!
> > je peux faire un lset pour copier le contenu de l'un vers l'autre
si
> > c'était un copymemory !
> >
> > Et c'est pour ca que je veux savoir la différence !
> >
> >
> > "Ledev" a écrit dans le message de
> > news:
> > >
> > > "Bismark Prods" a écrit dans le message de
> > > news:
> > > > Bonjour,
> > > >
> > > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory
> > >
> > > lset permet d'alligné a gauche:
> > > mavar=space(10)
> > > lset mavar="coucou"
> > >
> > > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
les
> 6
> > > premiers seront "coucou" et les 4 autres n'auront pas
> des
> > > espaces dans notres cas)
> > >
> > > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> mémoire
> > > vers une autres zone mémoire
> > >
> > > a+
> > >
> > >
> >
> >
>
>
oui enfin merci c'est pas vraiment ce que je demandais mais d'une manière
détournée j'ai un semblant de réponse.
Je pense que je vais finir par opté définitivement pour copymemory.
Dans un autre sujet,
Saviez vous que 0+1 = 1 mais que Null+1 = Null ?
"patrice henrio" <patrice.henrio@ifrance.com> a écrit dans le message de
news:%23XLgnyVUDHA.2008@TK2MSFTNGP11.phx.gbl...
> L'important c'est de comprendre ce qu'est une variable dans un langage
> informatique. ce n'est qu'une adresse mémoire de début et un nombre
d'octet.
> Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
Var1
> (un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
> début et la longueur de Var2 restant inchangées. Par conséquent si Var1
> Var2 ont la même longueur (au sens de len comme dans Open as random), il
> s'agit simplement de copier les valeurs de l'un dans l'autre.
>
> Exemple sur le code suivant
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> VAR1 vaut (1,256)
>
> VAR2 vaut (1,0,0,1)
>
>
> Supposons maintenant que V et W soit de longueur différent
>
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
>
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Var1 vaut toujour (1,256)
> Var2 vaut (1,0,0)
>
>
> Option Explicit
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> X5 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Cette fois Var1 vaut (1,256)
> et Var2 vaut (1,0,0,1,0)
>
> Est-ce assez clair.
>
> Lset ne fonctionne qu'avec des variables d'un type défini par
l'utilisateur
> (je ne parle pas bien sûr de
> l'utilsation avec des chaînes).
>
> Par contre CopyMemory comme son nom l'indique est une copie d'un certain
> nombre d'octets en mémoire vers un autre emplacement, que cela
> une variable ou non. Très pratique pour déplacer un dessin d'un endroit
> l'autre de l'écran. l'animation a commencé comme cela dans les années 80
> avce du basic et 16KO de mémoire.
>
>
> "Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
> news:unw9ChUUDHA.1992@TK2MSFTNGP12.phx.gbl...
> > errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable
!
> > je peux faire un lset pour copier le contenu de l'un vers l'autre
si
> > c'était un copymemory !
> >
> > Et c'est pour ca que je veux savoir la différence !
> >
> >
> > "Ledev" <Bozodev@hotmail.com> a écrit dans le message de
> > news:uTwmXbUUDHA.2092@TK2MSFTNGP10.phx.gbl...
> > >
> > > "Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
> > > news:OrePKIUUDHA.3144@tk2msftngp13.phx.gbl...
> > > > Bonjour,
> > > >
> > > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory
> > >
> > > lset permet d'alligné a gauche:
> > > mavar=space(10)
> > > lset mavar="coucou"
> > >
> > > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
les
> 6
> > > premiers seront "coucou" et les 4 autres n'auront pas
> des
> > > espaces dans notres cas)
> > >
> > > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> mémoire
> > > vers une autres zone mémoire
> > >
> > > a+
> > >
> > >
> >
> >
>
>
oui enfin merci c'est pas vraiment ce que je demandais mais d'une manière
détournée j'ai un semblant de réponse.
Je pense que je vais finir par opté définitivement pour copymemory.
Dans un autre sujet,
Saviez vous que 0+1 = 1 mais que Null+1 = Null ?
"patrice henrio" a écrit dans le message de
news:%
> L'important c'est de comprendre ce qu'est une variable dans un langage
> informatique. ce n'est qu'une adresse mémoire de début et un nombre
d'octet.
> Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
Var1
> (un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
> début et la longueur de Var2 restant inchangées. Par conséquent si Var1
> Var2 ont la même longueur (au sens de len comme dans Open as random), il
> s'agit simplement de copier les valeurs de l'un dans l'autre.
>
> Exemple sur le code suivant
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> VAR1 vaut (1,256)
>
> VAR2 vaut (1,0,0,1)
>
>
> Supposons maintenant que V et W soit de longueur différent
>
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
>
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Var1 vaut toujour (1,256)
> Var2 vaut (1,0,0)
>
>
> Option Explicit
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> X5 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Cette fois Var1 vaut (1,256)
> et Var2 vaut (1,0,0,1,0)
>
> Est-ce assez clair.
>
> Lset ne fonctionne qu'avec des variables d'un type défini par
l'utilisateur
> (je ne parle pas bien sûr de
> l'utilsation avec des chaînes).
>
> Par contre CopyMemory comme son nom l'indique est une copie d'un certain
> nombre d'octets en mémoire vers un autre emplacement, que cela
> une variable ou non. Très pratique pour déplacer un dessin d'un endroit
> l'autre de l'écran. l'animation a commencé comme cela dans les années 80
> avce du basic et 16KO de mémoire.
>
>
> "Bismark Prods" a écrit dans le message de
> news:
> > errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable
!
> > je peux faire un lset pour copier le contenu de l'un vers l'autre
si
> > c'était un copymemory !
> >
> > Et c'est pour ca que je veux savoir la différence !
> >
> >
> > "Ledev" a écrit dans le message de
> > news:
> > >
> > > "Bismark Prods" a écrit dans le message de
> > > news:
> > > > Bonjour,
> > > >
> > > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory
> > >
> > > lset permet d'alligné a gauche:
> > > mavar=space(10)
> > > lset mavar="coucou"
> > >
> > > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
les
> 6
> > > premiers seront "coucou" et les 4 autres n'auront pas
> des
> > > espaces dans notres cas)
> > >
> > > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> mémoire
> > > vers une autres zone mémoire
> > >
> > > a+
> > >
> > >
> >
> >
>
>
oui enfin merci c'est pas vraiment ce que je demandais mais d'une manière
détournée j'ai un semblant de réponse.
Je pense que je vais finir par opté définitivement pour copymemory.
Dans un autre sujet,
Saviez vous que 0+1 = 1 mais que Null+1 = Null ?
"patrice henrio" a écrit dans le message de
news:%
> L'important c'est de comprendre ce qu'est une variable dans un langage
> informatique. ce n'est qu'une adresse mémoire de début et un nombre
d'octet.
> Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
Var1
> (un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
> début et la longueur de Var2 restant inchangées. Par conséquent si Var1
> Var2 ont la même longueur (au sens de len comme dans Open as random), il
> s'agit simplement de copier les valeurs de l'un dans l'autre.
>
> Exemple sur le code suivant
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> VAR1 vaut (1,256)
>
> VAR2 vaut (1,0,0,1)
>
>
> Supposons maintenant que V et W soit de longueur différent
>
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
>
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Var1 vaut toujour (1,256)
> Var2 vaut (1,0,0)
>
>
> Option Explicit
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> X5 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Cette fois Var1 vaut (1,256)
> et Var2 vaut (1,0,0,1,0)
>
> Est-ce assez clair.
>
> Lset ne fonctionne qu'avec des variables d'un type défini par
l'utilisateur
> (je ne parle pas bien sûr de
> l'utilsation avec des chaînes).
>
> Par contre CopyMemory comme son nom l'indique est une copie d'un certain
> nombre d'octets en mémoire vers un autre emplacement, que cela
> une variable ou non. Très pratique pour déplacer un dessin d'un endroit
> l'autre de l'écran. l'animation a commencé comme cela dans les années 80
> avce du basic et 16KO de mémoire.
>
>
> "Bismark Prods" a écrit dans le message de
> news:
> > errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable
!
> > je peux faire un lset pour copier le contenu de l'un vers l'autre
si
> > c'était un copymemory !
> >
> > Et c'est pour ca que je veux savoir la différence !
> >
> >
> > "Ledev" a écrit dans le message de
> > news:
> > >
> > > "Bismark Prods" a écrit dans le message de
> > > news:
> > > > Bonjour,
> > > >
> > > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory
> > >
> > > lset permet d'alligné a gauche:
> > > mavar=space(10)
> > > lset mavar="coucou"
> > >
> > > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
les
> 6
> > > premiers seront "coucou" et les 4 autres n'auront pas
> des
> > > espaces dans notres cas)
> > >
> > > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> mémoire
> > > vers une autres zone mémoire
> > >
> > > a+
> > >
> > >
> >
> >
>
>
oui enfin merci c'est pas vraiment ce que je demandais mais d'une manière
détournée j'ai un semblant de réponse.
Je pense que je vais finir par opté définitivement pour copymemory.
Dans un autre sujet,
Saviez vous que 0+1 = 1 mais que Null+1 = Null ?
"patrice henrio" <patrice.henrio@ifrance.com> a écrit dans le message de
news:%23XLgnyVUDHA.2008@TK2MSFTNGP11.phx.gbl...
> L'important c'est de comprendre ce qu'est une variable dans un langage
> informatique. ce n'est qu'une adresse mémoire de début et un nombre
d'octet.
> Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
Var1
> (un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
> début et la longueur de Var2 restant inchangées. Par conséquent si Var1
> Var2 ont la même longueur (au sens de len comme dans Open as random), il
> s'agit simplement de copier les valeurs de l'un dans l'autre.
>
> Exemple sur le code suivant
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> VAR1 vaut (1,256)
>
> VAR2 vaut (1,0,0,1)
>
>
> Supposons maintenant que V et W soit de longueur différent
>
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
>
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Var1 vaut toujour (1,256)
> Var2 vaut (1,0,0)
>
>
> Option Explicit
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> X5 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Cette fois Var1 vaut (1,256)
> et Var2 vaut (1,0,0,1,0)
>
> Est-ce assez clair.
>
> Lset ne fonctionne qu'avec des variables d'un type défini par
l'utilisateur
> (je ne parle pas bien sûr de
> l'utilsation avec des chaînes).
>
> Par contre CopyMemory comme son nom l'indique est une copie d'un certain
> nombre d'octets en mémoire vers un autre emplacement, que cela
> une variable ou non. Très pratique pour déplacer un dessin d'un endroit
> l'autre de l'écran. l'animation a commencé comme cela dans les années 80
> avce du basic et 16KO de mémoire.
>
>
> "Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
> news:unw9ChUUDHA.1992@TK2MSFTNGP12.phx.gbl...
> > errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable
!
> > je peux faire un lset pour copier le contenu de l'un vers l'autre
si
> > c'était un copymemory !
> >
> > Et c'est pour ca que je veux savoir la différence !
> >
> >
> > "Ledev" <Bozodev@hotmail.com> a écrit dans le message de
> > news:uTwmXbUUDHA.2092@TK2MSFTNGP10.phx.gbl...
> > >
> > > "Bismark Prods" <xanaia@urbanet.ch> a écrit dans le message de
> > > news:OrePKIUUDHA.3144@tk2msftngp13.phx.gbl...
> > > > Bonjour,
> > > >
> > > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory
> > >
> > > lset permet d'alligné a gauche:
> > > mavar=space(10)
> > > lset mavar="coucou"
> > >
> > > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
les
> 6
> > > premiers seront "coucou" et les 4 autres n'auront pas
> des
> > > espaces dans notres cas)
> > >
> > > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> mémoire
> > > vers une autres zone mémoire
> > >
> > > a+
> > >
> > >
> >
> >
>
>
oui enfin merci c'est pas vraiment ce que je demandais mais d'une manière
détournée j'ai un semblant de réponse.
Je pense que je vais finir par opté définitivement pour copymemory.
Dans un autre sujet,
Saviez vous que 0+1 = 1 mais que Null+1 = Null ?
"patrice henrio" a écrit dans le message de
news:%
> L'important c'est de comprendre ce qu'est une variable dans un langage
> informatique. ce n'est qu'une adresse mémoire de début et un nombre
d'octet.
> Par conséquent Lset Var1 = Var2 doit simplement recopier le contenu de
Var1
> (un certain nombre de bytes) et le srecopier au début de Var2, l'adresse
> début et la longueur de Var2 restant inchangées. Par conséquent si Var1
> Var2 ont la même longueur (au sens de len comme dans Open as random), il
> s'agit simplement de copier les valeurs de l'un dans l'autre.
>
> Exemple sur le code suivant
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> VAR1 vaut (1,256)
>
> VAR2 vaut (1,0,0,1)
>
>
> Supposons maintenant que V et W soit de longueur différent
>
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
>
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Var1 vaut toujour (1,256)
> Var2 vaut (1,0,0)
>
>
> Option Explicit
> Private Type V
> X1 As Byte
> X2 As Byte
> X3 As Byte
> X4 As Byte
> X5 As Byte
> End Type
>
> Private Type W
> X As Integer
> Y As Integer
> End Type
>
>
>
> Private Sub Form_Load()
> Dim VAR1 As W, VAR2 As V
> VAR1.X = 1
> VAR1.Y = 256
> LSet VAR2 = VAR1
> End Sub
>
> Cette fois Var1 vaut (1,256)
> et Var2 vaut (1,0,0,1,0)
>
> Est-ce assez clair.
>
> Lset ne fonctionne qu'avec des variables d'un type défini par
l'utilisateur
> (je ne parle pas bien sûr de
> l'utilsation avec des chaînes).
>
> Par contre CopyMemory comme son nom l'indique est une copie d'un certain
> nombre d'octets en mémoire vers un autre emplacement, que cela
> une variable ou non. Très pratique pour déplacer un dessin d'un endroit
> l'autre de l'écran. l'animation a commencé comme cela dans les années 80
> avce du basic et 16KO de mémoire.
>
>
> "Bismark Prods" a écrit dans le message de
> news:
> > errreur ! si j'ai un UDT contenant 2 fois 1 byte et une variable
!
> > je peux faire un lset pour copier le contenu de l'un vers l'autre
si
> > c'était un copymemory !
> >
> > Et c'est pour ca que je veux savoir la différence !
> >
> >
> > "Ledev" a écrit dans le message de
> > news:
> > >
> > > "Bismark Prods" a écrit dans le message de
> > > news:
> > > > Bonjour,
> > > >
> > > > QQun pourrais me dire la différence entre LSet et l'api CopyMemory
> > >
> > > lset permet d'alligné a gauche:
> > > mavar=space(10)
> > > lset mavar="coucou"
> > >
> > > Aprés ce bout de code, mavar contiendra toujours 10 caractére, mais
les
> 6
> > > premiers seront "coucou" et les 4 autres n'auront pas
> des
> > > espaces dans notres cas)
> > >
> > > Tendi que l'API CopyMemory permet de copier le contenue d'une zone
> mémoire
> > > vers une autres zone mémoire
> > >
> > > a+
> > >
> > >
> >
> >
>
>
C'est d'ailleurs ce qui est conseillé dans MDSN. "L'utilsation de Lset pour
copier une variable dans une autre est déconseillée car le résultat est
souvent aléatoire" (ou quelque chose dans ce genre là).
C'est d'ailleurs ce qui est conseillé dans MDSN. "L'utilsation de Lset pour
copier une variable dans une autre est déconseillée car le résultat est
souvent aléatoire" (ou quelque chose dans ce genre là).
C'est d'ailleurs ce qui est conseillé dans MDSN. "L'utilsation de Lset pour
copier une variable dans une autre est déconseillée car le résultat est
souvent aléatoire" (ou quelque chose dans ce genre là).