Page 1 sur 1
Copier gros tableau d'un coup...
Publié : lun. 28/mai/2007 11:38
par scaraber
Salut,
Je cherche un moyen de copier un tableau assez gros sans faire des boucle interminable ... et aussi de copier juste un morceau d'un tableau.
a+
Scaraber
Publié : lun. 28/mai/2007 11:48
par Backup
Publié : lun. 28/mai/2007 11:49
par Flype
pour recopier l'intégralité d'un tableau un simple CopyMemory() est effectivement la plus rapide des solution :
Code : Tout sélectionner
;********** tableau initial
a_length = 100
Dim a.l(a_length)
For i = 0 To a_length - 1
a(i) = Random(1000)
Next
;********** recopie dans le 2ème tableau
Dim b.l(a_length)
CopyMemory(a(), b(), a_length * SizeOf(Long))
;********** vérification
For i = 0 To a_length - 1
Debug Str(a(i)) + " = " + Str(b(i))
Next
Publié : lun. 28/mai/2007 11:50
par scaraber
ok, merci beacoup de votre aide
Publié : lun. 28/mai/2007 11:51
par Flype
et pour juste un morceau - dans le même esprit :
Code : Tout sélectionner
;********** tableau initial
a_length = 100
Dim a.l(a_length)
For i = 0 To a_length - 1
a(i) = Random(1000)
Next
;********** recopie 20 valeurs dans le 2ème tableau à la position 10.
Dim b.l(a_length)
CopyMemory(@a(10), @b(10), 20 * SizeOf(Long))
;********** vérification
For i = 0 To a_length - 1
Debug Str(a(i)) + " => " + Str(b(i))
Next
Publié : lun. 28/mai/2007 12:01
par scaraber
Ok merci

heu sinon il y a un moyen de definir toutes les case d'un tableau a une meme valeur (dans le meme style) c'est pour reinitialiser le tableau mais mon programme utilise le zero et identifie les case "vide" avec une valeur de -1
a+
Scaraber
Publié : lun. 28/mai/2007 12:55
par Backup
scaraber a écrit :Ok merci

heu sinon il y a un moyen de definir toutes les case d'un tableau a une meme valeur (dans le meme style) c'est pour reinitialiser le tableau mais mon programme utilise le zero et identifie les case "vide" avec une valeur de -1
a+
Scaraber
Code : Tout sélectionner
Dim tableau.l(200)
Global valeur_dinitialisation =50
For i = 0 To 200
PokeL(@tableau(i), valeur_dinitialisation)
Next
CallDebugger
Publié : lun. 28/mai/2007 16:12
par scaraber
Merci

Publié : mar. 29/mai/2007 15:55
par scaraber
Heu j'ai encore une question
Comment sa marche pour les tableau a deux dimenion ? sa marche par ligne ou par colone ? pour la copie d'un morceau
a+
Scaraber
Publié : mar. 29/mai/2007 16:33
par minirop
scaraber a écrit :Heu j'ai encore une question
Comment sa marche pour les tableau a deux dimenion ? sa marche par ligne ou par colone ? pour la copie d'un morceau
a+
Scaraber
il n'y a pas de ligne ou de colonne danbs un tableau, sinon tu as cette organisation en mémoire :
[ ] = une case mémoire,
[ tab(0,0) ][ tab(0,1) ][ tab(0,2) ]...[ tab(1,0) ][ tab(1,1) ]...
Publié : mar. 29/mai/2007 18:46
par scaraber
Merci c'est ce que je voulait savoir