Tableau + chaine + pointeurs

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Tableau + chaine + pointeurs

Message par Dr. Dri »

Résultat d'une séance de bidouilles
(c'est fou comme le PB devient souple =)

Code : Tout sélectionner

Structure Bytes
  b.b[0]
EndStructure

Dim *Array.Bytes(3)

*Array(0) = @"Salut"
*Array(1) = @"tu"
*Array(2) = @"vas"
*Array(3) = @"bieeeeen ?"

For i = 0 To 3
  c = 0
  While *Array(i)\b[c]
    Debug Chr( *Array(i)\b[c] )
    c + 1
  Wend
  Debug "---"
Next i
Dri :D
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

Code : Tout sélectionner

Structure Bytes
  b.b[0]
EndStructure

Dim *Array.Bytes(3)

*Array(0) = @"Pas"
*Array(1) = @"mal"
*Array(2) = @"et"
*Array(3) = @"Toile à matelas?"

For i = 0 To 3
  c = 0
  While *Array(i)\b[c]
    Debug Chr( *Array(i)\b[c] )
    c + 1
  Wend
  Debug "---"
Next i
:lol:
Dernière modification par Frenchy Pilou le jeu. 02/févr./2006 22:33, modifié 1 fois.
Est beau ce qui plaît sans concept :)
Speedy Galerie
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Re: Tableau + chaine + pointeurs

Message par lionel_om »

Dr. Dri a écrit :*Array(0) = @"Salut"
Je savais pas qu'on pouvais faire ça... C'est génial !!!! 8)
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
CameleonTH
Messages : 333
Inscription : sam. 25/juin/2005 11:18
Localisation : Laon (02)
Contact :

Message par CameleonTH »

Moi aussi j'apprend des trucs
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ça sert a rien !! ... :D .... enfin je crois

on peut faire pareille avec juste un tableau , et la fonction Mid() non ?? 8O
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

C'est pas la question Dobro lol

1- On peut faire un tableau de pointeurs, je le savais pas avant d'essayer (par exemple c'est pas encore faisable avec les listes chainées)

2- On peut récupérer l'adresse des chaines statiques, je le savais pas non plus avant d'essayer.

3 - C'est juste un bout de code illustrant '1' et '2' ^^

Dri :D
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Dr. Dri a écrit :C'est pas la question Dobro lol

1- On peut faire un tableau de pointeurs, je le savais pas avant d'essayer (par exemple c'est pas encore faisable avec les listes chainées)

2- On peut récupérer l'adresse des chaines statiques, je le savais pas non plus avant d'essayer.

3 - C'est juste un bout de code illustrant '1' et '2' ^^

Dri :D
Ca a l'air interessant, mais reste quand même à définir à quoi ça peut servir!
T'as un exemple d'utilisation?
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Dr. Dri a écrit :C'est pas la question Dobro lol

1- On peut faire un tableau de pointeurs, je le savais pas avant d'essayer (par exemple c'est pas encore faisable avec les listes chainées)

2- On peut récupérer l'adresse des chaines statiques, je le savais pas non plus avant d'essayer.

3 - C'est juste un bout de code illustrant '1' et '2' ^^

Dri :D

Je ne comprends pas ce que tu veux dire, toi qui manipule bien les pointeurs, tu sais qu'un tableau de chaines n'est ni plus ni moins qu'un tableau d'adresses.

Les listes chainées c'est que des pointeurs, qu'est - ce qu'on ne peut pas faire avec ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

a la reflexion, je pense que c'est utile dans le "swaping" de variables ou indice de tableau, pour un traitement de trie par exemple
le fait de pouvoir jouer sur les pointeur sans toucher au contenu des cellule du tableau doit grandement accelerer le trie ...

.. du moins croyais-je !! ??? 8O :D
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Dobro a écrit :ça sert a rien !! ... :D .... enfin je crois
on peut faire pareille avec juste un tableau , et la fonction Mid() non ?? 8O
Ca sert à ça :

Code : Tout sélectionner

Procedure.s test(ptrChaine.l)
  ProcedureReturn PeekS(ptrChaine)
EndProcedure

;ancienne méthode :
  chaine$ = "Coucou"
  test(@chaine$)
;nouvelle méthode :
  test(@"Coucou")
On économise une ligne et une variable... :wink:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre