π
<-

Problème AppVar tokens (é/à)

Assembleur, Axe, C/C++, ICE...

Problème AppVar tokens (é/à)

Unread postby elyas.creates » Yesterday, 19:44

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:
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
}
User avatar
elyas.creates
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 92%
 
Posts: 5
Joined: 18 Sep 2024, 16:07
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Problème AppVar tokens (é/à)

Unread postby Adriweb » Yesterday, 19:57

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

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
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.8%
 
Posts: 14731
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


Return to Langages alternatifs

Who is online

Users browsing this forum: No registered users and 5 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1058 utilisateurs:
>1014 invités
>36 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)