Page 1 sur 1

Remplacement de PeekS() par structure .String ???

Publié : mer. 18/janv./2006 12:39
par lionel_om
Bonjours à tous.

Avec l'utilisation des structures .Byte, .Long, etc... j'arrive à me passer des PeekB(), PeekL(), etc.

Par contre je n'arrive pas à faire la même chose avec la structure .String
J'ai essayé de faire des choses de ce style, mais en vain ...

Code : Tout sélectionner

a$ = "Coucou"
*ptr.String = @a$
Debug *ptr\s
Merci d'avance de vos réponses...

Lionel

Publié : mer. 18/janv./2006 13:40
par nico
pour que *ptr.STRING fonctionne, il faut utiliser un pointeur vers cette chaine et de même pour une structure.

Code : Tout sélectionner

a$ = "Coucou"
*pointeur=@a$
*ptr.STRING = @*pointeur 
Debug *ptr\s

Publié : mer. 18/janv./2006 16:45
par filperj
Autre solution, c'est d'utiliser une variale .STRING plutôt que .s (nuance subtile mais cruciale :lol: )

Code : Tout sélectionner


DefType.String a

a\s = "Coucou!"

*p.String = @a

Debug *p\s

C'est à cause d'une bizarrerie de PB:

Si a est .s alors
@a renvoie l'addresse du 1er caractère

Si a est .String alors
@a renvoie l'adresse de la variable

Suffit de le savoir :wink:

Publié : mer. 18/janv./2006 16:51
par Dr. Dri
autre facon sympa de l'utiliser ^^

Code : Tout sélectionner

Structure Strings
  s.s[0]
EndStructure

Dim s.s(5)

For i = 0 To 5
  s(i) = Str( Random(1000) )
  Debug s(i)
Next i

Debug ""

*s.Strings = s()

For i = 0 To 5
  Debug *s\s[i]
Next i
Dri ;)

Publié : mer. 18/janv./2006 20:28
par nico
filperj,

Quand j'ai posté, j'ai pensé à toi car je me souvenais que tu avais déjà mis en évidence cette différence. :)

Publié : jeu. 19/janv./2006 0:16
par filperj
Faut dire que c'est pas dans la doc que c'est mis en évidence :?
Je m'en était apperçu par hasard, à force d'essais et d'erreurs (surtout d'erreurs).

Publié : jeu. 19/janv./2006 0:42
par nico
On ne te vois pas souvent poster du code, c'est dommage car à l'évidence tu es parmi les meilleurs ici. :D

Tu dois avoir une grande expérience dans la programmation, non?

:)

Publié : jeu. 19/janv./2006 0:57
par filperj
Heu, tu dois me confondre avec quelqu'un d'autre :?:
Sinon, si je suis vraiement capable de donner cette impression, je devrai peut-être songer à une carrière politique :lol:

Publié : jeu. 19/janv./2006 11:00
par Backup
:lol: :lol: :lol: :lol: exellent !! :lol:

Publié : jeu. 19/janv./2006 13:05
par lionel_om
Merci bien pour vos réponses à tous. :D
Je teste tout ça dès que je rentre chez moi ...