Classe VLC (VideoLAN)

Cette classe implémente les API de contrôle de VideoLAN Player.

Il suffit d'installer VLC sur votre poste, la classe trouve le chemin de VLC automatiquement grace à la base des registres.
Un projet exemple windev 10 et l'executable est fourni dans l'archive.

Le projet InstantFreeboxTV permet d'afficher les chaines TV depuis une freebox...

La classe v1.2 est concue pour les versions de VLC < 0.9.0, l'API VLC a complètement changé de fonctionnement depuis.

05 Mai 2010 : Une version 2.0 de la classe est prévue pour supporter les versions 1.0.0 de VLC et supérieures
06 Mai 2010 : Une préversion en cours de développement est maintenant disponible, elle ne permet pour le moment de faire qu'une petite partie des possibilités offertes par la librairie libvlc. Je mets aussi à disposition les fichiers include en C pour terminer cette classe.

Classe JSON

Maj 22/12/2012 (Classe json pour Windev 17 et plus)

Le Format d'échange JSON

C'est un format de fichier texte plus compact que le XML et plus pratique à lire... Mais surtout il permet d'être transformé en objet par Javascript (votre Navigateur) en une seule ligne... eval(sData);

Exemple d'utilisation avec WDScript : http://tanguy.wdscript.fr/demo_json/

La fonction JSON() utilise la Serialisation Binaire (sans utilisation de XML donc, ce qui est 10 fois plus rapide) mais a l'inconvénient d'être très complexe (procédure récursive).

S est une chaine = JSON(myVar)

Note: JSON est maintenant supporté en natif dans Windev depuis la v19 (voir Sérialise/Désérialise),
Néanmoins, celle ci est encore très limitée, il manque le type le plus courant (en PHP) :
Erreur 2612 (Sérialise) : La sérialisation JSON n'autorise pas les éléments de type 'tableau associatif'.

WDScript 2.5.9, Toujours plus rapide !

Les versions 2.5.3 a 2.5.9 exploitent maintenant tout le potentiel du mode FastCGI, elles ne recompilent plus systèmatiquement les pages déjà compilées.

Attention, cela ne veut pas dire que la page générée est identique, juste que le code windev de la page est conservé en mémoire... la page reste
donc dynamique et cela n'apporte donc pas de nouvelles contraintes...

Vous pouvez voir sur cette image l'écran de statistiques du mode FastCGI, accessible en pressant les touches CTRL + Shift avec EWS lors du chargement d'une page. Ce n'est pas disponible si le serveur web est en mode service et donc avec IIS.

Les pages ne sont recompilées que lorsqu'un changement est détecté dans le code source... (taille différente en 2.5.3, ou CRC32 du contenu 2.5.5+)

wdscript253stats.png

http://sourceforge.net/projects/wdscript/files/

v2.5.9 (25-07-2010) - WD15 061n
 + Restauration du mode Console Win32 indisponible depuis WD15 (via outil perso wdgui2con.exe)
 + Ajout d'une configuration executable .NET (2.5)
 * SendBinary : Ajout des formats "json" et "txt", pouvait poser probleme dans Chrome 5 pour les flux json
 * (FastCGI) Correctif 2x RC maximum a la fin des entetes (problematique pour sortie binaire)
 * (JSON) Support Tableaux simples ! Attention Bug WD15 61n sur Tableaux de booleans (Serialisation binaire)
 
v2.5.8 (20-04-2010) - WD15 056k
 * (JSON) Support Réels
 
v2.5.7 (18-03-2010) - WD15 046g (Dans EWS 2.6.0)
 + Ajout de la classe cGD pour acces à la librairie graphique LibGD (2.0.36)
 * (FastCGI) Bug lorsqu'il n'y a pas de tag WDSCRIPT dans la page
 
v2.5.6 (28-02-2010) - WD15 046g
 + Ajout JSONDataSource() pour convertir un fichier ou une requete au format JSON
 + Gestion des messages HFCS (pour eviter la fenetre automatique)
 + Gestion de l'état des connexions aux bases de données dans la fenetre FastCGI
 * Verification de la connexion pour les acces natifs Hxx
 * Correctif probleme lorsque HFPATH est relatif
 * Correctif JSON oubli du type caractère, et type connexion ignoré (non sérialisé par wd)
 * JSON : Utilisation des caractères \u0000 au lieu des \x00 (cf specs json)
 
v2.5.5 (16-02-2010) - WD15 046g
 * Correctif Bug mode CGI Standard
 * Token nettoyés correctement
 * Correctif Fenetre du mode Précompilation sur les wdinclude avec guillemets
 * Correctif CookieLit()/CookieEcrit(), probleme avec les fonctions francaises (boucle pb de Traduction WLangage)
 * (FastCGI) Le code d'une page est recompilé en cas de différence de CRC (plus seulement la taille)
 o (FastCGI) Optimisation du code, gain d'environ 20% sur une petite page
 * (FastCGI) Probleme de cache sur fonctions non compilées (si erreur de compilation)
 * (FastCGI) Probleme de buffer non vidé en cas d'erreur en mode Linux (bug v2.5.3)
 * (FastCGI) Correctif du buffer IIS (bug v2.5.3)
 * Troncage du code affiché en cas d'erreur de syntaxe de compilation
 * Les erreurs Hyperfile (integrité, blocage, doublons) sur certaines fonctions ne déclenchent plus d'erreur WDScript
   sauf pour erreur de mot de passe (HRaye par exemple)
 
v2.5.3 (14-02-2010) - WD15 046g
 + Réutilisation des pages compilées en mode FastCGI, recompilées uniquement si modifiées
 + Gestion de FlushHTML() en Mode FastCGI Windows, pas très utile sur les serveurs actuels, 
    mais permet de décharger un peu de mémoire en cas de besoin...
 + Possibilité de configurer le niveau de compression GZIP (par défaut au plus rapide) <1 ms pour une page de 15Ko (compréssée à 2Ko)
 + Amélioration Fenetre de debugage FastCGI, affichage des fonctions compilées en mémoire, des processus et des statistiques
 ! *important* Correctif : La premiere variable POST n'etait plus lisible
 * Fusion de la classe cInclude dans la classe WDScript (3 méthodes)
 * Meilleure gestion des parametres de ligne de commande (linux)
 * Utilisation d'un sous répertoire de travail "wdscript" pour les token, la compression gzip et le cache :
   - dans /tmp/wdscript par défaut sous linux
   - fRepDonneesUtilisateur() sous Windows 

Projets GPIOgfx et S3Clock S3C64x0

GPIOgfx est un outil créé avec Windev Mobile 14.
Il est basé sur les ajouts que j'ai programmé pour l'outil HaReT (voir sur cette page...)

New (20 Mar 2010) : S3Clock Mis à jour pour corriger le problème de barre des taches.

New (22 Dec 2009) : S3Clock est un outil créé avec Visual Studio 2008, qui permet de modifier la fréquence de l'appareil et de la conserver après une mise en veille.

Ce programme est conçu uniquement pour les appareils utilisant un processeur Samsung S3C64xx, et si possible en WVGA (480x800). A savoir donc, les smarphones Acer série 900 et Samsung Omnia II, ou encore la tablette SmartQ 5/7.


gpiogfx200.gif gpiogfx200v10d.gif gpiogfx200v11a.gif gpiogfx200v12a.gif

Il permet (à l'origine) d'identifier les entrées/sortie de l'appareil en vue d'un portage vers Linux.

Classe cGD Librairie de gestion d'images

Version 2.0 dispo avec projet de démonstration et DLL v2.0.36-RC1 (VC6 32bit) + PHP Filters

J'ai créé cette classe afin de combler les lacunes du framework Windev concernant les images sous linux... Mais cela fonctionne aussi sous windows :)

J'ai choisi GD (voir site), car la DLL GD est toute petite (750Ko) contrairement à ImageMagick

Biensur Windev gère très bien les images, mais certaines applications se basent sur ce framework (génération de graphes par exemple) et cela peut aider à les traduire en Windev...

Voici un exemple d'utilisation :

oGD est un cGD
 
//Taille de l'image
im est entier = oGD:gdImageCreate(300,200)
 
//Couleurs utilisées (noir et blanc ici)
clBlack est entier = oGD:gdImageColorAllocate(im,0,0,0)
clWhite est entier = oGD:gdImageColorAllocate(im,0xFF,0xFF,0xFF)

WDScript 2.5.2, Premiers pas vers le Web 2.0...

La version linux et les sources sont disponibles sur SourceForge.

Après quelques jours de recherche et de tests divers supplémentaires sur différentes plateformes et serveurs web,
le mode FastCGI (Mode Server ou Backend) se dirige vers le mode d'utilisation Standard et recommandé de WDscript.

Les performances d'IIS 7.5 (Livré avec Windows Seven) sont impressionantes et semblent plus "fluides" qu'Apache 2.2

L'accès Natif MySQL Linux ne semble pas poser trop de soucis si l'on fait bien attention a fermer les requetes (HAnnuleDeclaration).

JSON

Donc cette version contient une fonction de Sérialisation JSON()

C'est un format d'échange plus compact que le XML et plus pratique à lire... Et surtout qui permet d'être transformé en objet par Javascript (votre Navigateur) en une seule ligne... eval(sData);

Mise à jour Windev 15 046f

MAJ 9 février : Ca marche ! (enfin c'est un début)


wide_wdsc252_debian.jpg wide_wdsc252_debian2.jpg

Pour obtenir ces captures d'écran, il m'a fallu "brancher" la dédibox à un autre poste linux, ici même, les interfaces linux sont des terminaux :p

8 février :
La mise à jour 046f de Windev 15 apporte une amélioration sous Linux, la fonction Ouvre() semble fonctionner...
Du moins elle ne provoque plus l'erreur fatale de la version 039g..

[ - Initialisation de wdscript, ln 329]

Coloration WLangage (dont WDScript) sous UltraEdit

Enfin terminé.... le recensement des Constantes WLangage v15.

J'en ai donc profité pour créer un fichier de Coloration Syntaxique complet pour le WLangage sous UltraEdit :)

UltraEdit gère l'autocomplétition, les transferts ftp ou sftp (ssh), la correction orthographique et vous pouvez même compresser les balises WDScript et HTML (symbole [-]/[+])


wide_uedit15.png

Je compléterai bientôt ceux d'autres éditeurs EditPlus, Crimson et Notepad++ car je me suis fait un outil pour tenir ces fichiers à jour...

Un nouveau Wiki pour WDScript

Un nouveau Wiki est en cours de fabrication pour la documentation de WDScript

http://wdscript.sf.net/wiki/

Ce Wiki est basé sur Trac, qui permet de lier des rapports de bugs
C'est ce wiki qui sera utilisé comme documentation de référence pour les liens de la coloration syntaxique de WDScript.

Exemple :

sIDSesssion=GetToken()
CookieEcrit("sid",sIDSesssion,0,60)  

Pour voir la liste des fonctions, en cours de réactualisation :
http://sf.net/apps/trac/wdscript/wiki/Fonctions

Sinon, l'ancien Wiki (WDScript version 2.1) est toujours Disponible ici : http://wdscript.sourceforge.net/help/

Sourceforge a complétement modifié son hébergement, et il m'est impossible de conserver le TWiki (fait à l'origine avec des exécutables cgi linux)

L'acces natif MySQL sous Linux, no soucis :)

Dans le fichier Projet :

[FILES]
;Nom de l'analyse
HFNAME=Test MySQL Sous Linux 
;Chemin de l'analyse par défaut dans les pages
HFANA=./MLWindev.wdd
;Mot de passe de l'analyse
HFPASS=

Fichier index.wss :

<html>
<pre> 
<WDSCRIPT>
 
sProjetUrl est chaine = ProjetFichierIni() 
 
<OUT>
Connexion en cours : [geshifilter-questionmarkphp]ml..Connexion[/geshifilter-questionmarkphp]  
Projet en cours : <a href="wdscriptinfo.wss">[geshifilter-questionmarkphp]  &quot;Voir le fichier &quot; + sProjetUrl [/geshifilter-questionmarkphp]</a>
</OUT>  
 
//---------------------------------------------------------------------------------------
// Methode via Requete
 
sReq est chaine = [
SELECT COUNT(*) AS RES FROM ml
]
 
//DataSource est une Source de Données
 
SI PAS HExécuteRequêteSQL(DataSource,ml..Connexion,hRequêteSansCorrection,sReq) ALORS
 
        Erreur(HErreurInfo(hErrComplet))
        //Bug linux WDScript v2.5.0 (corrigé en v2.5.1)
        //Erreur(Remplace(Remplace(HErreurInfo(hErrComplet),caract(10),"\n"),caract(13),""))
 
SINON

Syndiquer le contenu