Forum tama's team

cp: ne peut évaluer `brain': Aucun fichier ou dossier de ce type
AccueilPortailGalerieCalendrierFAQRechercherS'enregistrerMembresGroupesConnexion
Connexion
Nom d'utilisateur:
Mot de passe:
Connexion automatique: 
:: Récupérer mon mot de passe
Derniers sujets
» Network, essai 1
par godbod Dim 09 Juil 2017, 02:18

» GODBOD
par godbod Sam 08 Juil 2017, 14:05

» Numbers
par godbod Sam 08 Juil 2017, 13:54

» Mort ?
par godbod Sam 08 Juil 2017, 13:47

» mon humeur
par Ver2guerre Sam 30 Juil 2016, 19:44

» [A voir] Programme de traduction original : WikiTranslate
par AdRiWeB Lun 01 Fév 2016, 04:50

» Reprise ?
par Emyl Jeu 14 Juin 2012, 21:17

» Euh, ah ?
par Ver2guerre Dim 27 Mai 2012, 12:11

» Problème TI 89 Titanium non visible après mise à jour
par abdoukid Mer 23 Mai 2012, 13:37

» Y'a quelqu'un ?
par Ver2guerre Sam 21 Avr 2012, 23:10

Quick message
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 367 le Dim 18 Oct 2009, 00:16

Partagez | 
 

 [C] VAT, chapitre III

Voir le sujet précédent Voir le sujet suivant Aller en bas 

Avez-vous compris le tuto ?
Oui
100%
 100% [ 2 ]
Presque
0%
 0% [ 0 ]
Pas vraiment
0%
 0% [ 0 ]
Non (si non, expliquer ce qui manque en postant)
0%
 0% [ 0 ]
Total des votes : 2
 

AuteurMessage
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: [C] VAT, chapitre III   Mer 05 Mar 2008, 22:54

Nous voici donc au 3ème chapitre, dernier chapitre que je vais écrire sur la VAT. Une fois ce chapitre lu, vous devriez être capable de manipuler correctement vos variables présentes sur votre calculatrice. Puis, petit à petit, en lisant d'autres tutos, vous serez devenu un expert en la matière



Aujourd'hui, nous allons apprendre à manipuler les octets consistuant la plupart des variables que vous possédez sur votre TI, comme vous le faisiez avec les fonctions de stdio.h telles que fread, fputc, fputs ...

Citation :

Mais pourquoi on utilise pas ces fonctions-là ? ça devrait être beaucoup plus simple que de manipuler la VAT...

Cette question, pas mal d'entre vous doivent se la poser : en effet, pourquoi se compliquer la vie ?
En fait, ces fonctions de stdio.h sont lourdes et plutôt lentes. Ce sont des fonctions toutes faites, utile aux "programmeurs débutants", qui ne cherchent pas encore à optimiser leur code, mais juste à le faire marcher.
Les fonctions de la VAT sont plus légères et plus rapides. C'est pour ça que nous allons les utiliser pour faire ce qu'on aurait pu faire avec les fonctions de stdio.h. Mais si vous souhaitez rester avec les fonctions de stdio.h, vous pouvez tout à fait, dans les petits programmes destinés à un usage personnel par exemple
L'idéal est de les connaitre tous les deux, et c'est le but de ce tuto
Commençons donc la leçon d'aujourd'hui


Manipulation de bites bytes
spéciale dédicace à Xywez ^^


I Un peu de théorie : structure des variables
Tous les fichiers que vous utilisez couramment, les listes, les variables, les textes, les programmes, ont une structure particulière qui permet au TI-OS de savoir à quel genre de variable il a affaire. Cette structure est identique pour la majorité d'entre eux : en gros, on peut la définir ainsi, il y a ensuite quelques différences selon le type de variable :

Code:

2 octets : taille de la variable
? octets : données
1 octet : extension (ou plus si extension personnelle)

En général, vous êtes libres d'organiser vous-même la structure de votre variable, mais attention à bien mettre la bonne taille à la fin de la manipulation de votre variable, sinon cela risque de rendre le fichier inutilisable, voire pire !
Renseignez-donc vous bien sur un type de variable avant de commencer à le manipuler.
C'est ce qu'on va faire maintenant : découvrir la structure de la plupart des variables courantes











En cours de rédaction...

Et voilà, vous savez maintenant comment sont formées les variables :)
Maintenant nous allons utiliser ça :)


II Ecrire/lire dans un fichier

Tout d'abord, avant d'écrire ou de lire dans un fichier, il faut l'ouvrir, comme on le faisait (ou pas...) avec la fonction fopen() de stdio.h
Pour cela, on va tout simplement faire comme on l'a appris dans le chapitre I de ce tutorial, en utilisant le pointeur de type SYM_ENTRY
Je ne citerais pas une nouvelle fois les données de ce pointeur, en tout cas, ce qui va nous intéresser cette fois est le HANDLE de la structure qui va nous permettre d'accéder aux données de la variable


Citation :

Mais...qu'est-ce qu'un HANDLE ?

Bon, tout le monde sait que la mémoire est divisée en plusieurs "blocs" qui contiennent chacun un certain nombre de données. Ces "blocs" sont des HANDLE, à l'intérieur desquels on trouve une succession de données. Pour en savoir plus, il vaut mieux aller fouiner dans le header < alloc.h > de la doc de tigcc (ou à d'autres endroits, google is your friend Wink)

Nous allons donc accéder ici au HANDLE contenant les données de la variable que nous cherchons à modifier, ou à lire.
Voici comment on va s'y prendre, étape par étape :

  1. On crée un pointeur SYM_ENTRY vers la variable
  2. On récupère le HANDLE de la variable
  3. On crée un pointeur qui va pointer sur la première donnée à l'aide de l'instruction HeapDeref()
  4. A partir de là, on à "l'adresse de base", on peut accéder à n'importe quelle donnée de la variable en ajoutant un certain nombre à l'adresse de base






Attention de bien vérifier entre chaque étape si tout s'est correctement passé, sinon il risque d'y avoir des gros bugs !

A noter que si vous voulez créer une variable, il faut juste remplacer l'instruction SymFindPtr() utilisée en 1. en SymAdd()
Cette fonction prend un seul argument, le nom de la variable à créer, de type SYM_STR. Elle retourne ensuite un pointeur de type HSym qu'on convertit ensuite à l'aide de l'instruction DerefSym(). La suite est pareille, mais n'oubliez pas de mettre la bonne taille dans les 2 premiers octets (taille des données - 2) à la fin de la manipulation.

Maintenant, voyons ce que ça donne en code :
objectif :créer une chaine nommée "test" de 32 octets
essayez d'abord tout seul puis comparez avec la version du tuto

Spoiler:
 

Pour lire, on procède de même mais au lieu d'écrire, bah on lit ^^
attention aux types des données, il est conseillé d'utiliser des char
On peut aussi utiliser l'instruction memcpy() et strcpy() pour simplifier la tâche et écrire plusieurs octets d'un coup

Vala, maintenant vous savez lire/écrire dans un fichier :)
Je n'ai plus rien à vous apprendre, entrainez-vous, regardez d'autres tutos, faites-vous plaisir ^^
Moi, j'continuerais à écrire d'autres tutos si j'en ai le temps, et surtout la motivation

Avant de clore définitivement ce tuto, si vous avez un quelconque problème n'hésitez pas à poster ou à me contacter :)
Je vous conseille également
pour la lecture de regarder le header < vat.h >, vous y apprendrez beaucoup beaucoup de choses :)

Vala vala, c'est tout ce que je pouvais dire
Au revoir :)


Citation :

Au revoir.

tama
11 Mars 2008

_________________




Dernière édition par tama le Sam 29 Mar 2008, 19:44, édité 10 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Mer 05 Mar 2008, 22:55

Début de tuto, j'le compléterais plus tard :)

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
amis
amis
avatar

Nombre de messages : 3655
Age : 25
Localisation : Juste sous mes cheveux
Loisirs : Internet, programmation, TI, musique, tennis-de-table ...
Humeur : ^^
items : o
Personalized field :
Réputation : 0
Points : 3929
Date d'inscription : 12/08/2007

Profil
TI: TI-84 Plus, nspire CAS
TO: 2429 {2}
Spécialité: Basic z80

MessageSujet: Re: [C] VAT, chapitre III   Mer 05 Mar 2008, 23:58

mdr la dédicace à Xywez
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Jeu 06 Mar 2008, 01:32

%)
c'est la seule chose que tu as vu %)

bon, j'aimerais bien qu'on ne poste pas avant que j'ai terminé le tuto, alors je supprimerai tout nouveau message

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Mer 12 Mar 2008, 01:28

vala, fini le gros, vous pouvez commencer à poster :)

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
amis
amis
avatar

Nombre de messages : 3655
Age : 25
Localisation : Juste sous mes cheveux
Loisirs : Internet, programmation, TI, musique, tennis-de-table ...
Humeur : ^^
items : o
Personalized field :
Réputation : 0
Points : 3929
Date d'inscription : 12/08/2007

Profil
TI: TI-84 Plus, nspire CAS
TO: 2429 {2}
Spécialité: Basic z80

MessageSujet: Re: [C] VAT, chapitre III   Mer 12 Mar 2008, 15:23

j'aime bien lespece de fausse interview %)

bon concept Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Mer 12 Mar 2008, 16:06

c'est pour répondre à la plupart des questions qu'un utilisateur "lambda" se poserait en regardant ce tuto

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
amis
amis
avatar

Nombre de messages : 3655
Age : 25
Localisation : Juste sous mes cheveux
Loisirs : Internet, programmation, TI, musique, tennis-de-table ...
Humeur : ^^
items : o
Personalized field :
Réputation : 0
Points : 3929
Date d'inscription : 12/08/2007

Profil
TI: TI-84 Plus, nspire CAS
TO: 2429 {2}
Spécialité: Basic z80

MessageSujet: Re: [C] VAT, chapitre III   Mer 12 Mar 2008, 16:16

(ouai, c'est très utile ^^)

par contre, tu peux pas faire de screen explicite, pour ce tuto, non ?

'omi j'men fou mais bon, pi bno ca doit pas trop etre possible non lmus mdr
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Mer 12 Mar 2008, 16:24

Bah si, bien sûr je peux, mais à quoi ça servirait : "oh ! ça a marché !"
?

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Jeu 13 Mar 2008, 00:59

Bon, sinon, ça serait bien de répondre aux sondages que je laisse avec les tutos, même si "ça vous concerne pas"

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
amis
amis
avatar

Nombre de messages : 3655
Age : 25
Localisation : Juste sous mes cheveux
Loisirs : Internet, programmation, TI, musique, tennis-de-table ...
Humeur : ^^
items : o
Personalized field :
Réputation : 0
Points : 3929
Date d'inscription : 12/08/2007

Profil
TI: TI-84 Plus, nspire CAS
TO: 2429 {2}
Spécialité: Basic z80

MessageSujet: Re: [C] VAT, chapitre III   Jeu 13 Mar 2008, 20:10

ok pas de probleme

okok pour les screens mdr
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Jeu 13 Mar 2008, 23:50

et parlez pour vous, ne votez pas "juste pour me faire plaisir"

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
amis
amis
avatar

Nombre de messages : 3655
Age : 25
Localisation : Juste sous mes cheveux
Loisirs : Internet, programmation, TI, musique, tennis-de-table ...
Humeur : ^^
items : o
Personalized field :
Réputation : 0
Points : 3929
Date d'inscription : 12/08/2007

Profil
TI: TI-84 Plus, nspire CAS
TO: 2429 {2}
Spécialité: Basic z80

MessageSujet: Re: [C] VAT, chapitre III   Ven 14 Mar 2008, 21:33

oui, quand on l'aura lu ^^ xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Ven 14 Mar 2008, 22:26

...c'est-à-dire dans 3 mois...

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
amis
amis
avatar

Nombre de messages : 3655
Age : 25
Localisation : Juste sous mes cheveux
Loisirs : Internet, programmation, TI, musique, tennis-de-table ...
Humeur : ^^
items : o
Personalized field :
Réputation : 0
Points : 3929
Date d'inscription : 12/08/2007

Profil
TI: TI-84 Plus, nspire CAS
TO: 2429 {2}
Spécialité: Basic z80

MessageSujet: Re: [C] VAT, chapitre III   Dim 16 Mar 2008, 11:46

(quand j'aurai une 68k ^^ ?
lol)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Dim 16 Mar 2008, 14:25

pas forcément, tu peux essayer sur ému :p

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
amis
amis
avatar

Nombre de messages : 3655
Age : 25
Localisation : Juste sous mes cheveux
Loisirs : Internet, programmation, TI, musique, tennis-de-table ...
Humeur : ^^
items : o
Personalized field :
Réputation : 0
Points : 3929
Date d'inscription : 12/08/2007

Profil
TI: TI-84 Plus, nspire CAS
TO: 2429 {2}
Spécialité: Basic z80

MessageSujet: Re: [C] VAT, chapitre III   Lun 17 Mar 2008, 20:48

rhaaa ^^

faut pas pousser non plus ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
tama
Admin
Admin
avatar

Nombre de messages : 12375
Age : 26
Localisation : DTC ? :triso:
Humeur : =)
items : o
Personalized field : huh ? oO
Réputation : 3
Points : 7087
Date d'inscription : 08/08/2007

Profil
TI: 84+, 89 tita, 89 tita
TO: infini :p
Spécialité: C 68k

MessageSujet: Re: [C] VAT, chapitre III   Lun 17 Mar 2008, 21:48

1 oui :)

_________________


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [C] VAT, chapitre III   

Revenir en haut Aller en bas
 

[C] VAT, chapitre III

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum tama's team :: TI :: TI 68k :: Tutoriels-
Créer un forum | © phpBB | Forum gratuit d'entraide | Contact | Signaler un abus | Forum gratuit