Forum Oric
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Derniers sujets
» le forum fourre tout
printf et codes speciaux EmptyMar 30 Juin 2020 - 13:11 par Admin

» besoin cable coleur et interface de lecture sd card
printf et codes speciaux EmptyJeu 25 Juin 2020 - 11:56 par kenneth

» I had a dream .. glOric
printf et codes speciaux EmptySam 6 Juin 2020 - 14:18 par jbperin

» Multi soluces...
printf et codes speciaux EmptyMar 19 Mai 2020 - 12:41 par soft-bug

» Des nouvelles de BAS_ORIC
printf et codes speciaux EmptyMer 6 Mai 2020 - 16:08 par goyo

» 3D walkthrough template en moins de 600 lignes de C
printf et codes speciaux EmptyMer 29 Avr 2020 - 20:43 par Star42

» CB2 micro
printf et codes speciaux EmptySam 11 Avr 2020 - 19:29 par jbperin

» Le bonjour de codeur
printf et codes speciaux EmptyMer 1 Avr 2020 - 15:18 par Invité

» [résolu] Format des fichiers Hyperbasic...
printf et codes speciaux EmptySam 28 Mar 2020 - 19:50 par damien

» [résolu] Récupération contenu disquettes 3 pouces...
printf et codes speciaux EmptyVen 27 Mar 2020 - 15:06 par damien

» Echange de jeux/logiciels
printf et codes speciaux EmptyLun 23 Mar 2020 - 20:15 par Star42

» Ordi Portable Sony VAIO
printf et codes speciaux EmptyDim 22 Mar 2020 - 16:17 par froggy

» une atan2 pour vos lib math
printf et codes speciaux EmptyDim 22 Mar 2020 - 11:30 par drpsy

» nouveau site
printf et codes speciaux EmptyJeu 19 Mar 2020 - 20:02 par Star42

» CEO Mag Spéciaux disponibles
printf et codes speciaux EmptyJeu 19 Mar 2020 - 9:33 par musepat

Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 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 208 membres enregistrés
L'utilisateur enregistré le plus récent est darq

Nos membres ont posté un total de 8573 messages dans 746 sujets
Portail ORIC



Le Deal du moment :
Valise rigide à roulettes pivotantes ...
Voir le deal
45.14 €

printf et codes speciaux

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 : 187
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 : 248
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 : 187
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 : 248
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 : 187
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 ne pouvez pas répondre aux sujets dans ce forum