*donnee(x,y) = blablabla............
*donnee(x,y) = blablabla............
Hiiiii,
Comment utiliser un dim au lieu d'une variable pour faire ca :
dim donnee(2,2)
*donnee(0,0) = blablabla......
*donnee(0,1) = blablabla.........
*donnee(0,2) = blablabla...........
*donnee(1,0) = blablabla.............
*donnee(1,1) = blablabla................
*donnee(1,2) = blablabla...................
*donnee(2,0) = blablabla......................
*donnee(2,1) = blablabla.........................
*donnee(2,2) = blablabla.............................
Comment utiliser un dim au lieu d'une variable pour faire ca :
dim donnee(2,2)
*donnee(0,0) = blablabla......
*donnee(0,1) = blablabla.........
*donnee(0,2) = blablabla...........
*donnee(1,0) = blablabla.............
*donnee(1,1) = blablabla................
*donnee(1,2) = blablabla...................
*donnee(2,0) = blablabla......................
*donnee(2,1) = blablabla.........................
*donnee(2,2) = blablabla.............................
Code : Tout sélectionner
*A = AllocateMemory(4)
PokeL(*A,45)
Dim T(0)
Debug "ZERO ="
Debug T(0)
T() = *A
Debug "QUARANTE CINQ ="
Debug T(0)
Merci.Cpl.Bator a écrit :Code : Tout sélectionner
*A = AllocateMemory(4) PokeL(*A,45) Dim T(0) Debug "ZERO =" Debug T(0) T() = *A Debug "QUARANTE CINQ =" Debug T(0)
Il y a quelque chose qui me dépasse. Regardez :
Code : Tout sélectionner
a=20
*a=580
Debug a
Debug *a

c'est peut etre ça que tu voulais ..
Code : Tout sélectionner
a=20
*a=580
Debug a
Debug @*a
Code : Tout sélectionner
a=20
*b.long=@a ; Récupère l'adresse de a
Debug a
Debug *b ; Affiche l'adresse contenu par b, c'est à dire l'adresse de a
Debug *b\l; Affiche le contenu de l'adresse ci dessus
Debug "*****"
Dim *Donnees.long(2,2) ; C'est un tableau de pointeurs, c'est à dire qui contient des adresses !
*Donnees(1,1)=@a
Debug *Donnees(1,1) ; Affiche l'adresse de a
Debug *Donnees(1,1)\l ; Affiche le contenu de l'adresse ci dessus
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Vala du vrac pour t'aider à comprendre.

Code : Tout sélectionner
Dim T(10)
Debug "Adresse du tableau = " +Str(@T())
*Adresse = @T()
Debug ""
For i = 1 To 10
Debug "Ecriture à l'adresse = "+Str(*Adresse+(i*4))
*Pointeur = AllocateMemory(4)
PokeL(*Adresse+(i*4),i)
Next
Debug ""
Debug "LECTURE DU TABLEAU T()"
For i = 1 To 10
Debug T(i)
Next
Debug ""
Debug ""
Debug "Passons au strings....."
Debug "Comme les chaines de caractères sont de tailles inconnue , les tableaux de strings contient que des pointeurs vers les chaines...."
Debug "Dim Txt$(10) <- Prepare un tableau de 10 'strings' vierge , en réalité , ce tableau est un tableau d'integer , il contient que des pointeurs !"
Dim Txt$(10)
*Adresse = @Txt$()
TEXT$ = "PUREBASIC ! "
Debug ""
Debug "REMPLISSAGE DU TABLEAU Txt$() AVEC DES POINTEURS"
For i = 1 To 10
PokeL(*Adresse+(i*4),@TEXT$ )
Next
Debug ""
Debug "LECTURE DU TABLEAU Txt$() "
For i = 1 To 10
Debug Txt$(i)
Next
Debug ""
Debug "ATTENTION , SI TU SUPPRIMES LE CONTENU DE LA VARIABLE TEXT$ , TOUT LES ELEMENTS DU TABLEAU TXT$() SERONT SUPPRIMER"
Debug "IDEM POUR LES TABLEAU NUMERIQUES"
Debug "MODIFICATION DE TEXT$"
Text$ = "CPL.BATOR !"
For i = 1 To 10
Debug Txt$(i)
Next

Pourquoi fred ne cache pas derriere des instructions banales tous ces trucs + rapides ? (que ce soit transparent pour nous koi)Cpl.Bator a écrit :oui la rapidité , pour un petit projet , comme une démo ( vu ton taf ) c'est pas utile du moment que le frame rate est là , mais cela peut s'avérer très utile pour le traitement d'image par exemple , car cela consomme énormément de mémoire.
le fait de "caché" sous forme de fct° ne servirais à rien , l'appel de fonction est "trop lourd" , regarde , j'ai expliqué ici comment modifié rapidement l'éran via des pointeurs , d'autre on tiré les lignes de codes , puis ils en ont fait des fonction toute prêtes , puis après ils on tirer des conclusions comme quoi plot() et aussi rapide que de "poké" l'écran... , on peut faire un poil plus rapide encore via l'asm je pense , mais bon , c'est pas mon domaine.
Tu connais les listes chainées? Avant qu'elles n'existent, on utilisait les pointeurs pour faire la même chose : pointer sur des zone mémoires réservées de façon dynamique. Maintenant on se sert surtout des pointeurs quand on utilise les fonctions du système d'exploitation. Celles-ci renvoient ou demandent des structures, désignées par des pointeurs, car il serait difficilement envisageable de copier toutes les données à chaque fois (imagine une procédure avec 100 paramètres, ce serait dingue!).
la question que je me pose, c'estSPH a écrit : Pourquoi fred ne cache pas derriere des instructions banales tous ces trucs + rapides ? (que ce soit transparent pour nous koi)
pourquoi Fred n'inclue pas sous forme de fonction, les procedures tres utile que certain on trouvé , je pense au procedure de capture d'ecran, ou bien
décoration de fenêtre, ou bien animation de fenetre, etc ...
au lieu d'avoir une collection de procédures, elle seraient inclues dans le langage, et cela ajouterai des commande a Purebasic ..
surtout que des procédures "librairie" open-source , c'est pas ça qui manque sur nos Forum ..

on aurai d'un coup plein de nouvelles fonctions , pour manipuler des Webcams, des images, du son, le MIDI, bref vous imaginez bien
