Table de caractères ascii étendue

4/5 (11 avis)

Snippet vu 46 488 fois - Téléchargée 26 fois

Contenu du snippet

Ce script affiche une boite de dialogue contenant tous les caractères étendus de la table ASCII, et permet en cliquant sur un caractère de le rajouter au texte que l'utilisateur entre dans l'editbox principale.

Source / Exemple :


;Par Bob le Pointu, 11 Février 2004

;Création du dialog
;P.S.:Si quelqu'un a une méthode pour générer dynamiquement des dialogs, çà me serait très utile ;)
dialog asciitable {
  title "Table ASCII (Extended)"
  size -1 -1 160 55
  option dbu

  list 1, 0 0 10 60
  list 2, 10 0 10 60
  list 3, 20 0 10 60
  list 4, 30 0 10 60
  list 5, 40 0 10 60
  list 6, 50 0 10 60
  list 7, 60 0 10 60
  list 8, 70 0 10 60
  list 9, 80 0 10 60
  list 10, 90 0 10 60
  list 11, 100 0 10 60
  list 12, 110 0 10 60
  list 13, 120 0 10 60
  list 14, 130 0 10 60
  list 15, 140 0 10 60
  list 16, 150 0 10 60
}

;Le seul évènement : On prend le texte de l'editbox, on y ajoute le code ascii, puis on copie l'ensemble dans l'editbox à la place de l'ancien texte
on *:dialog:asciitable:sclick:*: {
  if ( $did < 17 ) {
    editbox -af $editbox($active) $+ $did(asciitable,$did).seltext
  }
}

;La commande qui permet de générer les caractères ASCII
alias makeasciitable {
  var %i = 128
  var %c = 0
  var %id = 1
  while ( %i < 256 ) {
    did -a asciitable %id $chr( %i )
    inc %i
    inc %c
    if ( %c == 8 ) {
      var %c = 0
      inc %id
    }
  }
}

;Pour lancer la table depuis n'importe quel menu, c'est toujours pratique
;On le désactive si le dialog est déjà actif
menu * {
  $iif( $dialog(asciitable), $style(2)) Table ASCII Extended : {
    dialog -m asciitable asciitable
    makeasciitable
  }
}

Conclusion :


Pas de bug connu, peu de tests égalements.
Améliorations à apporter:

- Modifier l'apparence du dialog en remplacant les 16 listes par 128 boutons (Générés dynamiquement)
- Organiser les caractères selon la même disposition qu'une vraie table ASCII
- Afficher un texte donnant les valeur ASCII, hexadécimal des caractères
- Une liste (ou un ensemble de boutons) contenant les derniers caractères utilisés

On peut en faire des choses tout de même autour d'une simple liste de caractères ASCII :p

Note: Je pense n'avoir rippé aucune source de ce site, j'ai fait auparavant une recherche sur ASCII et n'ai rien trouvé de semblable.
Si toutefois un tel système se trouvait dans un scripts ou add-on que je n'aurais pas encore regardé, je présente mes excuses à l'auteur.

A voir également

Ajouter un commentaire

Commentaires

cs_ReMi34
Messages postés
1025
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
28 mars 2005
-
Hey c'est pas mal, j'aime bien, c'est originalement présenté, et ça peut être utile bravo :)
8/10
cs_Kolibot
Messages postés
817
Date d'inscription
mercredi 25 juin 2003
Statut
Membre
Dernière intervention
19 avril 2004
-
Enfin une source correcte ^^ Je t'aime Bob :D

J'ai comment quelques petites choses à dire... :/
par rapport à cette l'alias :
alias makeasciitable {
var %i = 128
var %c = 0
var %id = 1
while ( %i < 256 ) {
did -a asciitable %id $chr( %i )
inc %i
inc %c
if ( %c == 8 ) {
var %c = 0
inc %id
}
}
}

que je remplacerai par celui là :
alias makeasciitable {
var %i 128,%c 0,%id 1
;tu peux chainer les variables... inutile de mettre X fois /var
while %i < 256 {
did -a asciitable %id $chr( %i )
inc %i
inc %c
if %c > 7 { %c = 0 | inc %id }
;vu que tu as déjà déclarer que %c était une variable, ce n'est pas la peine de mettre /var et vu que %c ne pourra jms être supérieur à 8 au lieu de mettre %c == 8 tu peux le remplacer par %c > 7
}
}

Ce morceau :
on *:dialog:asciitable:sclick:*: {
if ( $did < 17 ) {
editbox -af $editbox($active) $+ $did(asciitable,$did).seltext
}
}
enfin plus particulèrement ton $did(asciitable,$did).seltext contient un paramêtre inutile dans la mesure ou tu travailles dans l'event de ce même dialog... tu peux donc virer asciitable ce qui donne $did($did).seltext

Vu les horreurs que j'ai vu hier !! Je te mets 10/10 !!
cs_babass
Messages postés
72
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
12 septembre 2004
-
J'ai pas testé mais d'apres le code, ca ne sert qu'à afficher les caractères ascii. Tu pourrais p-e essayer de les rendre utilisables comme les tables de caractères speciaux dans Word ou alors au moins ajouter à coté de chaque caractère le code ascii à taper pour l'obtenir.

Sinon d'apres le screenshot, belle présentation.
itello
Messages postés
161
Date d'inscription
mardi 13 mai 2003
Statut
Membre
Dernière intervention
13 novembre 2004
-
Bonjour.

__Bob le pointu_________
|Code pas très original (enfin...).
|Mais ceci est un code pouvant être très utile, j'aime.
|Rien à redire: 6/10.
__Bob le pointu_________
cs_SornDrixer
Messages postés
2087
Date d'inscription
jeudi 12 décembre 2002
Statut
Modérateur
Dernière intervention
30 janvier 2011
2 -
J'aime tout particulièrement la présentation, qui est très original.
Pour une 1ère source, c'est relativement bien codé, bravo :)

Par contre, mis à part la présentation qui est original, le reste ne l'est pas. Il y a déjà plusieurs sources qui génèrent une liste d'ascii sur le site.
( voir http://www.ircfr.com/recherche.aspx?rech=ascii&tr=tout&lng=11 )

Si tu réalises les modifications que tu as cité plus haut , là tu auras fais une source original :)

;P.S.:Si quelqu'un a une méthode pour générer dynamiquement des dialogs, çà me serait très utile ;)

Je vais y réfléchir, cela doit être faisable, et si j'y arrive, je viendrai poster la source :P

Allez, bonne continuation.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (Bob le Pointu)