Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Mise en forme de fichier source Panoramic (nième version) | |
| | |
Auteur | Message |
---|
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Mise en forme de fichier source Panoramic (nième version) Mar 8 Nov 2011 - 23:29 | |
| Bonsoir, Vous allez me dire : encore un ??!!! Ben... oui ! Mais pour ma défense, j'ai rajouté quelques petites fonctionnalités... - Presse-papier -> fichier
- fichier -> Presse-papier
- fichier -> fichier
- Presse-papier -> Presse-papier
La liste des mots-clés peut être automatiquement mise à jour (si vous avez installé également ResourceHacker) Pas besoin de modifier le prog pour changer les chemins d'accès : tout est sauvegardé automatiquement dans un fichier de config. Le source est : ICI ! Pour ceux qui ne souhaite pas installer RessourceHacker vous trouverez la liste des mots-clés ICI (à sauvegarder sous le nom beautifier.cle) EDIT : Attention !! faites une sauvegarde de vos fichiers avant car ce prog est en cours de dev, je l'ai testé avec plusieurs de mes sources. Il a été écrit en fonction de mon "style de codage" donc je ne garanti pas que cela ne coincera pas sur des lignes de code "exotiques" | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Mar 8 Nov 2011 - 23:58 | |
| Testé OK, super bien fait | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Mer 9 Nov 2011 - 0:31 | |
| Intéressant, y'a plus qu'à tester. Mais pas ce soir (enfin... ce matin) c'est trop tard (trop tôt). En principe je fais la mise en forme pendant le codage, mais ça peut être intéressant quand on est pressé. Allez, à tous ! | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Mer 9 Nov 2011 - 0:32 | |
| Petite modif : J'ai rajouté un progress_bar : car c'était stressant dans le cas d'un traitement de gros fichier... C'est intéressant quand on récupère des sources du forum... | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Mer 9 Nov 2011 - 10:31 | |
| Pour quelqu'un comme moi quelque peu "souple" sur la rigueur quand je tape du code, c'est pratique. C'est pratique aussi quand on colle (ou que l'on collera avec l'arrivée des procédures) du code de plusieurs programmes de différentes personnes qui n'ont pas les mêmes habitudes de mise en forme. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Mer 9 Nov 2011 - 15:42 | |
| Pas mal Nardo, je viens d'essayer (sur ton programme lui-même, j'aime bien l'indentation à 4), très intéressant. Et présentation très pro, la progress_bar est bien destressante. C'est effectivement l'utilisation que je compte en faire: l'appliquer sur les programmes récupérés du forum, dont la mise en forme est parfois un peu... fantaisiste (pour mes programmes, aucun probglème, ils sont parfaits du premier coup ). Et comme dit Jicehel, ce sera parfait pour mettre en forme un programme composé de plusieurs sources différentes de plusieurs programmeurs. Et puis les sources et résultats dans le presse-papier, ça c'est génial, très souple (je suis un adepte du presse-papier, pour éviter de laisser traîner des fichiers temporaires un peu partout, et pour ne pas user mon disque dur...). | |
| | | Invité Invité
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Mer 9 Nov 2011 - 20:03 | |
| Bonsoir, Je viens d'essayer le programme. Cela fait pro, mais il y a des erreurs. Je me demandais pourquoi j'allais de plus en plus à droite: Les boucles: for/next, les IF ...THEN... :ELSE:..., sur une ligne sont indentées.
Dans un code si on suit l'indentation, mais qu'il y a une étiquette, tout repart à gauche, alors que l'étiquette sert de saut, de branchement, et non de SUB-routine.
Ensuite pourquoi, le choix est inactif qu'en pour calibrer les mots clés? Autrement ce serait pas mal. |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Mer 9 Nov 2011 - 22:51 | |
| Bonsoir Cosmos, Je pense que tu n'as pas la dernière mise à jour : en effet je continu toujours de le faire évoluer... Je vais regarder cette histoire d’étiquette... Qu'entend tu par : - Citation :
- Ensuite pourquoi, le choix est inactif qu'en pour calibrer les mots clés?
EDIT de 23:10 -> pour l'etiquette, c'est corrigé ! Note : pour les mise à jour, voir le lien sur le 1er post... | |
| | | Invité Invité
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Mer 9 Nov 2011 - 23:17 | |
| Je suis désolé, je n'avais très bien compris au départ. J'ai cru que pendant l'indentation, tu modifiais également les mots clés: majus. min.. ou la première lettre. Mais c'est pour trouver les mots clés finalement.
Quand ce sera fini, je regarderai de nouveau. |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 0:11 | |
| @cosmos: - Etiquette : c'est corrigé
- Plusieurs cde sur la même ligne : corrigé
Oui le bouton "mot-clé" sert à générer/mettre à jour la liste des mots-clés en fct de l'évolution de Panoramic. Mais le programme tel-quel fonctionne également sans cette liste. Dans ce cas seule l'indentation est dispo... | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 17:37 | |
| Bonjour, Je viens de m’apercevoir que certains mots clés n'étaient pas reformatés. Après quelques recherches, je me suis rendu compte que cela venait de ma recherche dichotomique dans la liste des mots-clés dispo. En fait, je fait une comparaison de chaine de caractères en me basant sur le code ascii. Or il se trouve que le tri d'une LIST par exemple est basé sur un autre système... exemple : - Code:
-
DIM i,a$,b$ ' DATA "a","z","A","Z","_","#",")","0"," " DATA "azAZ09&#'(èéà@])[-+/\_.:;,!?<>" LIST 1: FONT_NAME 1,"Courier New":HEIGHT 1,200 READ a$ FOR i=1 to len(a$) b$=MID$(a$,i,1) ITEM_ADD 1,b$+" "+STR$(ASC(b$)) NEXT i SORT 1 END
A côté du caractère dans la LIST, j'ai rajouté le code ASCII. On se rend compte que le classement est un peu particulier. Question : est-ce normal ? si oui, où puis-je trouver une doc/norme définissant cet ordre de tri ? Pour les majuscules/minuscule, je pensais qu'un masquage du bit 5 du code ASCII était la soluce mais dans ce cas, on aurait (dans l'ordre des insert) : aAzZ, ce qui n'est pas le cas... Edit : Regardez où se situe le caractère - par rapport au + .... | |
| | | Invité Invité
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 17:58 | |
| Bonsoir, Je suis occupé, et faut que je me reprenne dans mon travail, donc je te laisses vérifier. Pour faire mon programme de correction du code HTML pour transposé un fichier source, je me suis servir sur ce site, qui présente différente notation des caractères: voir iciSi des fois la solution est dans l'une de ces tables ! |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 18:15 | |
| C'est une table ASCII standard... Je cherche encore... | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 19:33 | |
| Franchement je vois vraiment pas sur quels critère le tri est réalisé.... Si quelqu'un ou Jack peut m'aider.... - Code:
-
DIM i HEIGHT 0,0:i=HEIGHT(0) HEIGHT 0,SCREEN_Y-i LIST 1:LEFT 1,20:HEIGHT 1,HEIGHT(0)-60 FONT_NAME 1,"Courier New" FONT_SIZE 1,14 FOR i=128 to 30 STEP -1 ITEM_ADD 1,chr$(i)+" "+str$(i) NEXT i SORT 1 END Je pense que c'est buggé: Si on regarde cet exemple, on a dans l'ordre : AaBbCcdDeE Majuscule,minuscule puis inversion à partir de D... Ce qui est gênant dans la liste des mots clé c'est le caractère "_" qui se situe avant les caractères alpha-numérique alors que son code ASCII se trouve en fait entre les Majuscule et les minuscules... Donc pas d'utilisation de la commande SORT pour trier une list.... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 21:13 | |
| En effet, c'est plutôt bizarre ton affaire, j'utilise bien le tri pour les mots-clés, mais ils sont tous en majuscules, donc pas de problème.
Ici ça se passe un peu comme si tout était converti en majuscules avant la comparaison (avec ces inversions quand même curieuses, parfois)..., ce qui n'est évidemment pas bon, c'est même un sacré bug.
Je confirme, je fais le test avec un fichier texte, les majuscules et minuscules sont indifférenciées, et mélangées entre elles, j'ai par exemple une séquence m,m,m,M,m,M,m,m, dans l'ordre sans doute où ils sont trouvés dans le texte. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 23:23 | |
| J'ai fait un petit programme pour évaluer cela. Le "_" passe avant majuscules et minuscules, les majuscules passent avant les minuscules, mais effectivement, on a _AaBbCc... .Voici la petite démo: - Code:
-
label trier, ajouter
list 10 : top 10,40 : left 10,10 : width 10,200 : height 10,200 button 20 : top 20,10 : left 20,10 : caption 20,"Trier" : on_click 20,trier edit 30 : top 30,260 : left 30,10 : width 30,200 button 40 : top 40,260 : left 40,240 : caption 40,"Ajouter" : on_click 40,ajouter
end
trier: sort_on 10 sort_off 10 return
ajouter: item_add 10,text$(30) return
Et pourquoi ne pas tester systématiquement UPPER$(mot_clé) - ainsi il n'y a pas d'ambiguïté. De toute façon, en Panoramic, "on_click", "ON_CLICK", "On_Click" etc sont identiques. Alors, tu pourrais bien travailler uniquement avec UPPER$(...) pour le traitement ET les tris, et il n'y a plus de problème ? | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 23:39 | |
| Bonsoir Klaus,
Ben non ca ne suffira pas car pour contrôler les mots-cles je fais une comparaison ASCII et par dichotomie (pour gagner du temps) dans la liste.
Meme en faisant un UPPER$ cela ne marchera pas.
Par exemple, un classement par niveau ASCII: FILEBIN_.... FILE_WRITE
Classement de la LIST par SORT: FILE_WRITE FILEBIN
pourtant le caractère _ (asc.95) est superieur à B (asc.66)
EDIT: J'ai bien une solution (tri manuel) mais cela ne me convient pas encore car ça rame trop....
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Jeu 10 Nov 2011 - 23:52 | |
| J'entends bien, mais je ne vois toujours pa le problème. Pourquoi la liste de référence (celle dans laquelle tu cherches) n'est pas triée de la même manière ? Et si tu utilises un DLIST qui est peut-être trié différemment, alors tu peux utiliser un LIST caché par HIDE à la place... | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Ven 11 Nov 2011 - 0:06 | |
| Pour ma recherche, par exemple j'ai le mot FILE_READLN et je veux vérifier si il est dans ma liste.
Je part du point milieu de la liste: n/2 si FILE_READLN > mot(n/2) je prend le point milieu de [n/2 - n] et je relance la recherche sinon si < je prend le point milieu de [ 0 à n/2] et je relance la recherche sinon j'ai trouvé !! finsi
à un moment donné j'ai ceci dans ma DLIST : FILE_READBUF FILE_READLN FILE_RENAME FILE_SAVE FILE_WRITE FILE_WRITEBUF FILE_WRITELN FILEBIN_BLOCK_READ <- mon point milieu FILEBIN_BLOCK_WRITE FILEBIN_CLOSE FILEBIN_HEXA_READ FILEBIN_HEXA_WRITE FILEBIN_OPEN_READ FILEBIN_OPEN_WRITE FILEBIN_POS()
ma comparaison ascii me dit que FILE_READLN est superieur à FILEBIN_BLOCK_READ (ce qui est vrai!) donc je zappe tout ce qui se trouve en dessous de mon point milieu et je relance la recherche entre FILEBIN_BLOCK_READ et la fin de la liste. or dans ma DLIST FILE_READLN se trouve en dessous de FILEBIN_BLOCK_READ...
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Ven 11 Nov 2011 - 0:21 | |
| Autant pour moi. Essaie avec LOWER$(...) ! ASC("_") évalue à 95, et ASC(LOWER$("_")) évalue également à 95 alors que ASC(LOWER$("A") évalue à 97 et ta dichotomie marchera. | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Ven 11 Nov 2011 - 0:32 | |
| | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Ven 11 Nov 2011 - 1:24 | |
| voici une version légèrement adaptée de mon programme, qui montre le principe: - Code:
-
label trier, ajouter, ajouter_liste
dim s$, i%
data "FILE_READLN","FILE_RENAME","FILEBIN_OPEN_WRITE" data "FILE_SAVE","FILE_WRITE","FILE_WRITEBUF" data "FILEBIN_BLOCK_READ <- mon point milieu","FILEBIN_BLOCK_WRITE" data "FILEBIN_CLOSE","FILEBIN_HEXA_READ","FILE_WRITELN","FILE_READBUF" data "FILEBIN_HEXA_WRITE","FILEBIN_OPEN_READ","FILEBIN_POS()" data "*" height 0,800
list 10 : top 10,40 : left 10,10 : width 10,200 : height 10,200 button 20 : top 20,10 : left 20,10 : caption 20,"Trier" : on_click 20,trier edit 30 : top 30,260 : left 30,10 : width 30,200 button 40 : top 40,260 : left 40,240 : caption 40,"Ajouter" : on_click 40,ajouter list 50 : top 50,290 : left 50,10 : width 50,200 : height 50,200 button 60 : top 60,330 : left 60,240 : caption 60,"Ajouter" : on_click 60,ajouter_liste
read s$ repeat item_add 50,s$ read s$ until s$="*"
end
trier: sort_on 10 sort_off 10 return
ajouter: item_add 10,lower$(text$(30)) text 30,"" return
ajouter_liste: for i%=1 to count(50) item_add 10,lower$(item_read$(50,i%)) next i% return
En ajoutant l'ensemble des lignes de ton exemple, dans n'importe quel ordre, et en triant à la fin, tu obtiens bien une liste triée convenablement, avec le "_" étant plus petit que n'importe quelle lettre. Je pense que c'est la solution. Si tu cliques sur Ajouter à côté de la liste de tes mots-clé (volontairement dans le désordre), elle se charge dans la liste du haut, en minuscules. Si tu cliques ensuite sur Trier, la liste se trie, et je pense que ton algorithme de dichotomie marchera sur la liste ainsi triée. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Ven 11 Nov 2011 - 9:07 | |
| N'empêche que ce sont des pis-aller, mais que le bug est bien là. Et les majuscules ne passent pas avant les minuscules, c'est un peu n'importe quoi. Je reprends ton exemple, Klaus, en ajoutant avant le end: - Code:
-
label trier, ajouter
list 10 : top 10,40 : left 10,10 : width 10,200 : height 10,200 button 20 : top 20,10 : left 20,10 : caption 20,"Trier" : on_click 20,trier edit 30 : top 30,260 : left 30,10 : width 30,200 button 40 : top 40,260 : left 40,240 : caption 40,"Ajouter" : on_click 40,ajouter item_add 10,"A" item_add 10,"B" item_add 10,"a" item_add 10,"A" end
trier: sort_on 10 sort_off 10 return
ajouter: item_add 10,text$(30) return
on obtient: a, A, A, B l'ordre alphabétique est bien respecté, mais majuscules et minuscules sont bien indifférenciées. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Ven 11 Nov 2011 - 9:32 | |
| Oui, certes. majuscules et minuscules sont bien différents. C'est pourquoi, dans mon dernier programme, je propose bien de tout passer en LOWER$ au moment de ITEM_ADD. Bien sûr, ce n'est qu'une solution pour le cas précis d'identification des mots-clé, car ils sont effectivement insensibles à la casse. je suis d'accord pour dire que cela ne peut pas constituer une solution générale pour trier une liste. Là, il y a un vrai problème. Mais pour Nardo26, c'est la solution à son problème spécifique. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) Ven 11 Nov 2011 - 10:04 | |
| Il y a aussi, ce que je faisais avant de connaitre le SORT Panoramic, utiliser la fonction SORT du Dos (c'est à dire File_save du List dans un fichier temporaire, SORT du fichier dans lui-même, puis File_load), c'est très rapide et efficace. Mais je reconnais que c'est un peu lourd, et puis il y a cette agaçante fenêtre noire qui apparaît fugitivement. N'importe, il y a un bug qui devra être réparé. (c'est le mauvais Sort qui a frappé ) | |
| | | Contenu sponsorisé
| Sujet: Re: Mise en forme de fichier source Panoramic (nième version) | |
| |
| | | | Mise en forme de fichier source Panoramic (nième version) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |