Les tableaux

Archive.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Je ne comparais pas une valeur à un tableau mais je voulais démontrer qu'il est courant en éléctronique et en informatique de commencer à compter à partir de 0.

Donc si on considère que 0 est le premier élément, il est juste de considérer que pour 5 éléments par exemple, mes indices de tableau iront de 0 à 4.

Je ne connais qu'un seul basic autre que Pure, c'est celui de ma calculatrice FX-880P. Alors je vais de ce pas regarder ce qu'il en est de la déclaration d'un Tableau et je découvre que tu as entièrement raison: si on fait Dim(20) on a en fait 21 éléments. :lol:

Mais je m'en doutais car tes connaissances dans les anciens basics ne sont plus à prouver. :D
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

D'accord avec toi Dobro, option base serait bien (ça me rappelle des choses) .
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Nostalgie quand tu nous tiens ! :D
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Nico,

encore un truc auquel je viens de penser en droite ligne avec le coup des pointeurs

Le code suivant fonctionne également :roll:

Code : Tout sélectionner

a.s = "Pure"
Debug PeekS(a)
Debug a


La question est donc de savoir si

*pt.s est vraiment un pointeur (selon le code asm oui) ou si PB considère comme une variable classique de type chaine.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Le type chaine est particulier car en faite c'est une variable (de la même façon qu'un pointeur) contenant l'adresse du premier octet de la chaine.

Ce qui explique que l'on puisse utiliser Peeks(chaine.s) car chaine contient l'adresse du premier octet.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

nico a écrit :Le type chaine est particulier car en faite c'est une variable (de la même façon qu'un pointeur) contenant l'adresse du premier octet de la chaine.

Ce qui explique que l'on puisse utiliser Peeks(chaine.s) car chaine contient l'adresse du premier octet.
Oui je suis d'accord (la variable contient l'adresse du début de chaine, comme le pointeur) mais je trouve que c'est pas tout à fait correct d'écrire ça même si au fond ça ne me dérange pas plus que ça.

Ce que je voulais dire c'est que c'est étrangement similaire au comportement d'un pointeur de type s

J'espère que Fred nous en dira plus sur tout ça à l'occasion.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Code : Tout sélectionner

*a.s = "Pure" 
Debug PeekS(*a) 
Debug @"Pure"
adresse=@"Pure"
Debug PeekS(adresse)
Il n'existe pas de pointeur ".s", un pointeur ne contient et ne peut contenir qu'une adresse; c'est la seule chose qui soit simple de comprendre avec les pointeurs.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

nico a écrit :

Code : Tout sélectionner

*a.s = "Pure" 
Debug PeekS(*a) 
Debug @"Pure"
adresse=@"Pure"
Debug PeekS(adresse)
Il n'existe pas de pointeur ".s", un pointeur ne contient et ne peut contenir qu'une adresse; c'est la seule chose qui soit simple de comprendre avec les pointeurs.
La-dessus je ne partage pas ton avis mais je me trompe peut-être.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Par contre il existe *Pointeur.STRING mais je ne vais pas revenir la-dessus, je préfère maintenant laisser place à d'autres personnes comme filperj qui sont plus pointus sur le sujet.
Répondre