Forum tama's team
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum tama's team

cp: ne peut évaluer `brain': Aucun fichier ou dossier de ce type
 
AccueilPortailGalerieRechercherDernières imagesS'enregistrerConnexion
Connexion
Nom d'utilisateur:
Mot de passe:
Connexion automatique: 
:: Récupérer mon mot de passe
Derniers sujets
» Numbers
[C] VAT, chapitre III Icon_minitimepar Ver2guerre Dim 02 Avr 2023, 00:47

» Mort ?
[C] VAT, chapitre III Icon_minitimepar godbod Dim 22 Aoû 2021, 12:23

» Network, essai 1
[C] VAT, chapitre III Icon_minitimepar godbod Dim 09 Juil 2017, 02:18

» GODBOD
[C] VAT, chapitre III Icon_minitimepar godbod Sam 08 Juil 2017, 14:05

» mon humeur
[C] VAT, chapitre III Icon_minitimepar Ver2guerre Sam 30 Juil 2016, 19:44

» [A voir] Programme de traduction original : WikiTranslate
[C] VAT, chapitre III Icon_minitimepar AdRiWeB Lun 01 Fév 2016, 04:50

» Reprise ?
[C] VAT, chapitre III Icon_minitimepar Emyl Jeu 14 Juin 2012, 21:17

» Euh, ah ?
[C] VAT, chapitre III Icon_minitimepar Ver2guerre Dim 27 Mai 2012, 12:11

» Problème TI 89 Titanium non visible après mise à jour
[C] VAT, chapitre III Icon_minitimepar abdoukid Mer 23 Mai 2012, 13:37

» Y'a quelqu'un ?
[C] VAT, chapitre III Icon_minitimepar Ver2guerre Sam 21 Avr 2012, 23:10

Quick message
Qui est en ligne ?
Il y a en tout 4 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 4 Invités

Aucun

Le record du nombre d'utilisateurs en ligne est de 367 le Dim 18 Oct 2009, 00:16
Le Deal du moment :
Display One Piece Card Game Japon OP-08 – Two ...
Voir le deal

Partagez | 
 

 [C] VAT, chapitre III

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

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

AuteurMessage
tama
Admin
Admin
tama

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

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

[C] VAT, chapitre III Vide
MessageSujet: [C] VAT, chapitre III   [C] VAT, chapitre III Icon_minitimeMer 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
tama
Admin
Admin
tama

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

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

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

Début de tuto, j'le compléterais plus tard :)
Revenir en haut Aller en bas
AdRiWeB
amis
amis
AdRiWeB

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

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

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

mdr la dédicace à Xywez
Revenir en haut Aller en bas
http://www.adriweb.net
tama
Admin
Admin
tama

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

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

[C] VAT, chapitre III Vide
MessageSujet: Re: [C] VAT, chapitre III   [C] VAT, chapitre III Icon_minitimeJeu 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
tama
Admin
Admin
tama

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

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

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

vala, fini le gros, vous pouvez commencer à poster :)
Revenir en haut Aller en bas
AdRiWeB
amis
amis
AdRiWeB

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

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

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

j'aime bien lespece de fausse interview %)

bon concept Wink
Revenir en haut Aller en bas
http://www.adriweb.net
tama
Admin
Admin
tama

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

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

[C] VAT, chapitre III Vide
MessageSujet: Re: [C] VAT, chapitre III   [C] VAT, chapitre III Icon_minitimeMer 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
AdRiWeB
amis
amis
AdRiWeB

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

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

[C] VAT, chapitre III Vide
MessageSujet: Re: [C] VAT, chapitre III   [C] VAT, chapitre III Icon_minitimeMer 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
http://www.adriweb.net
tama
Admin
Admin
tama

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

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

[C] VAT, chapitre III Vide
MessageSujet: Re: [C] VAT, chapitre III   [C] VAT, chapitre III Icon_minitimeMer 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
tama
Admin
Admin
tama

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

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

[C] VAT, chapitre III Vide
MessageSujet: Re: [C] VAT, chapitre III   [C] VAT, chapitre III Icon_minitimeJeu 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
AdRiWeB
amis
amis
AdRiWeB

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

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

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

ok pas de probleme

okok pour les screens mdr
Revenir en haut Aller en bas
http://www.adriweb.net
tama
Admin
Admin
tama

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

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

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

et parlez pour vous, ne votez pas "juste pour me faire plaisir"
Revenir en haut Aller en bas
AdRiWeB
amis
amis
AdRiWeB

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

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

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

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

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

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

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

...c'est-à-dire dans 3 mois...
Revenir en haut Aller en bas
AdRiWeB
amis
amis
AdRiWeB

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

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

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

(quand j'aurai une 68k ^^ ?
lol)
Revenir en haut Aller en bas
http://www.adriweb.net
tama
Admin
Admin
tama

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

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

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

pas forcément, tu peux essayer sur ému :p
Revenir en haut Aller en bas
AdRiWeB
amis
amis
AdRiWeB

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

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

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

rhaaa ^^

faut pas pousser non plus ^^
Revenir en haut Aller en bas
http://www.adriweb.net
tama
Admin
Admin
tama

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

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

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

1 oui :)
Revenir en haut Aller en bas
Contenu sponsorisé




[C] VAT, chapitre III Vide
MessageSujet: Re: [C] VAT, chapitre III   [C] VAT, chapitre III Icon_minitime

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 | Signaler un abus | Forum gratuit