Ascii caractère invisible

13 sujets de 16 à 28 (sur un total de 28)

  • 1
  • 2
  • flype

    • Messages : 1097
    #210573

    Pas recu de MP (?)

    Est-ce que tu peux renvoyer un autre échantillon beaucoup plus ‘lourd’ stp, avec tous les formatages possibles (bold,italic,underline,normal,font,color,…)

    A600 Rev 1.5 + Vampire 600 V2-128.
    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

    sinisrus

    • Messages : 2369
    #210577

    Argg les message mp ne semble plus fonctionner

     

    je t’envoie le fichier des que possible

    sinisrus

    • Messages : 2369
    #210586

    J’ai mis à jour le fichier:

    http://amitheme.amiga-ng.org/amiga/TextColor.rexx.lha

     

    flype

    • Messages : 1097
    #210597

    Oki merci. Il y avait bien quelques codes en plus (ESCc, ESCl, ESC[s:value]). J’ai modifié un poil le code du coup.

    ;*******************************
    ;** AmigaOS/MUITextEdit.mcc   **
    ;** Suppression des codes ESC **
    ;*******************************
    
    EnableExplicit
    
    Global file.s, plaintext.s, line.s, i, n, c
    
    If NumberOfCLIArgs() = 0
      file = FileRequester(0)
    Else
      file = ProgramParameter() ; GetCLIArg()
    EndIf
    
    If file = ""
      PrintN("Argument missing")
      End
    EndIf
    
    If ReadFile(0, file)
      While Eof() = 0
        plaintext = ""
        line = ReadString()
        n = Len(line)
        i = 1
        While i <= n
          c = Asc(Mid(line, i, 1))
          If c = 27
            i + 1
            While i <= n
              c = Asc(Mid(line, i, 1))
              Select c
                Case 'b', 'c', 'i', 'l', 'n', 'u':
                  i + 1
                  Break
                Case '[', 'p':
                  While i <= n
                    c = Asc(Mid(line, i, 1))
                    i + 1
                    If c = ']'
                      Break
                    EndIf
                  Wend
                  Break
              EndSelect
            Wend
          Else
            plaintext + Chr(c)
            i + 1
          EndIf
        Wend
        PrintN(plaintext)
      Wend
      CloseFile(0)
    Else
      PrintN("Can't open file")
    EndIf

    Je t’envoi l’exécutable sur ta boite mail pour tester. Question retours chariot, c’est à vérifier…

    A600 Rev 1.5 + Vampire 600 V2-128.
    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

    flype

    • Messages : 1097
    #210601

    Exe envoyé sur ta boite mail 😉

    A600 Rev 1.5 + Vampire 600 V2-128.
    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

    sinisrus

    • Messages : 2369
    #210608

    ça marche très bien y a plus qu’à en faire une simple commande est c’est parfait

    merci 🙂

    flype

    • Messages : 1097
    #210613

    Je vais au NASS tout a l’heure, j’essaierai de faire ça la bas. Ça va me rappeler les coding party de la belle époque 😉 Je tiens au jus.

    A600 Rev 1.5 + Vampire 600 V2-128.
    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

    flype

    • Messages : 1097
    #210614

    Y’aura bien 1 ou 2 codeurs c/cpp a embêter la bas pour m’aider a convertir le source 🙂 J’ai ecris le code purebasic de façons a ce qu il soit facile a traduire.

    A600 Rev 1.5 + Vampire 600 V2-128.
    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

    sinisrus

    • Messages : 2369
    #210635

    super merci !!! 🙂

    éclate toi bien au NASS

     

    PS: J’ai mis à jour le fichier j’avai oublier l’alignement du text aussi qui peux posé problème

    http://amitheme.amiga-ng.org/amiga/TextColor.rexx.lha

    sinisrus

    • Messages : 2369
    #210811

    Toujours rien de ton côté? j’imagine qu’au nass t’a pas eu le temps de te posé (je sais ce que sais ça passe trop vite) 🙂

    flype

    • Messages : 1097
    #210831

    Salut Sinisrus,

    Non en effet, reposé ce n’est pas le bon mot 🙂 Couché deux fois à 4h du mat’, il me faut encore une ou deux autres bonnes nuits de sommeil. Je suis resté très peu devant mon écran finalement. Pleins de machines à voir et surtout des gens qui partagent la même passion. J’ai quand même trouvé le temps de récupérer des environnements de dev c/cpp (gcc, entre autres) et les includes/autodocs.

    A600 Rev 1.5 + Vampire 600 V2-128.
    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

    flype

    • Messages : 1097
    #210883

    Salut,

    J’ai testé en C (yeah) et il me semble que c’est ok.

    C’est très certainement possible de faire largement mieux mais pour ma première commande en C/AmigaOS, je suis content. Merci AmiDevCPP, sans ajustement particulier.

    #include <proto/dos.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    /* RemESC.exe
     *
     * DESC:    Remove all ESC codes contained in the file given as argument
     * AUTHOR:  flype
     * VERSION: 1.0 (beta)
     * USAGE:   remesc.exe <file>
     *
     * List of ESC codes removed :
     *
     * ESCb    [bold]
     * ESCc    [?]
     * ESCi    [italic]
     * ESCl    [left-align]
     * ESCn    [normal text]
     * ESCr    [right-align]
     * ESCu    [underline]
     * ESC[n]  [?]
     * ESCp[n] [?]
     *
     */
    
    int main(int argc, char *argv[]) {
        STRPTR ver = "$VER: RemESC 1.0 (13.5.2014) by flype\r\n";
        if(argc < 2) {
            printf("Argument is missing\n");
            return 0;
        }
        BPTR fh;
        if (fh = Open(argv[1], MODE_OLDFILE)) {
            int i, n;
            BOOL exitloop = FALSE;
            UBYTE line[255], *buffer;
            while(buffer = FGets(fh, line, 255)) {
                i = 0;
                n = strlen(line);
                while(i < n) {
                    if(line == 27) {
                        i++;
                        exitloop = FALSE;
                        while(!exitloop && i < n) {
                            switch(line) {
                                case 'b':
                                case 'c':
                                case 'i':
                                case 'l':
                                case 'n':
                                case 'r':
                                case 'u':
                                    exitloop = TRUE;
                                    i++;
                                    break;
                                case '[':
                                case 'p':
                                    while(!exitloop && i < n) {
                                        if(line == ']')
                                            exitloop = TRUE;
                                        i++;
                                    }
                                    break;
                            }
                        }
                    }
                    else {
                        printf("%c", line);
                        i++;
                    }
                }
            }
            Close(fh);
        }
        else {
            printf("Can't open file\n");
        }
        return 0;
    }
    

    Je t’envoie l’exécutable par mail.

    A600 Rev 1.5 + Vampire 600 V2-128.
    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

    flype

    • Messages : 1097
    #210997

    Vu avec Sinisrus par MP, fonctionne nickel.

    Nettoyage et optimisation du code :

    /************************************************************************
     * RemESC.exe
     ************************************************************************
     *
     * DESC:    Remove all Escape sequences
     * AUTHOR:  flype, 14-may-2014
     * VERSION: 1.0
     * USAGE:   remesc <file>
     *
     ************************************************************************
     *
     * List of Escape Sequences removed :
     *
     * ESCb     [bold]
     * ESCc     [align-center]
     * ESCh     [highlight]
     * ESCi     [italic]
     * ESCl     [align-left]
     * ESCn     [normal]
     * ESCr     [align-right]
     * ESCu     [underline]
     * ESCp[x]  [pen]
     * ESC[s:x] [separator]
     *
     * More documentations can be googled here :
     * http://www.google.fr/search?q=MUIA_TextEditor_ImportHook
     *
     ************************************************************************/
    
    #include <proto/dos.h>
    #include <stdio.h>
    
    #define READCHAR (c = FGetC(fh)) != -1
    
    int main(int argc, char *argv[]) {
        STRPTR ver = "$VER: remesc 1.0 (14.5.2014) for AmigaOS3\r\n";
        if(argc > 1) {
            BPTR fh;
            if (fh = Open(argv[1], MODE_OLDFILE)) {
                char c;
                while(READCHAR) {
                    if(c == 27) {
                        if (READCHAR && (c == 'p' || c == '['))
                            while(READCHAR && c != ']') {}
                        continue;
                    }
                    printf("%c", c);
                }
                printf("\n");
                Close(fh);
            }
            else { printf("Can't open file\n"); }
        }
        else { printf("Argument is missing\n"); }
        return 0;
    }

    A600 Rev 1.5 + Vampire 600 V2-128.
    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

13 sujets de 16 à 28 (sur un total de 28)

  • 1
  • 2
  • Vous devez être connecté pour répondre à ce sujet.

Forums AmigaOS, MorphOS et AROS Développement Ascii caractère invisible

Amiga Impact