1

Bonjour,
je suis actuellement sur un projet pour créer une liaison clavier d'ordinateur-ti89.
Je n'ai pas de problème au niveau électronique, j'ai réussi a obtenir le code des touches sur mon circuit intégré (PIC 16F84 de Microchip) et ma liaison PS/2 (protocole de communication avec mon clavier) marche pas mal.
Seulement je me heurte au problème de ma ti89.
Donc pour pouvoir utiliser mon clavier j'ai appris à utiliser TIGCC (que je remercie au passage).
J'ai donc passé un premier mois à programmer mon éditeur de texte... Jusqu'à ce que je me rend compte qu'il existe des fonctions exprès pour... eek
Bon tant pis, donc je me relance mais cette fois avec quelque chose de plus facile, enfin mon grand problèmes c'est que je n'arrive pas récupérer le texte final écrit.
Si j'ai bien compris, le texte est stocké dans un bloc de variables de type HANDLE, et je n'arrive pas a choper le texte que j'écris même en pointant successivement sur les bloc HANDLE. J'utilise les deux librairies de TIGCC textedit.h et events.h. Il mettent a disposition la doc sur leur site : http://tigcc.ticalc.org/ dans le menu manual-->TIGCC Library Header Files--->textedit.h / events.h

Bref, voilà où je bloque.
Donc si quelqu'un pourrait m'informer sur l'emplacement du texte dans les fonctions de textedite... eh bien reconnaissance éternelle calin
Sinon si vous avait quelque questions ou souhait a propos de la communication clavier je suis a votre entière disposition.
Moi-même

PS: je vous donne le code en pièce jointe : tromb Fichier joint : main.c

2

Il faut utiliser HeapDeref(h) pour avoir l'adresse tout simplement.

Remplace:
            strcpy(titre , "");
            for(i=0;i<200;i++)
            {
                pointeur = &te.Text.h+i;
                sprintf(titre, "%s%c",titre,*pointeur);
            }

par:
strncpy(titre, HeapDeref(h), 199);
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

A la place de
[code]pointeur = &te.Text.h+i;[/code]
Il faut faire
[code]pointeur = HeapDeref(te.Text.h)+i[/code]
HANDLE n'est pas directement un pointeur, il faut utiliser HeapDeref (ou HLock) pour obtenir un pointeur.

De plus, tu pourrais déplacer le calcul de HeapDeref(te.Text.h) hors de ta boucle, en le stockant dans une variable de type char * ou void *, ou mieux encore utiliser memcpy pour faire une copie directe smile

[EDIT: raaah. Le détecteur de cross posts ne fonctionne pas quand JavaScript est désactivé.]
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

4

Je vous remercie tout les deux énormément ... ça marche grin