vendredi, mars 16, 2007

Combo : clic sur la flèche

Comment afficher dans une combo, la liste des bases disponibles sur un serveur Hyper File, au clic sur la flèche (Ouverture de la combo) de la combo ?

Il faut utiliser l'événement : WM_NCLBUTTONDOWN.


Ne pas oublier de mettre EXTERN "WinConst.wl" dans la déclaration globale de la fenêtre.


Branchement de l'évènement : (Code global de la fenêtre)

Evénement("RemplitComboBaseHF","COMBO_Base",WM_NCLBUTTONDOWN)


Création de la procédure "RemplitComboBaseHF" :

PROCEDURE RemplitComboBaseHF()

// Ouverture de la connexion

SI PAS HOuvreConnexion("Moi",SAI_LoginHFCS,SAI_MdpHFCS,SAI_Serveur+":"+SAI_Port,"",hAccèsHFClientServeur) ALORS

Erreur()

SINON

// Récupération de la liste des bases disponibles

ListeBase est une chaîne = HListeBaseDeDonnées("Moi",hLstNormal)

ListeSupprimeTout(COMBO_Base)

s est une chaîne

// Ajout des bases dans la combo

POUR TOUTE CHAINE s DE ListeBase SEPAREE PAR TAB

ListeAjoute(COMBO_Base,s)

FIN

// Sélection de la première base.

SI ListeOccurrence(COMBO_Base) > 0 ALORS ListeSelectPlus(COMBO_Base,1)

HFermeConnexion("Moi")

FIN

vendredi, mars 09, 2007

Nouveau sur le Site Progwdm

Une nouvelle version de l'utilitaire WD Véhicule est disponible.
Développé en version 11 de WinDev Mobile, l'utilitaire s'enrichit d'un clavier virtuel à grosse touche, permettant la saisie sans le stylet, et gère maintenant le véhicule bi-carburation.
La mise à jour de application est automatique. Tous les 7 jours au lancement, WD Véhicule vérifie si une mise à jour est disponible.

[En savoir plus..]

Suggestion, signalement bug : progwdm@free.fr

vendredi, mars 02, 2007

VérifieExpressionRegulière (bis)

Dans un précédent poste, j'avais déjà abordé l'utilisation de la fonction VérifieExpressionRégulière.


Récemment, j'ai eu l'occasion de l'utiliser avec récupération d'éléments dans des variables.


Le but : vérifier un format de Date comme :


Tue, 11 Apr 2006 18:25:09 +0200

ou

Thu, 1 Mar 2007 04:12:26 +0100 (CET)


Etape par étape :


Chaine / Format

Chaine

Expression régulière

Commentaires

Tue,

[A-Za-z]{3,3}[,]



[ ]*

Il peut y avoir 1 à plusieurs espaces

11 Apr 2006

([0-9]{1,2}) ([A-Za-z]{3,3}) ([0-9]{4,4})


18:25:09

([0-9]{2,2}[:][0-9]{2,2}[:][0-9]{2,2})


+0200

[\+][0-9]{4,4}



[ ]*


(CET)

[\(]*[A-Z]*[\)]*

* siginifie 0 ou plusieurs fois


Les parenthèses en permettent de définir des parties de l'expression régulière que l'on veut extraire.

Dans ce cas, on peut vérifier et récupérer la date et l'heure en 1 opération.

Il faut ajouter des parenthèses dans l'expression régulière. Ce qui donne au final :


[A-Za-z]{3,3}[,][ ]*([0-9]{1,2}) ([A-Za-z]{3,3}) ([0-9]{4,4}) ([0-9]{2,2}[:][0-9]{2,2}[:][0-9]{2,2}) [\+][0-9]{4,4}[ ]*[\(]*[A-Z]*[\)]*


Ainsi voici le code obtenu :


sJour,sMois,sAnnée,sheure,sDateAVerif sont des chaînes

sDateAVerif = "Tue, 11 Apr 2006 18:25:09 +0200"

SI PAS VérifieExpressionRégulière(sDateAVerif ,"[A-Za-z]{3,3}[,][ ]*([0-9]{1,2}) ([A-Za-z]{3,3}) ([0-9]{4,4}) ([0-9]{2,2}[:][0-9]{2,2}[:][0-9]{2,2}) [\+][0-9]{4,4}[ ]*[\(]*[A-Z]*[\)]*",sJour,sMois,sAnnée,sheure) ALORS

Info("Incorrect")

SINON

Info("Correct",sJour+"/"+sMois+"/"+sAnnée,sheure)

FIN


PS : Comme dirait un vieil ami (très vieux!), lorsqu'on manipule les expressions régulières, il faut un fenêtre de test avec un champ en taille 24. Ainsi on peut voir clairement l'expression régulière.

jeudi, janvier 04, 2007

PersoMenu WinDev, WebDev et WinDev Mobile.

Le « PersoMenu » permet de lancer n'importe quel exécutable à partir de l'éditeur grâce à une ligne de commande et des macros.

Dans le billet précédent, je parlais de WebDev 11 (35c) qui ne configurait pas le serveur Apache 2.2.3 automatiquement.

J'ai donc fait un programme en Wlangage permettant d'ajouter l'alias pour chaque site dans le fichier httpd.conf.

Puis dans WebDev j'ai créé un Perso menu :

La ligne de commande est la suivante :

"D:\Projet\ModifHttpd.conf\Exe\ModifHttpd_conf.exe" "C:\Program Files\Apache Software

Foundation\Apache2.2\conf\httpd.conf" "{$RepProjet}"


{$RepProjet} : c'est une macro disponible est cliquant sur le bouton « Macro ». Elle renvoie le chemin du répertoire du projet.

ModifHttpd_conf.exe : Mon programme WinDev permettant d'ajouter l'alias au fichier httpd.conf.


Astuce : Dans l'aide il n'est pas précisé comment créer une ligne de commande avec un chemin d'accès contenant des espaces. Le plus simple est de tester la ligne de commande dans « Demarrer...executer » de windows.


Code du programme WinDev « ModifHttpd_conf.exe » :


// Code de déclaration global du projet

LOCAL

gsRes est une chaîne

gnIdFic est un entier

gsCheminFic est une chaîne

gsALias est une chaîne

gsNomSite est une chaîne

gbRes est un booléen


// exemple de ligne de commande:

//"D:\Projet\ModifHttpd.conf\Exe\ModifHttpd_conf.exe" "C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf" "C:\WebDev 11\Exemples\Exemples complets\WW_Editeur_HTML"


gsCheminFic = LigneCommande(1) //C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf

gsALias = LigneCommande(2) //C:\WebDev 11\Exemples\Exemples complets\WW_Editeur_HTML


// Ligne de code pour test

SI EnModeTest() ALORS

gsCheminFic = "C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf"

gsALias = "C:\WebDev 11\Exemples\Exemples complets\WW_Editeur_HTML\"

FIN


SI gsCheminFic <> "" ALORS

// Ouverture du fichier httpd.conf

gnIdFic = fOuvre(gsCheminFic,foAjout)

SI gnIdFic <> -1 ALORS

SI gsALias <> "" ALORS

// On rajoute _WEB au chemin du site

SI Droite(gsALias,1) = "\" ALORS

gsALias = gsALias[[1 A (Taille(gsALias)-1)]]

FIN

gsNomSite = ExtraitChaîne(gsALias,1,"\",DepuisFin)

gsNomSite = "/"+Majuscule(gsNomSite)+"_WEB/"

// Change les \ en /

gsALias = Remplace(gsALias,"\","/")

// On construit le chemin complet

gsALias = gsALias+gsNomSite

// Construction de la chaîne à ajouter au fichier httpd.conf

gsRes = [

Alias %1 "%2"

Options None

AllowOverride None

Order allow,deny

Allow from all

]

gsRes = RC+ChaîneConstruit(gsRes,gsNomSite,gsALias)

// Écriture dans le fichier

gbRes = fEcritLigne(gnIdFic,gsRes)

SI PAS gbRes ALORS

Erreur()

FIN

fFerme(gnIdFic)

// Redemarrer le serveur.

sr est une chaîne = [

"%1" "%2"

]

sr = ChaîneConstruit(sr,"C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe","-k restart")

LanceAppliAssociée(sr)

SINON

fFerme(gnIdFic)

gsRes = [

"%1"

]

gsRes = ChaîneConstruit(gsRes,gsCheminFic)

// que sous windows

LanceAppliAssociée(gsRes)

FIN

FIN

FIN


mardi, janvier 02, 2007

Comment configurer Apache 2.2.3 pour WebDev 11 et PHP 4.x

Après installation de la version 2.2.3 d'Apache, je me suis aperçu que je ne pouvais plus tester mes sites depuis WebDev.

Quelques recherches sur le web, m'ont permis de comprendre pourquoi.

Cette version d'apache ne fonctionne pas de la même manière que la version 2.0.59. Le fichier httpd.conf a été découpé en plusieurs fichiers ce qui le rend plus facile à lire.

Dans ce qui suit, on suppose que PHP est déjà installé sur le poste et que la version précédente d'Apache a été désinstallée.


Les étapes de la configuration :


1 – Installation d'Apache 2.2.3


Adresse téléchargement : http://www.apachefrance.com/Telechargement/4/


2 – Configuration d'Apache pour PHP


Avant de commencer il faut télécharger le fichier : php4apache2.dll-php4.4.x.zip

à l'adresse suivante : http://www.apachelounge.com/download/

Ensuite suivre les indication du fichier : Readme First.txt


Après ces manipulations, dans le fichier httpd.conf, les lignes suivantes apparaissent:

LoadModule php4_module "c:/php/php4apache2.dll"

AddType application/x-httpd-php .php

# configure the path to php.ini

PHPIniDir "C:/php"


Ensuite ajouter index.php dans la clause DirectoryIndex


Pour constater le bon fonctionnement, créer un fichier index.php contenant le code suivante :

phpinfo();

Le placer dans le répertoire \htdocs (DocumentROOT) du serveur et le lancer.


3 - Configuration d'Apache pour WebDev 11 :


Avant il suffisait d'ajouter ceci au httpd.conf :

ScriptAlias /WD110AWP/ "C:/WebDev 11/Programmes/Moteur/Windows/AWP/"

AddType application/WebDev11-awp .awp

Action application/WebDev11-awp /WD110AWP/WD110Awp.exe


maintenant en version 2.2.3 :

AddType application/WebDev11-awp .awp

Action application/WebDev11-awp /WD110AWP/WD110Awp.exe

<IfModule alias_module>

ScriptAlias /WD110AWP/ "C:/WebDev 11/Programmes/Moteur/Windows/AWP/"

</IfModule>


<Directory "C:/WebDev 11/Programmes/Moteur/Windows/AWP">

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>


Puis pour chaque site il faut ajouter :


Alias /HAWAII_WEB/ "C:/WebDev 11/Exemples/Exemples complets/Hawaii/HAWAII_WEB/"

<Directory "C:/WebDev 11/Exemples/Exemples complets/Hawaii/HAWAII_WEB/">

Options None

AllowOverride None

Order allow,deny

Allow from all

</Directory>


4 – Les messages d'erreurs possibles :


  • « Page Not Found » au lancement d'un site WebDev :

    Le ScriptAlias ou l'Alias du site n'ont pas été déclarés dans le httpd.conf

  • « Forbidden » au lancement d'un site WebDev :

    Manque les droits sur le répertoire du moteur WebDev. Ajouter :

<Directory "C:/WebDev 11/Exemples/Exemples complets/Hawaii/HAWAII_WEB/">

Options None

AllowOverride None

Order allow,deny

    Allow from all

    </Directory>

  • Les images n'apparaissent pas sur la page ou erreur javascript :

    C'est la clause

    <Directory « X:/..../MonSITE_WEB/ » sur le répertoire <MonSite>_WEB qui est manquante.


  • « Impossible de démarrer le serveur apache » lors du chargement du projet ou la mise à niveau du projet :

    Webdev ne semble pas trouver le serveur Apache et ne peut donc pas le configurer. Cette erreur n'est visiblement pas bloquante. Penser à créer l'Alias dans le fichier httpd.conf (voir §3)

mercredi, décembre 27, 2006

WinDev 11 : Table hiérarchique

Je viens de me mettre à la table Hiérarchique. Afin de tester le fonctionnement, je me suis servi de l'analyse et des fichiers de l'exemple CRM livré avec WinDev 11.


But du test :

Afficher dans la table Hiérarchique la liste des lignes de commandes par commande et par client.


Résultat :

Code :


nIndiceParent est un entier

nIndiceFils est un entier

nIndiceProd est un entier


// Remplissage de la table
POUR TOUT
CLIENT SUR NumClient

nIndiceParent = TableAjouteLigne(TABLEH_TableHierarchique1,CLIENT.Civilité+
" "+CLIENT.NomClient)

// Affichage pour chaque client la liste de ses commandes
POUR TOUT
COMMANDE AVEC NumClient = CLIENT.NumClient
n
IndiceFils = TableAjouteFils(TABLEH_TableHierarchique1,nIndiceParent,
"Commande n° : " +COMMANDE.NumCommande)
POUR TOUT
LIGNECDE AVEC NumCommande = COMMANDE.NumCommande
// Recherche du libellé du produit
HLitRecherche
(PRODUIT,Reference,LIGNECDE.Référence)
nIndiceProd = TableAjouteFils(TABLEH_TableHierarchique1,nIndiceFils,PRODUIT.LibProd+
" "+LIGNECDE.Référence,LIGNECDE.Quantité,LIGNECDE.PrixVente)

FIN
FIN
FIN

TableEnrouleTout(TABLEH_TableHierarchique1)


Conclusion :

Look de la table plutôt agréable. L'utilisation des fonctions est simple.
Il est possible de modifier les images enroulées et déroulées grâce aux propriétés ..ImageEnroulée et ..ImageDéroulée.

NB : Voici le code pour mettre des images dans l'entête des colonnes.

TABLEH_TableHierarchique1.COL_Colonne1..Titre = gImage("01058-16-5.png")+"Clients /"+gImage("VST13340-16-5.png")+" Cde /"+gImage("01389-16-5.png")+" LigneCde"

Possibilité d'utiliser gStylo pour écrire dans une autre couleur.


lundi, décembre 18, 2006

WinDev Mobile 11 : Le Debugger sur le Pocket PC !

Très pratique, le debogage directement sur le pocket PC.

Simple d'utilisation, il suffit dans le code de mettre la commande "STOP" puis de faire un GO sur le Pocket.
L'éditeur de code s'ouvre et se positionne sur le code.
Ainsi il est possible :
- de consulter les valeurs des variables,
- suivre pas à pas le déroulement du code.

Grand avantage, on voit ce que ça donne directement sur le Pocket.

vendredi, novembre 24, 2006

Comment récupérer la valeur d'une combo dans une table mémoire ?

On pourrait penser que pour récupérer la valeur du Glien d'une combo dans une table mémoire, il faudrais utiliser : NomTable[IndiceLigne][listeSelect(NomColonneCombo)]
he! bien non

Voici la bonne syntaxe :
NomColonneCombo[NomTable,NomTable]..valeur.

Cette syntaxe est uniquement valable pour une combo dans un table mémoire.
Pour une table fichier utiliser : NomColonneCombo..Valeur.

Comment modifier la police d'un libellé d'un champ de saisie

Soit un champ de saisie qui comme police de libellé : MS UI Gothic.



Pour modifier la police de du libellé "Champ de saisie", il utiliser le code suivant :

sLibel est une chaîne = SAI_Saisie1..Libellé

SAI_Saisie1..Libellé = gPolice("Arial")+sLibel

jeudi, novembre 23, 2006

Enlever les caractères Spéciaux tel que =E9,=E8,..

Il arrive de récupérer une chaine de caractère (un mail ou une page internet) avec des caractères tel que =E9 en lieu et place d'un caractères accentués.

[En savoir plus]

Pour afficher une chaine sans ces caractères, voici donc une procédure permettant de les remplacer :

PROCEDURE RemplaceCaractères(pMachaine est une chaîne)

ch est une chaîne = SansEspace(pMachaine )

// Remplacement des caractères
ch = Remplace(ch,"=?ISO-8859-15?Q?","")
ch = Remplace(ch,"=?ISO-8859-1?Q?","")
ch = Remplace(ch,"=E9","é")
ch = Remplace(ch,"=E8","è")
ch = Remplace(ch,"=EA","ê")
ch = Remplace(ch,"=E7","ç")
ch = Remplace(ch,"=C9","é")
ch = Remplace(ch,"=7E","~")
ch = Remplace(ch,"?=","")
ch = Remplace(ch,"=?","")
ch = Remplace(ch,"=27","'")
ch = Remplace(ch,"=22","""")
ch = Remplace(ch,"=28","'(")
ch = Remplace(ch,"=29","')")
ch = Remplace(ch,"=2E",".")
ch = Remplace(ch,"=3A",":")
ch = Remplace(ch,"=3F","?")
ch = Remplace(ch,"=E0","à")
ch = Remplace(ch,"=3B",";")
ch = Remplace(ch,"=2B","+")
ch = Remplace(ch,"_"," ")

RENVOYER ch

dimanche, novembre 19, 2006

Site ProgWdm

Voici une page consacrée à une application WinDev Mobile.
L'utilitaire s'intitule WD Véhicule.
Il permet la gestion de carburant et d'entretien d'un ou plusieurs véhicules.
Il délivre également des statistiques sur la consommation, la station service la moins chère. D'autres fonctionnalités sont à venir...

Disponible en Téléchargement à la page suivante :
http://progwdm.free.fr/#sect1.5.

samedi, novembre 11, 2006

OpenXML de Microsoft (Part 1)

OpenXML est le nouveau format des fichiers de la suite office. Ce sont en fait des fichiers Zip. Celui-ci contient une arborescence et des fichiers décrivant le document. En apparence on pourrait croire qu’il sera désormais simple de créer un fichier Word, par exemple, au format .docx. Cependant le format est très complexe.

Juger plutôt. Voici l’arborescence d’un document Word 2007.

Quelques explications sont données sur l’utilité des différents répertoires et fichiers sur la page suivante : http://www.microsoft.com/france/msdn/office/OpenXML/structure-fichiers-OpenXML.mspx. On s’aperçoit rapidement que le code XML n’est pas simple.

Des exemples de création de documents Word sont données pour les langages .NET, Java et bientôt disponibles en PHP.

(Voir exemple en .Net)

La bonne nouvelle c’est qu’avec WinDev on peut utiliser des package .Net et avec WebDev utiliser du code PHP. Il reste plus qu’a installé le FrameWork .NET 3.0.

A noter que dans la Version 11 de WinDev, ce FrameWork .NET 3.0, sera indispensable pour utiliser le champ carrousel et le champ cube. (Nouveauté 62 et 63)

A suivre…

WinDev - Comment récupérer des valeurs persistantes dans la base de registre ?

Soit un projet "MonProjet" contenant plusieurs fenêtres (fnt1, fnt2 etc) dont certains champs ont l'option "Mémoriser la valeur" cochée.

Cette option est disponible dans la "Description du champ", onglet "Détail.


Soit chp1 l'un des champs de fnt1 dont je veux récupérer la valeur mémorisée (chaîne alphanumérique). Etant en mode test, cette valeur est stockée à l'endroit suivant de la base de registres :
HK_CURRENT_USER\Software\PCSoft\WinDev\10.0\ModeTest\MonProjet\fnt1\chp1

Pour récupérer la valeur, Il faut utiliser :

ChargeParamètre("fnt1\chp1\Val")

Dans le cas d'une application en production la clé sera légèrement différente, puisque au lieu d'avoir PC SOFT, ça sera le nom de votre application.

La clé de registre, peut-être récupérée par programmation par la fonction WLangage :

ProjetInfo(piRegistre)

Voir l'aide en ligne pour plus de détail sur les fonctions.


vendredi, août 25, 2006

Comment afficher une image provenant d'un champ Blob MySQL ?

NB : Tests effectués avec la version 60t de WebDev, PHP 4 et MySQL 5.0.24 (et MySQL 5.0.18)

Utilisation exclusives des ordres "H*"


Soit la table MySQL suivante :

CREATE TABLE `blobmysql` (
`IDBlobMysql` int(11) NOT NULL auto_increment,
`Titre` varchar(50) default NULL,
`pImage` longblob,
PRIMARY KEY (`IDBlobMysql`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


Dans un page WebDev PHP, ajouter un champ image. Dans le descriptif de celui-ci, définir le type "Dynamique".
Ajouter un bouton et insérer le code suivant :
HLitPremier(BlobMysql)
SI PAS HExtraitMémo(BlobMysql,pImage,"test.gif") ALORS Trace("pas extrait")
IMG_Image2 = "test.gif"

Voilà l'image s'affiche dans le champ image.

PS: Pour ajouter par programmation une image dans un BLOB

CHEMIN_IMAGE est une chaîne = "X:\Mes Sites\warning.gif"

BlobMysql.Titre = "icone warning"
SI PAS HAttacheMémo(BlobMysql,"pImage",CHEMIN_IMAGE,hMémoImg) ALORS
Trace("Erreur ajout")
SINON
HAjoute(BlobMysql)
FIN


Dans une Zone répétée mémoire :

Pour l'afficher dans une Zone répétée mémoire, même principe. Il faut surtout ne pas oublier de mettre le type dynamique dans la description de l'image. Dans le code d'initialisation de la ZR on peut mettre le code suivant :
NomFic est une chaîne
i est un entier = 0

HLitPremier(BlobMysql)
TANTQUE PAS HEnDehors()
i++
Nomfic = "$$Test"+i
HExtraitMémo(BlobMysql,pImage,Nomfic)
ZoneRépétéeAjouteLigne(ZR_BlobMysql,BlobMysql.Titre,nomfic)
HLitSuivant(BlobMysql)
FIN


















Dans une Zone répétée Fichier :

Pour l'afficher dans une Zone répétée Fichier. Encore plus simple suivre l'assistant lors de la création de la Zone répétée. Une fois créée modifier le descriptif de l'image de la ZR. Mettre sur le Type : "Depuis une base de données".



lundi, août 21, 2006

Faire une sauvegarde ou une restauration de la Base du GDS.

Il est possible à partir de l'administrateur de source d'effectuer une sauvegarde complète de la base.
Il faut dans un premier temps, se connecter en tant qu'administrateur sur la base GDS.
- Ouvrir l'administrateur du gestionnaire de sources à partir du menu GDS
- Se connecter en tant qu'administrateur : Menu "Fichier...Connexion à une base de sources"
- Indiquer les paramètres de connexion à la base (login Admin)
- Une fois la connexion établie, aller dans le menu "Outils...Administration...Sauvegarde complète de la base".

Un fichier .zip est créer dans le répertoire (par défaut) x:\Sauvegarde GDS.
La Restauration de la base est effectuée à partir du menu " Outils...Administration...Restauration d'une sauvegarde d'historique".
Indiquer le fichier .zip à restaurer.

mercredi, août 09, 2006

WinDevMobile : Synchronisation personnalisée

Voici les différentes étapes de création d'une synchronisation personnalisée.

1. Créer un nouveau projet sous WinDev standard.
2. Dans ce projet, créez une collection de procédures nommée "WDSynchro". Cette collection de procédures doit contenir tous les traitements nécessaires à la synchronisation.
Conseil : Importez dans votre projet la collection de procédures WDSYNCHR.WDG livrée avec WinDev Mobile (répertoire "\Exemple\WDSynchro" du répertoire d'installation de WinDev Mobile). Les commentaires de cette collection de procédures détaillent comment personnaliser le traitement de synchronisation.
3 - Créer tous les éléments pour la synchronisation. Modification des procédures de WdSynchro. Création des fenêtres. (ex : jauge de traitement)

4 - Créer une bibliothèque pour la synchronisation en incluant tous les éléments nécessaires à celle-ci. (Menu "atelier..Bibliothèque..Génrer la bibliothèque")
Cette bibliothèque contient la collestion de procédure WDSYNCHR.WDG, les fenêtres que vous avez créées necessaires à la synchronisation.

5 - Créer la procédure d'installation et installer l'application WinDev. Ne pas oublier d'inclure le fichier .wdd (analyse) et le fichier .wdl (créer à l'étape 4) dans l'installation.

6 - Dans le projet WinDev Mobile créer la procédure d'installation en précisant à l'étape de la synchronisation : "Synchronisation personnalisée".
- menu Outils..WPInst
- cliquer sur "Paramètres d'installation...Synchronisation HF mobile par activeSync"
- indiquer le chemin de l'exe WinDev.
- Indiquer les chemin des analyses (.wdd)
- Cocher "Utiliser une WDL de synchronisation personnalisée"
- indiquer le chemin d'accès de votre wdl (créer à l'étape 4 et installé à l'étape 5)
- cliquer sur Ok et générer la procédure.

vendredi, juin 02, 2006

Le Forum développeur une mine d'or

Le forum développeur regorge d'informations pour le développeur. A la recherche de la meilleure façon de récupérer les adresses MAC d'un réseau local je suis tombé sur ça :
http://forum.pcsoft.fr/post.awp?id=75356
Le code complet d'une fonction permettant de récupérer l'adresse MAC d'une machine. Un paramètre d'entrée, l'adresse IP et le tour est joué.

Du même coup, pendant cette recherche je suis tombé sur d'autre chose, sans rapport avec les adresses MAC, mais très utile tel que :
- Comment ouvrir Outlook Express en mettant une pièce Jointe ?
Je vous le donne http://forum.pcsoft.fr/post.awp?id=18175
C'est une astuce très pratique.
- Comment convertire une chaîne hexa en décimale ?
http://forum.pcsoft.fr/post.awp?id=85079
et bien d'autre encore

En plus au fil des recherches on s'aperçoit qu'il a d'autres ressources, comme les ressources pratiques du site PC SOFT, permettant de faire des recherches sur les LST, les FAQ et j'en oubli sans doute, et plein de sites fait par des développeurs et qui partagent leurs trouvailles et leur codes.

Le forum est un vrai espace d'échange.
Vive le forum.

jeudi, mai 11, 2006

WinDev : Comment afficher des balise HTML dans un Champ HTML ?

WinDev : Comment afficher des balise HTML dans un Champ HTML ?

Il peut être interessant d'afficher du code HTML dans un champ HTML. Toutefois lorsque l'on met des balises, elles sont interprétée par le champ. Pour éviter cette interprétation, il suffit de remplacer les caractères <> par les signes & l t ; et & g t ; (sans les espaces).

Ainsi il est possible d'avoir le code :
<HTML>
<HEAD></HEAD>
</HTML>

jeudi, mars 30, 2006

WinDev : Fonction VérifieExpressionRégulière

Comment vérifier qu'une chaine de caractère de ne contient de caractère spéciaux et vérifie un format déterminé. La fonction VérifieExpressionRégulière permet de vérifier que la chaine passée en paramètre repond au format.

Par exemple : On veut faire une recherche sur des fichiers. Le filtre appliquer est de la forme :
Toto*.pdf

sfiltre est une chaine = "Toto*.pdf"
SI PAS VérifieExpressionRégulière(sfiltre ,"[-.\*a-z0-9]+[.][\*a-z0-9]{1,10}") ALORS
Erreur("Le filtre ne correspond pas au format",sfiltre )
SINON
gsExtCh = sDem
FIN

Explication de [-.\*a-z0-9]+[.][\*a-z0-9]{1,10}

1 - la première partie [-.\*a-z0-9]+ autorise les lettres a à z, les chiffres de 0 à 9 ainsi que les symboles '-', '.' et '*'. le caractère '\' est ici un caractèr d'échapement sinon '*' n'est pas considéré comme le symbole. le '+' signifie que l'on peut avoir plusieurs fois les caractères et symbole défini entre les crochets précédent

2 - la partie [.] indique que ce caractères doit correspondre à un point

3 - la dernière partie [\*a-z0-9]{1,10}. Le contenu entre crochets à la même signification que dans la première partie.
{1,10} signifie que la chaine peut contenir 1 à 10 caractères

mercredi, mars 29, 2006

Comment ouvrir dans un projet depuis le GDS ?

Une façon simple et agréable de gérer et développer un projet, a partir de chez soi ou d'ailleurs est d'utiliser le GDS (Gestionnaire de Source).
Facile d'utilisation il permet de développer à plusieurs sur un même projet avec la gestion des versions, de l'historique (code, IHM).

Pour ouvrir un projet depuis le GDS, il faut ouvrir WinDev, WebDev ou WinDev Mobile, puis dans le menu "Fichier...Ouvrir un projet depuis le GDS..."

Cette fenêtre permet de se connecter à une base en local ou en client/serveur. La paramètres utilisateurs sont ceux définis au lancement de WinDev, WebDev ou WinDev Mobile.
Si cet utilisateur n'existe pas, il vous sera proposé de créer le compte dans la base.


Une fois choisi les différents éléments cliquer sur OK.
Dans l'ecran suivant, il faut choisir un projet dans la liste puis selectionner le répertoire local pour permettre le travail sur le projet.

Une fois les choix effectués cliquer sur OK. et c'est fini le projet est ouvert depuis le GDS. Une copie local du projet a été faite. Vous pouvez travailler en mode Connecté ou déconnecté (sur un portable à la plage)