Blog geekesque... ou presque

Aller au contenu | Aller au menu | Aller à la recherche

Langages

Cette catégorie est dédiée aux différents langages utilisés pour développer un site internet sur une architecture AMP (Apache, MySQL, PHP). A ces langages s'ajoute les expressions régulières car elles sont très utiles et méritent bien d'avoir leur propre rubrique.

Fil des billets - Fil des commentaires

dimanche 9 octobre 2016

Log coloré en TCL

Pour faire suite au billet Log coloré en PHP, voici la version utilisable en TCL.

Je me suis appuyé sur une astuce donnéesur wiki.tcl.tk et tout particulièrement sur la proposition d'Andy Goth.

Code

namespace eval d {
   variable levels {"error" "warning" "notice" "debug" "info" "success"}
   foreach {name value} {r 1 g 2 b 4 c 6 m 5 y 3} {
      proc $name {} "return \033\\\[01\\;3${value}m"
      proc [string toupper $name] {} "return \033\\\[01\\;4${value}m"
   }
   proc n {} {return \033\[\;0m}
   proc puts {text {level ""}} {
      switch -nocase $level {
         "error" { ::puts "[r]$text[n]" }
         "warning" { ::puts "[y]$text[n]" }
         "notice" { ::puts "[c]$text[n]" }
         "debug" { ::puts "[m]$text[n]" }
         "info" { ::puts "[b]$text[n]" }
         "success" { ::puts "[g]$text[n]" }
         default { ::puts "$text" }
      }
   }
}

Utilisation

Voici un petit script de test:

#/usr/bin/tclsh
source debugger.tcl
foreach level $::d::levels {
   ::d::puts "Level is set to $level" $level
}

Le rendu sera:

Level is set to error
Level is set to warning
Level is set to notice
Level is set to debug
Level is set to info
Level is set to success

vendredi 27 avril 2012

Cryptage réversible en java

Mon cryptage réversible a fait des émules ! Ophanin a fait une version java du système et vous la livre.

A priori complètement compatible avec la version PHP, peut-être un souci sur le décodage mais je suis certain que ce sera vite corrigé.

RevCrypt java

vendredi 9 mars 2012

Contrôle de dates en C

J'ai eu besoin de gérer des dates en C pour un petit module et, découvrant ce langage, je me suis apperçu que les dates sont traitées essentiellement comme des chaînes. Si l'on définit une date au 37/02/2005, ça ne pose aucun souci.

Après quelques recherches sur le net, j'ai trouvé une source simple et fonctionnelle qui permet de vérifier le format de la date ainsi que sa validité.

Lire la suite...