Ascii caractère invisible

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

  • 1
  • 2
  • flype

      #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

        #210577

        Argg les message mp ne semble plus fonctionner

         

        je t’envoie le fichier des que possible

        sinisrus

          #210586

          J’ai mis à jour le fichier:

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

           

          flype

            #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

              #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

                #210608

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

                merci 🙂

                flype

                  #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

                    #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

                      #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

                        #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

                          #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

                            #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

                              #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