#1 14-03-2006 13:33:21

seyhajin
Administrateur
Date d'inscription: 16-11-2005
Messages: 56

Comment utiliser les TYPES ?

Introduction :

les TYPES sont la puissance du langage Blitz, donc n’espérez pas avoir un jeu de la mort sans les utiliser, et surtout vous passerez a coté d'une étape importante concernant le langage. Ça sert notamment à avoir un code flexible et robuste.

Nous allons procéder par étapes :

1 - La déclaration :

Nous allons déclarer un "Type" qui se nommera OBJET grâce au mot-clef "Type" et "End Type"

Code: bb:

Type OBJET  ; Nom du type

End Type     ; Fin de la déclaration

On va lui fournir des "Attributs" ou "Champs" grâce au mot-clef "Field" qui composera notre "Type" OBJET.

Code: bb:

Type OBJET
          Field Age%         ; Attribut Age (% = nombre entier)
          Field Nom$         ; Attribut Nom ($ = texte)
          Field Poids#        ; Attribut Poids (# = nombre flottant)
End Type

Nous avons fini la déclaration de notre Type OBJET.

2 - L'instanciation :

Maintenant que nous avons déclarer notre Type, nous allons l'utiliser, pour cela il nous faut crée une instance de Type grace au mot-clef "New".

Code: bb:

; monObjet sera du Type OBJET...
monObjet.OBJET = New OBJET

On remarquera que pour définir notre variable monObjet en une instance de Type OBJET, on utilise un ".", c'est comme quand vous définissez une variable de type entier, flottant ou texte en ajoutant le signe qui le caractérise (ex = Vitesse# sera un nombre flottant et v.Vector sera une variable (instance) du Type Vector). Rien de compliqué jusque là.

3 - L'affectation :

On va affecter ses champs/attributs en utilisant le signe d'affectation "=" comme suit :

Code: bb:

; les attributs de monObjet seront...
monObjet\Age% = 20
monObjet\Nom$ = "Toto"
monObjet\Poids# = 62.5

mais qu'est-ce donc ce "\" et ou est passé mon ".OBJET" ?

Le "\" permet d’accéder aux attributs du Type OBJET spécifique à notre instance monObjet, le ".OBJET" est vraiment optionnel car une fois que l'on a instancié notre variable monObjet en Type OBJET, on n'a plus besoin de rajouter le ".OBJET". C'est comme quand vous déclarez une variable (ex = Prenom$ est une variable de type texte, vous pouvez maintenant l'utiliser dans votre code sans redéfinir de quel type il retourne, car nous l'avons déjà déclaré une première fois, donc Prenom = Prenom$ une fois déclaré).

4 - Accès à la liste des instances du Type OBJET :

A chaque instanciation du Type OBJET, l'instance se retrouve placer dans une liste chaînée de son Type (OBJET). Pour accéder à tous ses membres nous allons utiliser les mots-clefs "For","Each","Next" comme suit.

Code: bb:

For member.OBJET = Each OBJET
          ; Notre code ....
Next

"member" peut être une instance temporaire ou local de OBJET parcourant la liste du Type OBJET.

Exemple : nous allons vérifier l' "Age" des OBJET pour savoir s'il est majeur ou non.

Code: bb:

For member.OBJET = Each OBJET
          If member\Age >= 18
                    Print "Membre : " + member\Nom + " est majeur"
          Else
                    Print "Membre : " + member\Nom + " est mineur"
          EndIf
Next

5 - Destruction de Type OBJET :

- Pour détruire une instance de OBJET, nous allons utiliser le mot-clef "Delete" comme suit :

Code: bb:

Delete monObjet

Attention toutefois, monObjet doit être déclarer de type OBJET et instancier avant.

- Pour détruire la liste de Type OBJET, nous avons deux méthodes pour le faire :

Code: bb:

Delete Each OBJET

ou

Code: bb:

For member.OBJET = Each OBJET
         Delete member
Next

La première méthode permet de supprimer toutes les instances en une ligne et la seconde doit parcourir toute la liste de OBJET pour les supprimer un par un, on peut donc remarquer que la première méthode est la plus rapide. Donc a utiliser quand cela est possible. Utilise l'autre méthode quand vous devez supprimer d'autres attributs de Type différent.

Voila le tutoriel est maintenant terminé, vous pouvez expérimenter votre savoir sur votre compilateur favori, il manque pas mal de mot-clef non mentionné ici, je vous invites donc à jeter un œil sur la documentation pour les mots-clefs suivants : "Insert,First,Last,Before,After,Object,Handle"

Pour toutes remarques et suggestions, merci de poster sur le forum. smile

Hors ligne

 

Pied de page des forums

Seyhajin © 2005