jeudi, mai 10, 2007

WebDev - Comment après un code serveur utiliser la fonction NavigateurOuvre ?

Comment ouvrir un page Web après un traitement en code serveur ?

Il faut utiliser la fonction NavigateurOuvre. Toutefois, cette fonction est disponible qu'en code navigateur et pas en code serveur.

L'astuce consiste à utiliser un champ caché, qui fera office de booléen.
Dans un code serveur, on effectue le traitement souhaité, puis on affecte 1 au champ caché.
Puis dans le code d'onload de la page, on utilise la syntaxe suivante :

SI SAI_MonChamp <> 0 alors
NavigateurOuvre("http://www.monsite.fr")
FIN

mercredi, mai 02, 2007

Style CSS et WebDev 11

Comme ça n'est pas précisé dans la doc, voici comment mettre du code CSS dans la description d'un champ.

Prenons le champ lien, par exemple. Il faut aller dans la description du lien dans l'onglet Style.
Puis cliquer sur "Editer".
Ensuite dans la description du style dans l'onglet CSS, on va mettre un code css de survol du lien.
Sélectionner Survol et mettre le code (exemple) :
color:#411;
background:#aaa;
border-bottom: 1px solid #555;

Il faut oublier la syntaxe : "a{ }" et mettre que les attributs.
Voilà un effet de survol en CSS.

jeudi, avril 26, 2007

Mise à jour WD Véhicule

Une mise à jour est disponible. Quelques corrections et améliorations ont été apportées.

Vous pouvez télécharger la mise à jour à l'adresse suivante : http://progwdm.free.fr/#sect1.8.

mercredi, avril 25, 2007

Récupérer un flux RSS dans WebDev

Pour récupérer le contenu d'un fichier XML, il faut utiliser la fonction HTTPRequête.

Voici le code :
sURL est une chaine = "http://nomDomaine.com/rep_du_Fichier_XML"

HTTPRequête(sURL,ProjetInfo(piNomProjet)) //
sres est une chaîne = HTTPDonneRésultat(HTTPRésultat)

Voila sres contient le fichier XML du flux RSS.
Ensuite il faut parcourir le fichier pour extraire les éléments. L'utilisation de fonction "XML" permet facilement d'obtenir le contenu.

Il existe un exemple complets dans WinDev : "Lecteur RSS", les procédures et classes sont utilisables dans WebDev.

Trouver des infos à partir de l'adresse IP

Il peut être intéressant, à partir d'une adresse ip, d'avoir le pays, la ville et les coordonnées géographique.
Cela est utile pour afficher des informations liées à la ville, ou positionner l'internaute sur une carte.
C'est possible avec le projet HostIp.
Voici une collection de procédures permettant de récupérer ces infos :

Déclarations des procédures globales :
Infos est un tableau associatif (*, *, *, 4) de chaînes

PROCEDURE RecupInfos(sIp est une chaîne)
s est une chaîne

// On interroge Hostip.
SI PAS HTTPRequête("http://api.hostip.info/get_html.php?ip="+sIp+"&position=true") ALORS
Erreur()
SINON
sres est une chaîne = HTTPDonneRésultat(HTTPRésultat)
// sRes est de la forme
// Country: FRANCE (FR)
// City: (Unknown city)
// Latitude:
// Longitude:
POUR TOUTE CHAINE s DE sres SEPAREE PAR Caract(10)
Infos[SansEspace(ExtraitChaîne(s,1,":",DepuisDébut))] = ExtraitChaîne(s,2,":",DepuisDébut)
FIN
FIN

PROCEDURE Pays()

RENVOYER Infos["Country"]

PROCEDURE Ville()

RENVOYER Infos["City"]

PROCEDURE Lattitude()

RENVOYER Infos["Latitude"]

PROCEDURE Longitude()

RENVOYER Infos["Longitude"]

jeudi, avril 05, 2007

Demarrer...Executer dans une Combo WinDev

J'ai voulu faire l'équivalent de "démarrer...exécuter" de Windows, avec une combo dans WinDev 11.






A chaque saisie de caractère, la combo propose les fichiers et répertoires commençant par ce caractère. Une sorte de saisie assistée.


Voici le code Utilisé :

Le code d'entrée de la combo.





Code à chaque modification de la combo :

ch est une chaîne = MoiMême..ValeurAffichée // Recupération de la valeur saisie dans la combo
pos est un entier = Position(ch,"\",0,DepuisFin) // Position du curseur.

SI Taille(ch) >= 2 ALORS // A partir du deuxième caractère on recherche les fichiers et répertoires
// Suppression du contenu de la combo
POUR i = ListeOccurrence(MoiMême) A 1 PAS -1
ListeSupprime(MoiMême,i)
FIN
SI ListeOccurrence(MoiMême) > 0 ALORS ListeModifie(MoiMême,"",1)
// Le premier caractère doit correspondre à une unité de disque : de A à Z
SI Asc("A") < pertoire =" fRep(ch+">""
// Liste des répertoires
ListeAjoute(MoiMême,ch[[1 A 2]]+["\"]+ch[[3 A pos]]+["\"]+sRépertoire)
// Répertoire suivant
sRépertoire = fRep("", frRépertoire)
FIN

// Ajout des fichiers qui sont à la racines
ListeAjoute(MoiMême,fListeFichier(ch+"*",frNonRécursif))
// Ouverture de la combo
ComboOuvre(MoiMême)
FIN
FIN


Code de Sélection de la Combo :







la propriété ..Curseur permet de positionner le curseur à la fin de la chaine saisie

lundi, avril 02, 2007

Mise à Jour WD Vehicule (Mobile)

Suite au feedback des utilisateurs des corrections ont été apportées.
La mise à jour sera proposée lors de la prochaine ouverture de l'application sinon vous
pouvez la télécharger à l'adresse suivante http://progwdm.free.fr/#sect1.7.

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.