Copie de tableau [Résolu]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Copie de tableau [Résolu]

Message par Kwai chang caine »

Bonjour à tous

Est il possible de copier un tableau dans un autre sans avoir a passer par une boucle qui lis le premier pour le copier dans le second.

Ceci pour gagner du temps quand le tableau est grand.

Peut etre en passant par une copie de mémoire ???? Mais la , encore une fois mes capacités sont dépassées. :cry:

Merci et bonne journée
Dernière modification par Kwai chang caine le lun. 19/mars/2007 14:16, modifié 1 fois.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

avec des pointeurs ?

pat
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Exact pour Patrick88 !

Code : Tout sélectionner


Dim a.l(1000)
Dim b.l(1000)

;  Remplissage avec des valeurs aléatoires !!

For n=0 To 1000
  a(n)=Random(n)
Next

;Chaque élement du tableau prend 4 octets, la declaration 1000 crée de a(0) à a(1000) donc 1001 élements 
; Donc 1001*4 = 4004 octets de long !

CopyMemory(@a(),@b(),4004)

; Vérification !

For n=0 To 1000
  Debug Str(a(n))+"          "+Str(b(n))
Next

Pour un tableau chaines de caractères c'est impossible je pense car la taille du tableau est changée dynamiquement en fonction des éléments stockés dans ce tableau !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Je vous remercie tous les deux de votre réponse. 8)

Vous allez me dire que je ne suis jamais content, mais si le tableau contient des strings, la méthode ne marche pas car on ne connait pas la longueur de chaque enregistrement.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

Swap ?
Est beau ce qui plaît sans concept :)
Speedy Galerie
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Kwai chang caine a écrit :Je vous remercie tous les deux de votre réponse. 8)

Vous allez me dire que je ne suis jamais content, mais si le tableau contient des strings, la méthode ne marche pas car on ne connait pas la longueur de chaque enregistrement.
Si si! soit la chaine a une longeur fixe donc on connait sa taille, soit elle n'est pas fixe et c'est donc un pointeur...

Dri
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci docteur :wink:
Tu as evidemment raison (Comme dab)

J'ai modifié le code de BROSSDEN pour que ce soit un tableau de variable et effectivement çamarche aussi.
C'est génial

Code : Tout sélectionner

Dim a.s(1000) 
Dim b.s(1000) 

;  Remplissage avec des valeurs aléatoires !! 

For n=0 To 1000 
  a(n)="Cette fois c'est bien du texte dans le tableau " + Str(Random(n))
Next 

;Chaque élement du tableau prend 4 octets, la declaration 1000 crée de a(0) à a(1000) donc 1001 élements 
; Donc 1001*4 = 4004 octets de long ! 

CopyMemory(@a(),@b(),4004) 

; Vérification ! 

For n=0 To 1000 
  Debug a(n)+"          "+ b(n) 
Next 
Cela va enormement simplifier les copies de tableau que je faisais avec une boucle FOR/NEXT.

Merci à tous de votre aide 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Kwai chang caine a écrit :Merci docteur :wink:
Tu as evidemment raison (Comme dab)
Bah quand on a besoin d'aide on espère une réponse donc en retour quand on peut la donner on se prive pas ^_^

Dri

PS. c'est quoi cette habitude que tout le monde prend de m'appeler docteur ?
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

ah c'est beau l'entraide :)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Salut FLYPE

Tu as raison, on se sent moins seul. :wink:
Surtout pour des gens comme moi, car parfois devant mon ecran j'ai l'impression de suivre une emmission sur le tricotage 8O
J'y comprend rien, alors, j'appelle ALICE, euuuh non, le forum et la famille pure, et y'a toujours un grand frere pour me pousser un peu plus loin....................
Pas beaucoup plus loin car je doit surement avoir oublié de déssérer le frein à main, mais plus loin quand même. :lol:

Vive la grande famille PURE 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre