- Code: Select all
void display_file_content(int file_index)
{
int line_height = 10; // Hauteur d'une ligne de texte
int x = 10, y = 40; // Position initiale du texte
char *content = file_contents[file_index];
int content_length = strlen(content); // Longueur du contenu du fichier
char buffer[CHAR_PER_LINE + 1]; // Buffer pour une ligne de texte (constante)
int line_count = 0;
int screen_lines = 0;
int hold_counter = 0; // Compteur de maintien de touche
kb_key_t key_pressed = 0; // Touche actuellement pressée
static kb_key_t last_key_pressed = 0; // Touche pressée lors du dernier cycle
gfx_FillScreen(bg_color); // Efface l'écran avec une couleur blanche
gfx_SetTextFGColor(txt_color); // Texte en noir
// Afficher le header avec le nom du fichier
gfx_SetColor(header_color);
gfx_FillRectangle_NoClip(0, 0, 320, 30);
gfx_SetTextXY(10, 12);
gfx_PrintUInt(rtc_Hours, 2);
gfx_PrintString(":");
gfx_PrintUInt(rtc_Minutes, 2);
gfx_SetTextScale(2, 2);
gfx_PrintStringXY(file_names[file_index], 60, 8);
gfx_SetTextScale(1, 1);
// Défilement si le texte dépasse l'écran
for (int i = 0; i < content_length; i++)
{
// Ignorer les caractères nuls
if (content[i] == '\0')
{
break;
}
// Gestion du saut de ligne ou lorsque la ligne est remplie
if (content[i] == '\n' || line_count == CHAR_PER_LINE)
{
// Si la ligne est terminée, afficher la ligne et passer à la suivante
buffer[line_count] = '\0'; // Terminer la chaîne
if (screen_lines >= scroll_offset && screen_lines < scroll_offset + MAX_LINES_ON_SCREEN)
{
gfx_PrintStringXY(buffer, x, y + (screen_lines - scroll_offset) * line_height);
}
line_count = 0;
screen_lines++;
if (content[i] == '\n')
{
continue; // Passer directement à la prochaine ligne
}
}
// Ajouter le caractère courant à la ligne si ce n'est pas un retour à la ligne
if (content[i] != '\n')
{
buffer[line_count++] = content[i];
}
}
// Afficher la dernière ligne si elle n'a pas été affichée
if (line_count > 0 && screen_lines >= scroll_offset && screen_lines < scroll_offset + MAX_LINES_ON_SCREEN)
{
buffer[line_count] = '\0';
gfx_PrintStringXY(buffer, x, y + (screen_lines - scroll_offset) * line_height);
}
// Lecture des touches pour le défilement
kb_Scan();
if (kb_Data[7] & kb_Up)
{
if (scroll_offset > 0)
{
scroll_offset -= SCROLL_SPEED; // Défilement vers le haut
}
}
if (kb_Data[7] & kb_Down)
{
if (screen_lines > MAX_LINES_ON_SCREEN + scroll_offset)
{
scroll_offset += SCROLL_SPEED; // Défilement vers le bas
}
}
gfx_SwapDraw(); // Actualise l'écran
}
Problème AppVar tokens (é/à)
2 posts
• Page 1 of 1
Problème AppVar tokens (é/à)
Bonsoir! J'ai un problème dans mon code: les accents ne s'affichent pas correctement en lisant l'AppVar, et je ne comprend pas le fonctionnement des tokens:
Projets en cours:
Omni Docs CE | BrawlCE | Omni Web CE |
![]() | ![]() | ![]() |
by 
-
elyas.creates
Niveau 6: SM (Super Membre)- Posts: 15
- Joined: 18 Sep 2024, 16:07
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 2nde
Re: Problème AppVar tokens (é/à)
Du coup, en effet, c'est pas supporté par la police par défaut de GraphX, ces caractères.
Voici ce qui est supporté : https://github.com/CE-Programming/toolc ... 6590-L6717 (_DefaultTextData en bas)
Il y a sûrement moyen de faire ce qu'on veut avec une police personnalisée, cf. FontLibC : https://ce-programming.github.io/toolch ... tlibc.html
Voici ce qui est supporté : https://github.com/CE-Programming/toolc ... 6590-L6717 (_DefaultTextData en bas)
Il y a sûrement moyen de faire ce qu'on veut avec une police personnalisée, cf. FontLibC : https://ce-programming.github.io/toolch ... tlibc.html
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14815
- Images: 1131
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
2 posts
• Page 1 of 1
Return to Langages alternatifs
Who is online
Users browsing this forum: ClaudeBot [spider] and 1 guest