1

Bon avant tout je suis super débutant en C
Je voudrais tracer un rectangle que l'on fait en basique avec flib:
flib("rect,0,0,159,99,1")
flib("rect,2,2,157,97,1")
C quoi la fonction en C pour faire des rectangles vides (ou des lignes)
Et est ce que les x et y sont comme le basic compris entre 0 et 59 et 0 et 159
Ou est ce d'autre valeur ??
C'est surement con ce que je demande mais bon faut bien commencer un jour !
Merci d'avance

2

Regarde dans la doc de TIGCC, DrawClipRect et ScrRectFill

3

Pour les rectangles vides, c'est DrawClipRect (clippée). Je n'en connais pas d'autre.
Pour les rectangles pleins, c'est ScrRectFill (clippée). Je peux t'en envoyer une bien plus rapide, mais elle prendra de la place dans ton programme. Et ScrRectFill suffit pour débuter.
Pour les lignes, c'est DrawLine. Toutes les librairies graphiques (ou au moins la plupart) ont des routines plus optimisées (plus rapides), mais qui prennent de la place dans ton programme... Et puis DrawLine suffit pour débuter.

> Et est ce que les x et y sont comme le basic compris entre 0 et 59 et 0 et 159
Ca ne lancera pas d'erreurs comme en TI-BASIC si tu mets des valeurs non comprises entre 0 et 239 en x et 0 et 127 en y, mais ça fera des bêtises (probablement crash).
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

ok et c quoi pour DrawClipRect après dans la parenthèse ?
DrawClipRect(x0,y0,x1,y1, A_NORMAL);
ou un truc du genre ??
Et ça veut dir quoi clippé ???

5

Clippé ça veut dire que tu peux mettre des valeurs qui sortent de l'écran, et le rectangle sera quand même tracé, en faisant attention de ne pas déborder.
Une fonction non clippée, soit ne tracera pas tu tout le rectangle et te renverra une valeur d'erreur, soit tracera le rectangle au mépris de tout ce qu'il pourrait y avoir là ou elle écrit, et donc pourra déborder sur une zone vitale de la mem...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

6

Le prototype t'est donné dans la doc de TIGCC.
clippé, ça veut dire que si tu donnes des coordonnées en dehors de l'écran, ça n'affichera pas la partie du rectangle invisible

7

et pour marquer une chaine de caractere en position x0,y0 et en petite police ??

8

hum, tu poses des question très simples quand même...
Il y a FontSetSys (ou SetFontSys, je ne me souviens jamais du nom exact)
Et DrawStr

9

#6: FontSetSys(F_4x6); DrawStr(x0,y0,string,[mode de dessin que tu n'as pas précisé]);
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

10

Pourquoi #6 ??

11

et pkoi pas ? cheeky
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

12

ça signifie "je fais référence au post #6"
kkkk
a écrit : et pour marquer une chaine de caractere en position x0,y0 et en petite police ??

13

Est ce qu'il y a un truc un français qui regroupe toutes les fonctions de base
Comme ligne écrire attente d'une touche ou tous les trucs vraiment de base parce que je commence le C aujourd'hui et je voudrais pas faire chier tout le monde à demander toutes les fonction dont j'ai besoin pour mon prog
(C'est un menu genre varlink mais à 3 niveau)

14

ok ça fait pas longtemps que je suis dans ce forum sorry

15

> Est ce qu'il y a un truc un français qui regroupe toutes les fonctions de base
A ma connaissance, non. On fait comme le monde entier, on a une doc en anglais...

> (C'est un menu genre varlink mais à 3 niveau)
Ca n'est pas complètement trivial à faire, ça...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

16

Et pour coder en C, il ne suffit pas de connaître les fonctions de la bibliothèque... Il faut connaître le langage lui-même.
Tu peux trouver un tuto en français sur www.ti-rex.net

17

et ou je peucx trouver une doc en Anglais ??

18

roll la doc de TIGCC est en anglais...

19

et ou la trouver ?? C quoi l'adressse du site de tigcc

20

Bah tu programmes avec quoi pour l'instant ?

21

TIGCC ok dois yavoir un lien smile

22

?? En-dehors de TIGCC, il n'y a rien de correct en programmation en C/ASM pour la TI...
TIGCC: http://tigcc.ticalc.org
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

23

Tu programmais avec quoi, kkkk ??

24

avec tigcc mais c mon premier jour je viens de commencer !

25

kkkk: un conseil amical, regarde un peu la doc de TIGCC par toi-même avant de poster ici.
Je te signale amicalement que la patience de tous, et cela sur tout forum, a des limites quand un nouveau venu demande tout sans avoir cherché par lui-même, ce qui est visiblement le cas ici...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

26

ok désolé j'essairais de chercher plus encore désolé

27

Ha, ben justement, le premier jour où j'ai commencé à programmer sous TIGCC, j'ai fait ce qui est posté dessous (en fait un peu moins, je l'ai modifié un peu par la suite, mais c'était quand même les tout premiers jours), sans connaître aucun forum ou tutorial. J'ai regardé la doc !

// C Source File
// Created 03/03/2001; 18:07:54

#define OPTIMIZE_ROM_CALLS // Use ROM Call Optimization

#define SAVE_SCREEN // Save/restore LCD screen

#include <tigcclib.h> // Include All Header Files

short _ti89; // Produce .89Z File

// Main Function
void _main(void)
{
// Déclarations
int k=0;
short x2;
short y2;
unsigned long time=5;
float timebuf=0;
long i=0;
char *buffer="";

// Code
ClrScr();
DrawLine(0,0,159,99,A_NORMAL);
DrawLine(0,99,159,0,A_NORMAL);
ngetchx();
ClrScr();
ST_helpMsg("Hello !");
ST_busy(ST_IDLE);
k=0;
ngetchx();
ClrScr();
DrawStr(0,0,"Compte à rebours...",A_NORMAL);
OSFreeTimer(6);
OSRegisterTimer (6,5*20);
while (!OSTimerExpired (6))
{
time=(OSTimerCurVal(6));
timebuf=(float)time/20;
sprintf(buffer,"%f",timebuf);
strcat(buffer," ");
DrawStr(100,60,buffer,A_REPLACE);
}
OSFreeTimer(6);
k=0;
ClrScr();
randomize();
for (i=0; i<50000; i++)
{
x2=random(160);
y2=random(100);
DrawPix(x2,y2,A_NORMAL);
}
GKeyIn(NULL,0);
}
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

28

J'espère que le ton de mon post #26 n'a pas été trop méchant ?
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

29

Non, au contraire, j'ai trouvé que c'était parfait.
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

30

27> non, à mon avis, ça va smile

merci pr la pub pr le tuto smile
(je sais plus qui c qui en a parlé, mais merci qd même smile)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall