Derniers sujets
» Visu Hivernale 2020
printf et codes speciaux EmptyDim 26 Jan 2020 - 12:03 par didierv

» Bocco's adventures - nouveau jeu pour Oric
printf et codes speciaux EmptyVen 24 Jan 2020 - 10:09 par Dom50

» Fifteen Puzzle - [raxiss]
printf et codes speciaux EmptyVen 24 Jan 2020 - 9:50 par jbperin

» Bonnes fêtes
printf et codes speciaux EmptyDim 19 Jan 2020 - 19:36 par retroric

» rs
printf et codes speciaux EmptyDim 19 Jan 2020 - 10:18 par Symoon

» Ca se frite sur eBay ! :-)
printf et codes speciaux EmptyMer 15 Jan 2020 - 10:36 par Oric1-Atmos

» Cartouche telestrat
printf et codes speciaux EmptySam 11 Jan 2020 - 22:59 par 6502man

» Contrôleur microdisc (mini)
printf et codes speciaux EmptyMer 8 Jan 2020 - 12:11 par Oric1-Atmos

» Abonnement
printf et codes speciaux EmptyMar 7 Jan 2020 - 3:50 par didierv

» ROM 1.22?
printf et codes speciaux EmptyLun 6 Jan 2020 - 19:33 par froggy

» Oricutron - Problème touche clavier
printf et codes speciaux EmptyDim 5 Jan 2020 - 9:16 par jbperin

» Telestrat a Vendre
printf et codes speciaux EmptyVen 3 Jan 2020 - 22:30 par didierv

» Nouveau site ceo.oric.org
printf et codes speciaux EmptyMar 31 Déc 2019 - 0:17 par didierv

» jeu Rain Panic
printf et codes speciaux EmptyLun 30 Déc 2019 - 22:27 par jbperin

» Branchement alimentation péritel [Résolu]
printf et codes speciaux EmptyJeu 26 Déc 2019 - 19:41 par jbperin

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

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion

Récupérer mon mot de passe

Statistiques
Nous avons 205 membres enregistrés
L'utilisateur enregistré le plus récent est TOOR

Nos membres ont posté un total de 8479 messages dans 735 sujets
Portail ORIC




printf et codes speciaux

Poster un nouveau sujet   Répondre au sujet

Aller en bas

printf et codes speciaux Empty printf et codes speciaux

Message par goyo le Lun 5 Aoû 2019 - 18:22

J’aimerais savoir si on peut envoyer des codes spéciaux dans un printf afin de par exemple inverser les couleurs, ou fond et encre. Ou pour spécifier diffèrentes couleurs dans la chaînes du printf...?
goyo
goyo

Messages : 182
Date d'inscription : 02/05/2014
Age : 48
Localisation : Massy

Revenir en haut Aller en bas

printf et codes speciaux Empty Re: printf et codes speciaux

Message par Dbug le Mar 6 Aoû 2019 - 15:03

Ca dépend comment c'est implémenté:
- Si ca écrit directement dans la mémoire vidéo, alors toute valeur entre 1 et 31 sera interprétée comme un attribut (0 ne marchera pas, c'est le marqueur de fin de chaine)
- Si ca passe par la fonction de la ROM, alors probablement il faut passer par les codes d'échappement, donc passer le code 27 (ESCAPE) suivit d'un caractère.
Dans les deux cas on trouve la liste dans les annexes du manuel BASIC.

_________________

Dbug
Dbug

Messages : 241
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

printf et codes speciaux Empty Re: printf et codes speciaux

Message par goyo le Mar 6 Aoû 2019 - 16:59

Dbug a écrit:Ca dépend comment c'est implémenté:
- Si ca écrit directement dans la mémoire vidéo, alors toute valeur entre 1 et 31 sera interprétée comme un attribut (0 ne marchera pas, c'est le marqueur de fin de chaine)
- Si ca passe par la fonction de la ROM, alors probablement il faut passer par les codes d'échappement, donc passer le code 27 (ESCAPE) suivit d'un caractère.
Dans les deux cas on trouve la liste dans les annexes du manuel BASIC.

J'ai utilisé la méthode avec le code échappement, ça fonctionne bien merci :

Code:
main()
{
 unsigned char i;
 for (i=0;i<8;i++)
 printf("%c%ctext with [ESC CODE]+%c code before\n",27,64+i,64+i);  // escape mode (27) + escape code : ex 'A'= red ink
}

mais comment fais tu pour utiliser le printf directement avec la mémoire vidéo ?   printf(1+"texte"); ?
goyo
goyo

Messages : 182
Date d'inscription : 02/05/2014
Age : 48
Localisation : Massy

Revenir en haut Aller en bas

printf et codes speciaux Empty Re: printf et codes speciaux

Message par Dbug le Mar 6 Aoû 2019 - 21:15

Tu pourrais essayer avec les valeurs immédiates en Octal pour éviter le 27 en paramètre:
Code:
printf("\033%ctext with [ESC CODE]+%c code before\n",64+i,64+i);  // escape mode (27) + escape code : ex 'A'= red ink

mais comment fais tu pour utiliser le printf directement avec la mémoire vidéo ?   printf(1+"texte"); ?
Code:
sprintf(addresseDansLEcran,"Hello")

_________________

Dbug
Dbug

Messages : 241
Date d'inscription : 06/01/2013

Revenir en haut Aller en bas

printf et codes speciaux Empty Re: printf et codes speciaux

Message par goyo le Mer 7 Aoû 2019 - 11:56

Dbug a écrit:Tu pourrais essayer avec les valeurs immédiates en Octal pour éviter le 27 en paramètre:
Code:
printf("\033%ctext with [ESC CODE]+%c code before\n",64+i,64+i);  // escape mode (27) + escape code : ex 'A'= red ink

mais comment fais tu pour utiliser le printf directement avec la mémoire vidéo ?   printf(1+"texte"); ?
Code:
sprintf(addresseDansLEcran,"Hello")

Je ne connaissais pas le sprintf ainsi que le système octal  Embarassed  ...!!

le sprintf à l'air d'être plus rapide qu'un gotoxy()+printf()

J'ai même pu faire une inversion de couleur...
Code:
int main()
{
   unsigned int i;
   cls();
   for (i=0xBB80;i<0xBB80+1120;i+=40)
 sprintf(i,"\3\22texte\21\7 I=%d %c",i-0xBB80,65|128);
}
je pense, un peu plus compliqué pour plus d'un caractère en couleurs inversées

j'en apprends tout les jour Smile

la programmation c'est merveilleux !!!

Merci Dr Dbug de ton aide
goyo
goyo

Messages : 182
Date d'inscription : 02/05/2014
Age : 48
Localisation : Massy

Revenir en haut Aller en bas

printf et codes speciaux Empty Re: printf et codes speciaux

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous pouvez répondre aux sujets dans ce forum