Derniers sujets
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité Aucun
Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion
Statistiques
Nous avons 242 membres enregistrésL'utilisateur enregistré le plus récent est AIRBUS44
Nos membres ont posté un total de 8922 messages dans 811 sujets
printf et codes speciaux
2 participants
Forum Oric :: Forums :: Forum Public :: Programmation en C
Page 1 sur 1
printf et codes speciaux
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- Messages : 199
Date d'inscription : 02/05/2014
Age : 52
Localisation : Massy
Re: printf et codes speciaux
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.
- 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- Messages : 248
Date d'inscription : 06/01/2013
Re: printf et codes speciaux
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- Messages : 199
Date d'inscription : 02/05/2014
Age : 52
Localisation : Massy
Re: printf et codes speciaux
Tu pourrais essayer avec les valeurs immédiates en Octal pour éviter le 27 en paramètre:
mais comment fais tu pour utiliser le printf directement avec la mémoire vidéo ? printf(1+"texte"); ?
- 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- Messages : 248
Date d'inscription : 06/01/2013
Re: printf et codes speciaux
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 ...!!
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);
}
j'en apprends tout les jour
la programmation c'est merveilleux !!!
Merci Dr Dbug de ton aide
goyo- Messages : 199
Date d'inscription : 02/05/2014
Age : 52
Localisation : Massy
Sujets similaires
» CEO Mag Spéciaux disponibles
» besoin d'un affichage printf plus rapide
» recherche de cheat codes
» Histoire des codes secrets
» besoin d'un affichage printf plus rapide
» recherche de cheat codes
» Histoire des codes secrets
Forum Oric :: Forums :: Forum Public :: Programmation en C
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Dim 31 Mar 2024 - 14:35 par kenneth
» Bla Bla général du Jury
Jeu 21 Mar 2024 - 8:51 par Dom50
» carte mère Oric (re)tracée
Mar 5 Mar 2024 - 18:54 par kenneth
» Meurtre à Grande Vitesse
Dim 25 Fév 2024 - 5:09 par Iurius
» ORIC-1 sur LE BON COIN
Ven 23 Fév 2024 - 23:01 par Mcar
» ORIC ATMOS sur LE BON COIN
Dim 4 Fév 2024 - 12:06 par kiwilevrai
» Problème d'affichage des couleurs avec un Oric Atmos
Sam 27 Jan 2024 - 1:26 par pierbail
» Bienvenue dans le Forum des Oriciens
Mar 9 Jan 2024 - 12:33 par Dom50
» Rencontre avec Laurant Weill, co-fondateur de Loriciel, et mon garçon de 12 ans
Ven 29 Déc 2023 - 14:13 par Arcade-des-Monts
» Bonnes fêtes
Mar 26 Déc 2023 - 10:21 par Dom50
» Murders in Venice / Meutres à Venise
Sam 18 Nov 2023 - 22:44 par retroric
» Un clavier PS/2 pour tester un ORIC
Dim 27 Aoû 2023 - 9:49 par Voyageur
» Disquette 3" Sedoric
Mar 1 Aoû 2023 - 14:22 par AtomeX
» faire un 6502 avec des phototransistor
Dim 16 Juil 2023 - 17:26 par Voyageur
» Oricutron linux et DSK
Jeu 29 Juin 2023 - 18:34 par Voyageur