Exemmples Structure...

Sujets variés concernant le développement en PureBasic
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Exemmples Structure...

Message par Shadow »

Voici quelques exemple de Structure si ça peut servir:

Code : Tout sélectionner

; Exemple créé par Monsieur Dieppedalle David le 15/03/2017.
; Exemple d'utilisation d'une Structure contenant des Listes chaînées.

; Création de la Structure qui contient les Listes.
Structure CarteMemoire
  
  List SlotTexte.s() ; Autant d'Emplacements de Texte possibles.
  List SlotValeur.q() ; Autant d'Emplacements de Valeur possibles.
  
EndStructure

; Création d'une Liste qui Contiendra toutes les informations de la Structure.
NewList CarteMemoire.CarteMemoire()


; Nouvelle Carte Mémoire.
AddElement(CarteMemoire())


; Ajout d'un nouvel élément dans le Slot SlotTexte() de la Carte Mémoire.
AddElement(CarteMemoire()\SlotTexte())

; Attribution de la valeur au nouvel élément du Slot SlotTexte() de la Carte Mémoire.
CarteMemoire()\SlotTexte() = "Michel"


; Ajout d'un nouvel élément dans le Slot SlotTexte() de la Carte Mémoire.
AddElement(CarteMemoire()\SlotTexte())

; Attribution de la valeur au nouvel élément du Slot SlotTexte() de la Carte Mémoire.
CarteMemoire()\SlotTexte() = "Lye"


; Ajout d'un nouvel élément dans le Slot SlotValeur() de la Carte Mémoire.
AddElement(CarteMemoire()\SlotValeur())

; Attribution de la valeur au nouvel élément du Slot SlotValeur() de la Carte Mémoire.
CarteMemoire()\SlotValeur() = 62


; Ajout d'un nouvel élément dans le Slot SlotValeur() de la Carte Mémoire.
AddElement(CarteMemoire()\SlotValeur())

; Attribution de la valeur au nouvel élément du Slot SlotValeur() de la Carte Mémoire.
CarteMemoire()\SlotValeur() = 176



; Nouvelle Carte Mémoire.
AddElement(CarteMemoire())


; Ajout d'un nouvel élément dans le Slot SlotTexte() de la Carte Mémoire.
AddElement(CarteMemoire()\SlotTexte())

; Attribution de la valeur au nouvel élément du Slot SlotTexte() de la Carte Mémoire.
CarteMemoire()\SlotTexte() = "David"


; Ajout d'un nouvel élément dans le Slot SlotTexte() de la Carte Mémoire.
AddElement(CarteMemoire()\SlotTexte())

; Attribution de la valeur au nouvel élément du Slot SlotTexte() de la Carte Mémoire.
CarteMemoire()\SlotTexte() = "Dieppedalle"


; Ajout d'un nouvel élément dans le Slot SlotValeur() de la Carte Mémoire.
AddElement(CarteMemoire()\SlotValeur())

; Attribution de la valeur au nouvel élément du Slot SlotValeur() de la Carte Mémoire.
CarteMemoire()\SlotValeur() = 32


; Ajout d'un nouvel élément dans le Slot SlotValeur() de la Carte Mémoire.
AddElement(CarteMemoire()\SlotValeur())

; Attribution de la valeur au nouvel élément du Slot SlotValeur() de la Carte Mémoire.
CarteMemoire()\SlotValeur() = 166

; Enumération de toutes les Cartes Mémoire.
ForEach CarteMemoire()
  
  ; Enumération de tous les SlotTexte de la Cartes Mémoire.
  ForEach CarteMemoire()\SlotTexte()
    Debug CarteMemoire()\SlotTexte()
  Next
  
  ; Enumération de tous les SlotValeur de la Cartes Mémoire.
  ForEach CarteMemoire()\SlotValeur()
    Debug CarteMemoire()\SlotValeur()
  Next
  
Next

Code : Tout sélectionner

; Exemple créé par Monsieur Dieppedalle David le 15/03/2017.
; Exemple d'utilisation d'une Structure contenant des Tableaux.

; Création de la Structure qui contient les Tableaux.
Structure CarteMemoire
  
  Array SlotTexte.s(9999) ; 10 000 Emplacements Texte possibles.
  Array SlotValeur.q(9999) ; 10 000 Emplacements Valeur possibles.
  
EndStructure

; Création d'un Tableau qui Contiendra toutes les informations de la Structure.
Dim CarteMemoire.CarteMemoire(9999) ; 10 000 Cartes mémoire possibles.

; Ajout d'un nouvel élément dans le Slot SlotTexte() de la Carte Mémoire.
CarteMemoire(1)\SlotTexte(1) = "Michel"

; Ajout d'un nouvel élément dans le Slot SlotTexte() de la Carte Mémoire.
CarteMemoire(1)\SlotTexte(2) = "Lye"

; Attribution de la valeur au nouvel élément du Slot SlotValeur() de la Carte Mémoire.
CarteMemoire(1)\SlotValeur(1) = 62

; Attribution de la valeur au nouvel élément du Slot SlotValeur() de la Carte Mémoire.
CarteMemoire(1)\SlotValeur(2) = 176

; Ajout d'un nouvel élément dans le Slot SlotTexte() de la Carte Mémoire.
CarteMemoire(2)\SlotTexte(1) = "David"

; Ajout d'un nouvel élément dans le Slot SlotTexte() de la Carte Mémoire.
CarteMemoire(2)\SlotTexte(2) = "Dieppedalle"

; Attribution de la valeur au nouvel élément du Slot SlotValeur() de la Carte Mémoire.
CarteMemoire(2)\SlotValeur(1) = 32

; Attribution de la valeur au nouvel élément du Slot SlotValeur() de la Carte Mémoire.
CarteMemoire(2)\SlotValeur(2) = 166

; Enumération de toutes les Cartes Mémoire
For NumeroCarteMemoire = 1 To 2
  
  ; Enumération de tous les SlotTexte de la Cartes Mémoire
  For NumeroSlotTexte = 1 To 2
    Debug CarteMemoire(NumeroCarteMemoire)\SlotTexte(NumeroSlotTexte)
  Next
  
  ; Enumération de tous les SlotValeur de la Cartes Mémoire
  For NumeroSlotValeur = 1 To 2
    Debug CarteMemoire(NumeroCarteMemoire)\SlotValeur(NumeroSlotValeur)
  Next
  
Next

Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Exemmples Structure...

Message par falsam »

Je ne suis pas certain que le sujet soit pertinent sachant que l'aide en ligne est suffisant explicite, mais pourquoi pas :wink:

Plus généralement une structure peut contenir bien sur des variables mais aussi des tableaux, des listes chaînées, des maps et en se débrouillant bien .... des procédures.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Exemmples Structure...

Message par Ar-S »

Pas la peine de nous refaire la doc Shadow, surtout de manière incomplète.
Sujet locké (mais je ne le supprime pas pour la bonne volonté).
Merci de ta compréhension.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Verrouillé