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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

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

Message 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
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message 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:
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message 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 ;)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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. :)
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message 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).
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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?

:)
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message 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:
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

:lol: :lol: :lol: :lol: exellent !! :lol:
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Merci bien pour vos réponses à tous. :D
Je teste tout ça dès que je rentre chez moi ...
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre