Derniers sujets
» le retour du Commodore 64
printf et codes speciaux EmptyAujourd'hui à 1:55 par jbperin

» Type in Master Mind
printf et codes speciaux EmptyHier à 14:53 par Ladywasky

» Pictoric
printf et codes speciaux EmptyMer 4 Déc 2019 - 12:02 par Sheld67

» Nouveau site ceo.oric.org
printf et codes speciaux EmptyMar 3 Déc 2019 - 5:08 par didierv

» Bocco's adventures - nouveau jeu pour Oric
printf et codes speciaux EmptyMar 3 Déc 2019 - 0:08 par retroric

» Problème avec les boucles
printf et codes speciaux EmptyLun 2 Déc 2019 - 13:43 par TotoShampoin

» Nouvel ancien jeu: Oric Golf par K. Smith
printf et codes speciaux EmptyDim 1 Déc 2019 - 12:19 par Symoon

» Aux couleurs de l'Atmos
printf et codes speciaux EmptyDim 1 Déc 2019 - 11:52 par Dom50

» ORIC-1 sur LE BON COIN
printf et codes speciaux EmptyVen 29 Nov 2019 - 21:15 par didierv

» recherche racine carrée 32 bits (et arctangente 16 bits) [RESOLU !! ]
printf et codes speciaux EmptyVen 29 Nov 2019 - 9:43 par jbperin

» une atan2 pour vos lib math
printf et codes speciaux EmptyJeu 28 Nov 2019 - 21:19 par jbperin

» Materiels Oric pour membres du CEO
printf et codes speciaux EmptyMer 27 Nov 2019 - 14:38 par jbperin

» I had a dream .. glOric
printf et codes speciaux EmptyMer 27 Nov 2019 - 1:01 par retroric

» CEO-MAG 355
printf et codes speciaux EmptyMar 26 Nov 2019 - 23:19 par retroric

» Boite de réception des messages sur le forum
printf et codes speciaux EmptyLun 25 Nov 2019 - 21:16 par Jede

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

froggy

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 201 membres enregistrés
L'utilisateur enregistré le plus récent est David Coipel

Nos membres ont posté un total de 8294 messages dans 716 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 : 181
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 : 231
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 : 181
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 : 231
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 : 181
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