<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0"><channel><copyright>© 2012 PC SOFT</copyright><lastBuildDate>17 May 2012 14:57:01 Z</lastBuildDate><pubDate>17 May 2012 14:57:01 Z</pubDate><description></description><generator>PC SOFT WebDev 16</generator><language>en</language><managingEditor></managingEditor><title></title><webMaster></webMaster><link>http://doc.pcsoft.fr/</link><item><author>prog-x</author><pubDate>16 May 2012 15:20:00 Z</pubDate><description>Dans l'exemple donné si on accède au serveur web par l'adresse 

http://localhost/VOTRE_PROJET/

puis par l'adresse 

http://localhost/VOTRE_PROJET

Le cookie n'arrive pas "écraser" le précédent et la routine pense que le navigateur ne supporte pas les cookies ce qui est faux.

Voici une variante pour éviter ce problème :

sValCookie est une chaîne
sValCookie=DateSys()+HeureSys()
sNomCookie est une chaîne = DateSys()+HeureSys()
CookieEcrit(sNomCookie,sValCookie,1)
// Relecture du cookie et vérification de la valeur lue
SI PAS sValCookie=CookieLit(sNomCookie) ALORS
	// Cookies non acceptés
	Erreur("Le navigateur n'accepte pas les cookies","veuillez modifier les paramètres de votre navigateur pour accepter les cookies.")
SINON
	// Cookies acceptés
	//Info("Cookies acceptés")
FIN</description><title>Correction de l'exemple</title><link>http://doc.windev.com/en-US/?cookieecrit-fonction#community-content</link><category>CookieEcrit (Fonction)</category></item><item><author>ricil78</author><pubDate>7 May 2012 17:55:00 Z</pubDate><description>Si vous ne fermez pas l'archive avec la commande zipFerme("MonArchive"), l'archive ne sera pas exploitable par l'utilisateur avant la fermeture de votre application. </description><title>Fermer l'archive</title><link>http://doc.windev.com/en-US/?zipcree-fonction#community-content</link><category>zipCrée (Fonction)</category></item><item><author>=JBO=</author><pubDate>3 May 2012 18:15:00 Z</pubDate><description>
Valeurs des constantes:

dbgTraitementEnCours = 0
dbgTraitementAppelant = 1

Quelle est l'incidence de la valeur du paramètre &lt;un entier&gt; ?

...par exemple sur le résultat de dbgInfo(dbgTraitement,&lt;un entier&gt;),
où le résultat est :    « Libellé du &lt;entier&gt; traitement appelant »

En clair :
si &lt;entier&gt; = 0, alors le résultat concerne le traitement en cours
si &lt;entier&gt; = 1, alors le résultat concerne le traitement appelant (celui qui appelle le traitement en cours)
Et ainsi de suite...</description><title>dbgInfo (Fonction) - Niveau du traitement / élément / ligne dans la pile des appels</title><link>http://doc.windev.com/en-US/?dbginfo-fonction#community-content</link><category>dbgInfo (Fonction)</category></item><item><author>Patrice</author><pubDate>25 Apr 2012 12:13:00 Z</pubDate><description>Attention : La clé doit exister pour pouvoir y écrire une valeur. Pour créer une clé, utilisez la fonction ceRegistreCréeClé.

Exemple : 
ceRegistreCréeClé("HKEY_LOCAL_MACHINE\SYSTEM\SOFTWARE\MonAppli")

et ensuite 

ceRegistreEcrit("HKEY_LOCAL_MACHINE\SOFTWARE\MonAppli", "Langage", "English")</description><title>Existance préalable de la clé !</title><link>http://doc.windev.com/en-US/?ceregistreecrit-fonction#community-content</link><category>ceRegistreEcrit (Fonction)</category></item><item><author>Maax°(51)°</author><pubDate>17 Apr 2012 15:22:00 Z</pubDate><description>Cette fonction permet elle de récupérer une image en niveau de gris ?
Si on a un tableau de bits sur 2 octets, comment fait-on ?</description><title>Niveau de gris</title><link>http://doc.windev.com/en-US/?dtransfertversimage-fonction#community-content</link><category>dTransfertVersImage (Fonction)</category></item><item><author></author><pubDate>17 Apr 2012 14:44:00 Z</pubDate><description>variable composee</description><title>variable composee</title><link>http://doc.windev.com/en-US/?variable-composee#community-content</link><category>Variable composée</category></item><item><author></author><pubDate>17 Apr 2012 14:41:00 Z</pubDate><description>dd</description><title>variables</title><link>http://doc.windev.com/en-US/?les-differents-types-variables#community-content</link><category>Les différents types de variables</category></item><item><author>=JBO=</author><pubDate>9 Apr 2012 22:04:00 Z</pubDate><description>
Un sémaphore est associé à un compteur qui détermine la capacité du sémaphore.
La fonction SémaphoreDébut() décrémente d’une unité le compteur du sémaphore.
La fonction SémaphoreFin() incrémente le compteur d’une unité au moins, ou plus, comme spécifié par le paramètre &lt;Nombre de sorties&gt;.

La fonction SémaphoreFin() échoue et déclenche une exception, quand la valeur du compteur associé à un sémaphore est déjà égale à zéro, ou, d’une manière générale, quand la valeur du paramètre &lt;Nombre de sorties&gt; est supérieure à la valeur du compteur.

Quand la fonction SémaphoreFin() échoue, le compteur associé au sémaphore n'est pas modifié. 

Les informations de l’exception ainsi déclenchée sont les suivantes :

• errCode : 2919

• errCodeSystème : 298

• errPendant : SémaphoreFin

• errInfo : Utiliser un SémaphoreFin pour chaque SémaphoreDébut.

• errMessageSystème : Un sémaphore a subi trop d'inscriptions.

• errRésumé : Tentative de sortie du sémaphore &lt;Nom du sémaphore&gt; alors qu'on n'y est pas entré.

• errMessage :
Tentative de sortie du sémaphore &lt;Nom du sémaphore&gt; alors qu'on n'y est pas entré.
Utiliser un SémaphoreFin pour chaque SémaphoreDébut.
Détail de l'erreur système : Un sémaphore a subi trop d'inscriptions.
</description><title>La fonction SémaphoreFin() peut déclencher une exception</title><link>http://doc.windev.com/en-US/?semaphorefin-fonction#community-content</link><category>SémaphoreFin (Fonction)</category></item><item><author>Nicolas NASDROVISKY</author><pubDate>9 Apr 2012 18:41:00 Z</pubDate><description>En mode Java: lors de l'exécution du traitement "Sortie d'une ligne de la table", la ligne courante est la ligne dans laquelle on entre, et non la ligne d'où on sort.&#13;
Tandis qu'en exécution "Windev", la ligne courante est bien la ligne d'où on sort.</description><title>Sortie d'une ligne de la table: comportement en JAVA</title><link>http://doc.windev.com/en-US/?traitements-associes-aux-champs-table#community-content</link><category>Traitements associés aux champs Table</category></item><item><author>Troti</author><pubDate>6 Apr 2012 11:52:00 Z</pubDate><description>Contrairement à ce qui est indiqué, la fonction ComboOuvre fonctionne sur les combos sans saisie.</description><title>Cas des Combo sans saisie</title><link>http://doc.windev.com/en-US/?comboouvre-fonction#community-content</link><category>ComboOuvre (Fonction)</category></item><item><author>Fabrice</author><pubDate>5 Apr 2012 10:45:00 Z</pubDate><description>Si vous utilisez HTTPRequete() pour lancer le téléchargement de gros docs ou de logiciels, vous avez besoin de proposer à l'utilisateur un bouton [Interrompre le téléchargement].

Comme httprequete() ne peut pas être interrompu, même la fonction threadarrete() est inactive.

La solution est donc que votre fenêtre de téléchargement soit en fait un .exe externe à votre projet.
Ainsi, vous lancez cet exe pour lancer le téléchargement, et le bouton [interrompre] provoque un finprogramme(). La fenêtre de téléchargement se ferme alors, les threads sont arrêtés, et vous récupérez la main.</description><title>Astuce pour interrompre un HTTPRequete</title><link>http://doc.windev.com/en-US/?httprequete-fonction#community-content</link><category>HTTPRequête (Fonction)</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>2 Apr 2012 15:06:00 Z</pubDate><description>Extrait de l'Aide en ligne :&#13;
&#13;
"Code dynamique&#13;
&#13;
Si le code source utilisé pour la compilation dynamique contient des noms de fichier, de rubrique, de champ, de fenêtre, d'état, de requête, ... ces noms doivent obligatoirement être entourés par des guillemets.&#13;
Par exemple, il faut utiliser : HLitPremier("Client", "Nom") au lieu de HLitPremier(Client, Nom)"&#13;
&#13;
Depuis la version 16, les contraintes de syntaxe sont plus souples.&#13;
Seules les POUT TOUT Nom_de_Fichier doivent obligatoirement comporter des guillemets :&#13;
POUT TOUT "Nom_de_Fichier"</description><title>Conditions de syntaxe moins strictes</title><link>http://doc.windev.com/en-US/?compile-fonction#community-content</link><category>Compile (Fonction)</category></item><item><author>Frederic KRIEGEL ( P</author><pubDate>29 Mar 2012 15:14:00 Z</pubDate><description>L'impossibilité de modifier un fichier provenant d'une autre analyse est un bug signalé au ST qui devait être corrigé dans la version 69m mais qui malheureusement est toujours présent.</description><title>GUID de l'analyse</title><link>http://doc.windev.com/en-US/?hmodifiestructure-fonction#community-content</link><category>HModifieStructure (Fonction)</category></item><item><author>ricil78</author><pubDate>24 Mar 2012 13:44:00 Z</pubDate><description>Bonjour, 
Il est indiqué dans cette documentation :
"Il est nécessaire d'indiquer le numéro de série du matériel à enregistrer."
Ce n'est plus le cas il demande le Device ID (Ce n'est pas le numéro de série). Si comme moi vous avez du mal à le trouver, il y a une application que vous le donne. elle se nomme "ID sender". dès l'ouverture elle vous affiche votre Device ID. (Cette application n'est pas de moi et je connais pas le développeur)</description><title>matériel à enregistrer</title><link>http://doc.windev.com/en-US/?deploiement-hoc-deploiement-inhouse#community-content</link><category>Déploiement ad Hoc et déploiement In-House</category></item><item><author>roland</author><pubDate>22 Mar 2012 18:22:00 Z</pubDate><description>Attention, il faut effectuer une affectation.

Le traitement ne s'effectue pas sur le premier paramètre, comme pourrait laisser supposer la rédaction.

Prendre exemple... sur l'exemple !</description><title>Ne pas se contenter de lire la description, voir l'exemple.</title><link>http://doc.windev.com/en-US/?chainesupprime-fonction#community-content</link><category>ChaîneSupprime (Fonction)</category></item><item><author>Nicolas I.</author><pubDate>19 Mar 2012 13:16:00 Z</pubDate><description>Sur les systèmes Windows Vista/7, il arrive que l'on ai une erreur type "Impossible d'ouvrir l'application ..., Application win32 non valide".

Remplacer 
LanceAppli(sMonAppli,&lt;options&gt;)
par 
LanceAppli(fCheminCourt(sMonAppli),&lt;options&gt;)</description><title>Appli Win32 non valide</title><link>http://doc.windev.com/en-US/?lanceappli-fonction#community-content</link><category>LanceAppli (Fonction)</category></item><item><author>Tim FISCHBECK ( Eide</author><pubDate>14 Mar 2012 20:53:00 Z</pubDate><description>Bullet number 2 in this section should read...

2. Display the description of the project configuration corresponding to the site (Project/Project configurations/Description of current configuration).
</description><title>Enabling 64-bit mode</title><link>http://doc.windev.com/en-US/?developing-64bit-sites#community-content</link><category>Developing 64-bit sites</category></item><item><author>=JBO=</author><pubDate>13 Mar 2012 20:40:00 Z</pubDate><description>
Dans le paragraphe “Redéfinition d'une méthode”, on peut lire la remarque suivante:

«la surcharge d'une méthode (utilisation de deux méthodes de même nom dans la même classe) n'est pas gérée en WLangage.»

Or ceci est en contradiction avec la page de documentation “Surcharge de prototype / Multisyntaxe” dont le paragraphe “Méthodes virtuelles” explique comment définir des méthodes virtuelles multisyntaxe.

http://aide.pcsoft.fr/fr-FR/?1514063&amp;name=surcharge-prototype-multisyntaxe
_</description><title>Méthode virtuelle multisyntaxe</title><link>http://doc.windev.com/en-US/?heritage-classe#community-content</link><category>Héritage de classe</category></item><item><author>roland</author><pubDate>13 Mar 2012 19:12:00 Z</pubDate><description>Contrairement à ce que l'on pourrait comprendre il faut bien ajouter VIRTUELLE dans la déclaration de la méthode dans la classe ancetre.

Sinon, si dans une classe fille vous exécutez une méthode de la classe ancetre appelant cette méthode virtuelle, ce sera la méthode figurant dans l’ancêtre qui sera exécutée (même si elle n'a aucune ligne) et non celle surchargée dans la classe fille.

constaté sur WD170061k
</description><title>Methode virtuelle</title><link>http://doc.windev.com/en-US/?heritage-classe#community-content</link><category>Héritage de classe</category></item><item><author>Riebens</author><pubDate>13 Mar 2012 11:18:00 Z</pubDate><description>IF nRes &lt;&gt; gpwOk THEN &#13;
SWITCH nRes &#13;
CASE gpwError: Error("Error while initializing the groupware.", ErrorInfo()) &#13;
CASE gpwUnknownUser: Error("Unknown user.") //gpwUnknwonUser&#13;
CASE gpwInvalidPassword: Error("Invalid password") &#13;
END &#13;
END &#13;
</description><title>Spelling mistake in the example</title><link>http://doc.windev.com/en-US/?gpwopenconnection-function#community-content</link><category>gpwOpenConnection (Function)</category></item><item><author>Nicolas</author><pubDate>7 Mar 2012 16:16:00 Z</pubDate><description>Il est indiqué qu'il n'est pas possible d'utiliser des paramètres avec  HPrepareRequeteSQL pour une requête qui doit ramener des résultats et c'est pourtant l'exemple qui est donné juste après.</description><title>Exemple incohérent avec HPrepareRequeteSQL</title><link>http://doc.windev.com/en-US/?acces-natif-sql-server-executer-plusieurs-fois-une-meme-procedure-stockee#community-content</link><category>Accès Natif SQL Server : Exécuter plusieurs fois une même procédure stockée</category></item><item><author>SteveH</author><pubDate>7 Mar 2012 03:46:00 Z</pubDate><description>PeHoBe,

What if you program the "Property Setter" of the CityID property of the CustomerClass to do the creation of the CityClass when the CityId is specified.

Then it should happen automatically as values are assigned to the properties</description><title>Suggestion on LIMITATION: Missing Auto assignments on subclass members</title><link>http://doc.windev.com/en-US/?filetoarray-function#community-content</link><category>FileToArray (Function)</category></item><item><author>Bob</author><pubDate>7 Mar 2012 00:17:00 Z</pubDate><description>you may also want to look at TypeVar() function to determine a variable's type.</description><title>If you don't find the "type" you want here</title><link>http://doc.windev.com/en-US/?type-property#community-content</link><category>Type (Property)</category></item><item><author>Andy &lt;&lt;cowboy&gt;&gt; </author><pubDate>5 Mar 2012 02:59:00 Z</pubDate><description> x = ArraySeek(ArrayVar,searchtype,"element1;element2",value1,value2)
</description><title>seek using a Structure`</title><link>http://doc.windev.com/en-US/?arrayseek-function#community-content</link><category>ArraySeek (Function)</category></item><item><author>roland</author><pubDate>4 Mar 2012 12:21:00 Z</pubDate><description>Quand exécuter HModifieStructure ?
Le sujet me semble assez délicat.

Il faut savoir que la lecture de la propriété MaTable..GUIDAnalyse nécessite déjà que MaTable soit en cohérence avec l’analyse.

Il n'est donc pas possible (dans la version WD 17.61k) de vérifier si une table est de version antérieure à celle de l'analyse courante.

Dommage.

Il serait aussi bon de savoir comment réagit cette fonction si par exemple l'utilisateur installe une version antérieure à celle en place (retour à une analyse antérieure avec éventuellement perte de d'infos ?).</description><title>Quand exécuter HModifieStructure</title><link>http://doc.windev.com/en-US/?hmodifiestructure-fonction#community-content</link><category>HModifieStructure (Fonction)</category></item><item><author>Ivar</author><pubDate>2 Mar 2012 00:04:00 Z</pubDate><description>I am using a Windows 7 64 bit (latest patches etc.) with WebDev 16 (also latest patches). 

The information above does not match the selections available in IIS7 setup for Windows 7. Also we have been unable to locate "Manager mapping" etc. We have not been able to get a WebDev site work on IIS7, using virtual directory. </description><title>Information does not seam to be correct?</title><link>http://doc.windev.com/en-US/?configuring-the-iis-7-server#community-content</link><category>Configuring the IIS 7 server</category></item><item><author>Gilles GHELEYNS</author><pubDate>21 Feb 2012 11:36:00 Z</pubDate><description>Cette fonction me renvoie toujours le même numéro d'instance quel que soit le PC sur lequel j'utilise mon application, quel que soit l'application qui demande ce numéro d'instance. Pour info : 4194304

Windev 16 version : 01F160057k</description><title>Inutilisable ou à quoi ça sert ?</title><link>http://doc.windev.com/en-US/?instance-fonction#community-content</link><category>Instance (Fonction)</category></item><item><author>Joseph</author><pubDate>16 Feb 2012 16:06:00 Z</pubDate><description>Je viens de mettre à jour la version (01F170061k), et toujours pas de correction.
Nous somme toujours dans l'obligation d'utiliser les sous-requêtes.</description><title>Toujours pas!</title><link>http://doc.windev.com/en-US/?sql-gestion-des-jointures-inner-join-outer-join#community-content</link><category>SQL : Gestion des jointures (INNER JOIN, OUTER JOIN) </category></item><item><author>Riebens</author><pubDate>16 Feb 2012 08:47:00 Z</pubDate><description>CASE gpwUnknwonUser: Error("Unknown user.")&#13;
&#13;
Should be &#13;
&#13;
CASE gpwUnknownUser: Error("Unknown user.")&#13;
</description><title>Incorrect Spelling of Constant</title><link>http://doc.windev.com/en-US/?gpwopen-function#community-content</link><category>gpwOpen (Function)</category></item><item><author>Gilles GHELEYNS</author><pubDate>14 Feb 2012 15:54:00 Z</pubDate><description>Le code proposé pour appeler l'aide sur un champ dans cette page d'aide ne fonctionne pas étant donné que la fonction ChampEnCours() renvoie dans ce cas le nom du bouton et non le nom du champ qui était en saisie avant l'appel à l'aide.</description><title>Aide sur un champ</title><link>http://doc.windev.com/en-US/?lancer-fichier-aide-chm-hlp#community-content</link><category>Lancer un fichier d'aide (CHM ou HLP)</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>14 Feb 2012 14:54:00 Z</pubDate><description>"nom de la fenêtre permettant de visualiser la progression de la modification automatique des données".&#13;
&#13;
N'importe quelle fenêtre avec un champ jauge convient-elle ?</description><title>nom de la fenêtre permettant de visualiser la progression ?</title><link>http://doc.windev.com/en-US/?hmodifiestructure-fonction#community-content</link><category>HModifieStructure (Fonction)</category></item><item><author>Riebens</author><pubDate>12 Feb 2012 02:06:00 Z</pubDate><description>// Calculate the Hash of two files&#13;
Hash1 is Buffer = HashFile(HA_MD5_128,"C:\My files\FileA.txt")&#13;
Hash2 is Buffer = HashFile(HA_MD5_128,"D:\My files\FileB.txt")&#13;
// Compare the two Hashes&#13;
IF Hash1 = Hash2 THEN Info("The two files are identical.")&#13;
</description><title>Wrong hash Algorithm in example</title><link>http://doc.windev.com/en-US/?hashfile-function#community-content</link><category>HashFile (Function)</category></item><item><author>Andrei SBARNEA</author><pubDate>11 Feb 2012 19:33:00 Z</pubDate><description>Exemple de la page d'aide: &#13;
&#13;
"MyConn is Connexion = FUnFichier..Connexion"&#13;
&#13;
donne erreur:&#13;
&#13;
Incompatible types during assignment.&#13;
Error code: 1053&#13;
Level: fatal error (EL_FATAL)&#13;
Dump of the error of 'WD160VM.DLL' module (16.0.150.6).&#13;
Identifier of detailed information (.err): 1053</description><title>Exemple de la page d'aide errone</title><link>http://doc.windev.com/en-US/?connexion-type-variable#community-content</link><category>Connexion (Type de variable)</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>7 Feb 2012 16:06:00 Z</pubDate><description>Pas de documentation pour le (nouveau ?) paramètre LOCALIZATION_CS_UTF8.</description><title>LOCALIZATION_CS_UTF8</title><link>http://doc.windev.com/en-US/?fichier-rep#community-content</link><category>Le fichier .REP</category></item><item><author>Riebens</author><pubDate>29 Jan 2012 16:29:00 Z</pubDate><description>Name of the user for whom the information must be retrieved. This name must correspond to the HUser.FullName variable for one of the users of the specified connection.</description><title>&lt;User Name&gt;: Character string (with quotes)</title><link>http://doc.windev.com/en-US/?hinfouser-function#community-content</link><category>HInfoUser (Function)</category></item><item><author>Funcoder</author><pubDate>25 Jan 2012 10:44:00 Z</pubDate><description>For test mode it is actually:

HKEY_CURRENT_USER\SOFTWARE\PC SOFT\WinDev\16.0\ModeTest\&lt;project&gt;.</description><title>Test Mode Registry</title><link>http://doc.windev.com/en-US/?saveparameter-function#community-content</link><category>SaveParameter (Function)</category></item><item><author>=JBO=</author><pubDate>24 Jan 2012 10:26:00 Z</pubDate><description>
Ajouter une note d'information pour que le lecteur ait une meilleure vision de l'éventail de possibilités de dialogue entre l'application et son utilisateur.

D'autres fonctions sont également disponibles pour interagir avec l'utilisateur:

• fRepSélecteur() WD9
  ouvre le sélecteur de répertoires.

• fSélecteur() WD9 WM9
  ouvre le sélecteur de fichiers du système.

• fSélecteurImage() WD9 (Windows seulement)
  ouvre le sélecteur d'images de Windows.

• OuvreMenuContextuel() WD9 WM9
  ouvre automatiquement un menu contextuel pour le champ ou la fenêtre en cours.

• CalendrierSélecteur() WD14 WM14
  ouvre un dialogue modal avec un calendrier pour saisir une date.

• DateSélecteur() WM17 (Android seulement)
  affiche le sélecteur de date du système.

• HeureSélecteur() WM17 (Android seulement)
  affiche le sélecteur d’heure du système.

• ContactAffiche() WM16 (Android seulement)
  ouvre la fiche d'un contact dans l'application native de gestion des contacts de l'appareil (téléphone Android).

• ContactEdite() WM16 (Android seulement)
  ouvre en édition la fiche d'un contact en cours dans l'application native de gestion des contacts de l'appareil (téléphone Android).

• PoliceSelect() WD9  (Windows seulement)
  ouvre la fenêtre standard de sélection de polices de Windows .

• SelectCouleur() WD9 (Windows seulement)
  ouvre la fenêtre standard de sélection de couleur de Windows.

• TwainSelectSource() WD9 (Windows seulement)
  ouvre une boîte de dialogue standard listant les différents périphériques Twain disponibles sur le poste en cours.

• BTSélecteurPériphérique() WD12 (Windows seulement)
  ouvre une fenêtre système pour sélectionner un périphérique Bluetooth.

• BTOuvrePropriétésPériphérique() WD12 (Windows seulement)
  ouvre la fenêtre des propriétés d'un périphérique Bluetooth.

• PlanificateurOuvrePropriétésTâche() WD10 (Windows seulement)
  ouvre la page de propriétés d'une tâche planifiée (planificateur de tâches de Windows).

• CertificatSélecteur() WD16 (Windows seulement)
  ouvre une fenêtre de sélection de certificats.

• CertificatOuvrePropriétés() WD16 (Windows seulement)
  ouvre la fenêtre Windows permettant de connaître les propriétés d’un certificat.

• SaisieAssistéeOuvre() WD17 (Windows seulement)
  ouvre la liste des valeurs proposées pour la saisie assistée d’un champ de saisie.

• gpwOuvre() WD9
  ouvre la fenêtre ou la page de login du groupware utilisateur.</description><title>Fonctions de gestion des boîtes de dialogue - Autres fonctions...</title><link>http://doc.windev.com/en-US/?fonctions-gestion-des-boites-dialogue#community-content</link><category>Fonctions de gestion des boîtes de dialogue</category></item><item><author>mancha</author><pubDate>19 Jan 2012 22:16:00 Z</pubDate><description>The example is wrong, you have to add the entries to the Channel before you add the Channel to MyStream, otherwise the Entries won't be in MyStream, so the XML would be incomplete.

</description><title>RSS Example is wrong.</title><link>http://doc.windev.com/en-US/?rssentry-type-variable#community-content</link><category>rssEntry (Type of variable)</category></item><item><author>jjmonot</author><pubDate>18 Jan 2012 09:40:00 Z</pubDate><description>En Java sous Android, dans le code natif d'une procédure il est tout à fait possible de déclarer plusieurs méthodes (privées ou pas), des classes, etc.

Il y a cependant deux réserves : 
- Seule la première méthode déclarée dans le traitement pourra être appelée directement depuis le WLangage. (Nouvelle_Procédure1 dans le cas de l'exemple) 
- Il ne faut pas oublier les imports (Ils peuvent être insérés n'importe où dans le code) 

========== exemple 1 ==================
public static void NouvelleProcedure1 ()
{
Nouvelle_procedure2 ();
Nouvelle_procedure3 ();
}

private static void Nouvelle_Procedure2 ()
{
}

private static void Nouvelle_Procedure3 ()
{
}

=========== exemple 2 ==============
public static void NouvelleProcedure ()
{

MaClasse m = new MaClasse ();
}

public static classe MaClasse ()
{
public MaClasse ()
{
}
}
</description><title>déclaration de méthodes et de classes en code java natif</title><link>http://doc.windev.com/en-US/?particularites-des-applications-pour-android#community-content</link><category>Particularités des applications pour Android</category></item><item><author>CLEROY</author><pubDate>16 Jan 2012 16:38:00 Z</pubDate><description>Le descriptif de la fonction DateDébut reprend le descriptid de la fonction CurseurSouris</description><title>Correction du manuel wlangage page 140</title><link>http://doc.windev.com/en-US/?datedebut-propriete#community-content</link><category>DateDébut (Propriété)</category></item><item><author>CLEROY</author><pubDate>16 Jan 2012 16:36:00 Z</pubDate><description>La fonction est écrite DuréeNomRéponse dans le manuel au lieu de DuréeNonRéponse</description><title>Correction du manuel wllangage page 140</title><link>http://doc.windev.com/en-US/?dureenonreponse-propriete#community-content</link><category>DuréeNonRéponse (Propriété)</category></item><item><author>Vital GAUDREAULT</author><pubDate>14 Jan 2012 22:28:00 Z</pubDate><description>J'utilise cette fonction dans un logiciel développé avec la version-14 de Windev, et ça fonctionnait très bien. Je l'ai converti dernièrement à la version-17 de Windev et mon logiciel ne fonctionnait plus correctement. Les fichiers qui devaient se transférer sur mon serveur ne se transféraient plus. 

À force d'essayer toutes sortes de choses pour régler le problème, je viens de m'apercevoir que cette fonction oblige maintenant que nous fermions les fichiers à "uploader" avant d'utiliser cette fonction sinon ça ne fonctionne pas.</description><title>FTPEnvoie</title><link>http://doc.windev.com/en-US/?ftpenvoie-fonction#community-content</link><category>FTPEnvoie (Fonction)</category></item><item><author>Andy &lt;&lt;cowboy&gt;&gt; </author><pubDate>12 Jan 2012 17:29:00 Z</pubDate><description>ArraySort(arrayvariable,StructureVar,"Element1;Element2")</description><title>sorting with a structure </title><link>http://doc.windev.com/en-US/?arraysort-function#community-content</link><category>ArraySort (Function)</category></item><item><author>lucat</author><pubDate>7 Jan 2012 14:30:00 Z</pubDate><description>Questa parte dell'help spiega come creare combo con più colonne e come fare in modo di allineare le colonne</description><title>Combo con più colonne allineate</title><link>http://doc.windev.com/en-US/?aligning-the-elements-list-box-combo-box#community-content</link><category>Aligning the elements in a list box or in a combo box</category></item><item><author>Philippe JEAN ( Le G</author><pubDate>3 Jan 2012 23:16:00 Z</pubDate><description>Attention : Si le traitement de votre trigger avant est trop long, il est possible que l'action soit faites avant que votre code de trigger ce termine. &#13;
&#13;
Par exemple, si vous créez un enregistrement et que l'ID de cet enregistrement est créé dans un trigger avant. Il arrive que l'enregistrement n'est pas d'ID si le traitement du trigger avant est trop long.&#13;
&#13;
Même problème avec les triggers avants serveurs. &#13;
&#13;
Même genre de problème lors de création très rapide d'enregistrements dans des threads.</description><title>Trigger Avant</title><link>http://doc.windev.com/en-US/?les-triggers-simples#community-content</link><category>Les triggers simples</category></item><item><author>roland</author><pubDate>26 Dec 2011 20:25:00 Z</pubDate><description>En fait pour pouvoir debugger un projet multi-configuration en configuration 32 bits et en configuration 64 bits il faut placer la dll 32 bits de libmysql dans le sous-dossier exe de la configuration 32 bits du projet et la dll 64 bits dans le sous dossier exe de la configuration 64 bits du projet.</description><title>Emplacement de libmysql.dll 32bits et 64bits selon configuration du projet</title><link>http://doc.windev.com/en-US/?acces-natif-mysql-pour-windev-webdev#community-content</link><category>Accès Natif MYSQL pour WinDev et WebDev</category></item><item><author>=JBO=</author><pubDate>19 Dec 2011 21:58:00 Z</pubDate><description>
La valeur numérique 0 peut être attribuée au paramètre &lt; Message Windows &gt;.
La valeur 0 permet d'intercepter tous les messages Windows reçus par un Objet WinDev.</description><title>Evénement (Fonction) : intercepter tous les messages Windows</title><link>http://doc.windev.com/en-US/?evenement-fonction#community-content</link><category>Evénement (Fonction)</category></item><item><author>Alex</author><pubDate>19 Dec 2011 15:34:00 Z</pubDate><description>Salut à tous,

Xcode fonctionne très bien dans une machine virtuelle mac sur PC. C'est suffisant pour se faire une idée. Des tutos existent sur internet, et ça marche très bien.

Ensuite il faut évidemment acheter un mac si vous voulez déployer des applications : respect des conditions Apple.

Cordialement,

Alex </description><title>Xcode sur PC</title><link>http://doc.windev.com/en-US/?compiler-projet-windev-mobile-sous-xcode#community-content</link><category>Compiler un projet WinDev Mobile sous Xcode</category></item><item><author>Alex</author><pubDate>19 Dec 2011 15:14:00 Z</pubDate><description>Salut à tous,

Xcode fonctionne très bien dans une machine virtuelle mac sur PC. C'est suffisant pour se faire une idée. Des tutos existent sur internet, et ça marche très bien.

Ensuite il faut évidemment acheter un mac si vous voulez déployer des applications : respect des conditions Apple.

Cordialement,

Alex</description><title>Xcode sur PC</title><link>http://doc.windev.com/en-US/?principe-developpement-une-application-pour-iphone-ipad#community-content</link><category>Principe de développement d'une application pour iPhone / iPad</category></item><item><author>Sylvain LaRue ( MRT)</author><pubDate>14 Dec 2011 19:12:00 Z</pubDate><description>Pour que la validation puisse se faire, il faut dabord charger le fichier dans la variable de type «xmlDocument».&#13;
&#13;
&#13;
&#13;
// Validation à partir du schéma «Transmission.xsd» défini lors de la déclaration&#13;
// ----------------------------------------------------------------------------------------&#13;
lcDoc est un xmlDocument &lt;description = "Transmission"&gt; = XMLOuvre ("P_Relevé_01.XML", depuisFichier)&#13;
&#13;
&#13;
SI  ErreurDétectée ALORS&#13;
&#13;
    Info ("Erreur au chargement du fichier.")&#13;
&#13;
SINON&#13;
    SI PAS XMLDocumentValide (lcDoc) ALORS&#13;
&#13;
        Erreur (ErreurInfo ())&#13;
&#13;
    SINON&#13;
        Info ("Le document XML est valide.") &#13;
    FIN&#13;
FIN</description><title>Un exemple un peu plus précis</title><link>http://doc.windev.com/en-US/?xmldocumentvalide-fonction#community-content</link><category>XMLDocumentValide (Fonction)</category></item><item><author>Joseph</author><pubDate>13 Dec 2011 21:06:00 Z</pubDate><description>Il semblerait que cette lacune a été comblé en version 17.
Par contre à faire confirmer pas pcsoft.</description><title>Version 17</title><link>http://doc.windev.com/en-US/?sql-gestion-des-jointures-inner-join-outer-join#community-content</link><category>SQL : Gestion des jointures (INNER JOIN, OUTER JOIN) </category></item><item><author>Alexandre Morvan</author><pubDate>9 Dec 2011 12:09:00 Z</pubDate><description>Pour installer le compilateur Xcode, il n'est pas nécessaire de s'inscrire auprès de Apple sur le iOS and Mac Developer Programs comme développeur d'applications pour Mac, iPhone, iPad. 

En effet, depuis la version OS X Lion, vous pouvez télécharger une version de Xcode gratuitement depuis le Mac App Store.
Seul condition, avoir un compte iTunes/Identifiant Apple. </description><title>xcode depuis le Mac App Store</title><link>http://doc.windev.com/en-US/?principe-developpement-une-application-pour-iphone-ipad#community-content</link><category>Principe de développement d'une application pour iPhone / iPad</category></item><item><author>lo²</author><pubDate>5 Dec 2011 17:47:00 Z</pubDate><description>La première syntaxe ne retourne pas de résultat, cad une chaîne vide.&#13;
&#13;
La deuxième syntaxe, il faut "forcer" le paramètre optionnel sinon les informations supplémentaires ne sont pas récupérées.</description><title>AS/400</title><link>http://doc.windev.com/en-US/?sqlcolonne-fonction#community-content</link><category>SQLColonne (Fonction)</category></item><item><author>Lionel</author><pubDate>22 Nov 2011 09:35:00 Z</pubDate><description>Lors de l'utilisation d'une variable de type chaîne, la syntaxe est différente et peut entraîner une certaine confusion...

La syntaxe RTFAjoute(vMaChaine,"Mon Texte") ne change pas la valeur de vMaChaine... 
La documentation, bien que complète, ne montre pas d'utilisation de chaîne dans le pavé "utilisation"</description><title>ATTENTION à la syntaxe différente quand on utilise une variable...</title><link>http://doc.windev.com/en-US/?rtfajoute-fonction#community-content</link><category>RTFAjoute (Fonction)</category></item><item><author>ocalle</author><pubDate>17 Nov 2011 05:01:00 Z</pubDate><description>The help need have TRICKS section to improve some points.</description><title>Very usefull suggestion</title><link>http://doc.windev.com/en-US/?clientserver-connecting-the-client-computers-the-server#community-content</link><category>Client/Server: Connecting the client computers to the server</category></item><item><author>MICHEL LAHELLEC</author><pubDate>17 Nov 2011 03:10:00 Z</pubDate><description>0:typSaisieTexte	Type texte  
1:typSaisieNum	          Type numérique (entier, réel, ...)
2:typSaisieDate	         Type date
3:typSaisieHeure	 Type heure
4:typSaisieMonétaire	 Type monétaire
5:typSaisieDurée	 Type durée
?:typSaisieNumériquePrécis 	Type numérique (champ de saisie associé au type Numérique)
</description><title>Les valeurs des constantes sont:</title><link>http://doc.windev.com/en-US/?typesaisie-propriete#community-content</link><category>TypeSaisie (Propriété)</category></item><item><author>Franck BASSIN</author><pubDate>16 Nov 2011 16:10:00 Z</pubDate><description>Attention, si vous utilisez une session Outlook pour lire les emails, la propriété Email.IdentifiantAttache est toujours vide.

Vous ne pouvez donc pas afficher correctement des emails avec des images avec les fonctions natives Windev Outlook.

Problème référencé chez PC-Soft sous le numéro : 54 618/309185</description><title>Email.IdentifiantAttache est toujours vide avec EmailOuvreSessionOutlook</title><link>http://doc.windev.com/en-US/?lire-email#community-content</link><category>Lire un email</category></item><item><author>Bala </author><pubDate>11 Nov 2011 20:09:00 Z</pubDate><description>Hi All,
I used the WPF button tag(XAML code) in XAMLControl or NET 3.0, 4.0 control(WPF), it is working. when i tried to use the DataGrid Tag in XAMLControl it just display the XAMLcontrol With black color. i want to know how to display the WPF DataGrid in XamlControl? and where i can find the XamlControl tutorials?

Note:
I include all the necessary dll for DataGrid in my project.</description><title>How to display the WPF DataGrid?</title><link>http://doc.windev.com/en-US/?net-30-40-control-wpf#community-content</link><category>.NET 3.0, 4.0 control, ... (WPF)</category></item><item><author>=JBO=</author><pubDate>9 Nov 2011 19:11:00 Z</pubDate><description>
Citation extraite de:
    Programmation de données avec Access 2010

http://msdn.microsoft.com/fr-fr/library/ff965871.aspx#DataProgrammingWithAccess2010_Where

« Avant Access 2007, Access utilisait le moteur Microsoft JET (Joint Engine Technology).
Même si JET a généralement été vu comme faisant partie d’Access, le moteur JET était un produit distinct.
Depuis la sortie de Microsoft Windows 2000, JET a été [systématiquement] inclus dans le système d’exploitation Windows, puis distribué ou mis à jour avec les composants MDAC (Microsoft Data Access Components).
Cependant, à la sortie d’Access 2007, le moteur JET a été abandonné et il n’est plus distribué avec MDAC. 
À la place, Access utilise maintenant un moteur ACE intégré et amélioré, [... qui assure] une compatibilité descendante complète avec les [fichiers produits par les] versions antérieures du moteur JET. »

Mini lexique:
    Moteur ACE = « Moteur de base de données Microsoft Access »
    ACE = Access Connectivity Engine

Par conséquent, pour accéder aux bases de données au format MDB produites avec Access 2003 et précédents, on utilise le moteur JET dont les composants et fournisseurs d'accès aux données sont d'emblée disponibles sous Windows 2000 et suivants.

En revanche, pour accéder aux bases de données au format ACCDB produites avec Access 2007 ou 2010, il faut utiliser le moteur ACE (Access Database Engine). Celui-ci est installé en même temps que Microsoft Access.

A défaut, vous pouvez installer les seuls composants et fournisseurs de données sur un poste utilisateur Windows.
Pour ce faire, Microsoft propose le téléchargement suivant:
    Moteur de base de données Microsoft Access 2010 redistribuable 

http://www.microsoft.com/downloads/fr-fr/details.aspx?familyid=c06b8369-60dd-4b64-a44b-84b371ede16d&amp;displaylang=fr

Une fois l'installation terminée, vous disposez de 2 nouveaux fournisseurs OLE DB pour créer des connexions avec HyperFile:
 • Access 2007,
 • MS Exchange et Outlook.
_
</description><title>Accès aux fichiers MDB et ACCDB - Installation des moteurs de bases de données JET et ACE</title><link>http://doc.windev.com/en-US/?acces-natif-access#community-content</link><category>Accès Natif Access</category></item><item><author>SC ( COSOGES )</author><pubDate>7 Nov 2011 15:18:00 Z</pubDate><description>La constante grToutesSéries n'est pas disponible sous WebDev (v.16)</description><title>Constante grToutesSéries</title><link>http://doc.windev.com/en-US/?grepaisseurtrait-fonction#community-content</link><category>grEpaisseurTrait (Fonction)</category></item><item><author>Olivier P.</author><pubDate>4 Nov 2011 10:19:00 Z</pubDate><description>Bonjour,

cette fonction ne supporte pas que les valeurs soient encadrées avec des guillemets (il faudrait d'ailleurs un paramètre supplémentaire),
ce qui permet notamment d'avoir une cellule contenant le séparateur.

Exemple (ici le séparateur est la virgule) :
Reference,Description,Prix
1234,"Ecran 15,6"" de diagonales",123.00

Ici la colonne Description sera considérée comme 2 colonnes :
"Ecran 15
6"" de diagonales"

Or, on aurait dans ce cas voulu obtenir : Ecran 15,6" de diagonales

Solution : Ecrire soi-même sa propre procédure.

A+</description><title>Attention avec les guillemets</title><link>http://doc.windev.com/en-US/?csvverstableau-fonction#community-content</link><category>CSVVersTableau (Fonction)</category></item><item><author>Patinfo</author><pubDate>2 Nov 2011 18:05:00 Z</pubDate><description>ça ne marche que sur l'analyse en cours, à la différence des fichiers physiques&#13;
D'autre part, si on veut un trigger sur tous les fichiers, il faut les décrire  un à un, ce qui va poser problème en cas de création de nouveau fichier, par exemple COMPTA2011</description><title>trigger sur fichiers logiques</title><link>http://doc.windev.com/en-US/?hdecrittriggerserveur-fonction#community-content</link><category>HDécritTriggerServeur (Fonction)</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>26 Oct 2011 12:22:00 Z</pubDate><description>"Paramètres de la procédure stockée à exécuter par la tâche planifiée. Pour plus de détails, consultez le paragraphe "Comment manipuler les paramètres passés à la procédure stockée ?"."&#13;
&#13;
En cas de sauvegarde (cf. l'exemple donné ci-dessus), il serait nécessaire de préciser quels sont les paramètres attendus par la procédure.</description><title>Paramètres de la procédure stockée à exécuter ?</title><link>http://doc.windev.com/en-US/?htacheplanifiee-type-variable#community-content</link><category>hTâchePlanifiée (Type de variable)</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>26 Oct 2011 12:20:00 Z</pubDate><description>MaTâche..Heure = SAI_Heure..Heure&#13;
MaTâche..Minute = SAI_Heure..Minute&#13;
&#13;
&gt;&gt; Les propriétés ..Heure et ..Minute n'existent pas sur un champ de saisie.</description><title>Exemple à modifier</title><link>http://doc.windev.com/en-US/?htacheplanifiee-type-variable#community-content</link><category>hTâchePlanifiée (Type de variable)</category></item><item><author>Patinfo</author><pubDate>7 Oct 2011 17:27:00 Z</pubDate><description>//création&#13;
doc est un xlsDocument&#13;
xlsAjouteFeuille(doc,"Feuille1")&#13;
&#13;
//modification de la largeur de la 2nde colonne&#13;
doc..Colonne[2]..Largeur=300&#13;
&#13;
//ligne d'entête&#13;
doc[1,"A"]="Code"&#13;
doc[1,"B"]="Nom"&#13;
&#13;
//remplissage de la feuille&#13;
sdReq est une Source de Données&#13;
HExécuteRequêteSQL(sdReq,"select * from fichier")&#13;
&#13;
lig est un entier=1&#13;
POUR TOUT sdReq&#13;
	lig++&#13;
	doc[lig,"A"]=sdReq.code&#13;
	doc[lig,"B"]=sdReq.nom&#13;
fin&#13;
&#13;
//sauvegarde&#13;
xlsSauve(doc,"c:\liste.txt")&#13;
xlsFerme(doc)&#13;
&#13;
&#13;
</description><title>exemple de création d'une feuille</title><link>http://doc.windev.com/en-US/?xlsdocument-type-variable#community-content</link><category>xlsDocument (Type de variable)</category></item><item><author>Patinfo</author><pubDate>5 Oct 2011 14:57:00 Z</pubDate><description>Lors d'un cryptage transmis par socket d'un PC à Windows Mobile, il est nécessaire de crypter et de décrypter avec la constante "CrypteAnsi" aussi bien sur le mobile que sur le PC&#13;
</description><title>Communication entre PC et Windows Mobile</title><link>http://doc.windev.com/en-US/?decrypte-fonction#community-content</link><category>Décrypte (Fonction)</category></item><item><author>Patinfo</author><pubDate>5 Oct 2011 14:55:00 Z</pubDate><description>Lors d'un cryptage transmis par socket d'un PC à Windows Mobile, il est nécessaire de crypter et de décrypter avec la constante "CrypteAnsi" aussi bien sur le mobile que sur le PC&#13;
</description><title>Communication entre PC et mobile</title><link>http://doc.windev.com/en-US/?crypte-fonction#community-content</link><category>Crypte (Fonction)</category></item><item><author>Patinfo</author><pubDate>4 Oct 2011 17:43:00 Z</pubDate><description>si l'on fait :&#13;
tTB est un tableau 0 par 3 chaînes&#13;
sCh est une chaîne=""&#13;
ChaineVersTableau(sCh,tTB)&#13;
&#13;
le nombre de colonnes passera de 3 à 1</description><title>Attention si la chaine est vide !</title><link>http://doc.windev.com/en-US/?chaineverstableau-fonction#community-content</link><category>ChaîneVersTableau (Fonction)</category></item><item><author>Patinfo</author><pubDate>4 Oct 2011 16:55:00 Z</pubDate><description>emailouvresession() ouvre la fenêtre "message" d'Outlook&#13;
problème : après envoi (ou abandon), Outlook reste en mémoire et on ne peut faire un 2nd envoi&#13;
Le problème ne vient pas de Windev car le phénomène est reproduisible à partir de l'option "envoyer vers" du menu contextuel du l'explorateur.&#13;
Comme solution, lancer préalablement outlook :&#13;
LanceAppli(RegistreLit("HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Microsoft Outlook\shell\open\command",""))</description><title>Problème avec outlook</title><link>http://doc.windev.com/en-US/?emailouvresession-fonction#community-content</link><category>EmailOuvreSession (Fonction)</category></item><item><author>Patinfo</author><pubDate>4 Oct 2011 16:43:00 Z</pubDate><description>Avant la version 16, il était nécessaire de faire :&#13;
&#13;
sBuffer est un Buffer=Décrypte(sChaine,sCle,nCryptage)&#13;
sResult est une chaîne=AnsiVersUnicode(sBuffer)  </description><title>Fonctionnement différent depuis la 16 sur windev mobile</title><link>http://doc.windev.com/en-US/?decrypte-fonction#community-content</link><category>Décrypte (Fonction)</category></item><item><author>roland</author><pubDate>3 Oct 2011 10:47:00 Z</pubDate><description>Quand on effectue la RAZ d'une seule rubrique par cette fonction, la propriété nouvelenregistrement du fichier concerné passe aussi à vrai.

Ce qui est logique quand on fait une RAZ de l’ensemble de l'enregistrement, l'est un peu moins quand on fait une RAZ d'une seule rubrique.</description><title>Attention quand on précise une rubrique</title><link>http://doc.windev.com/en-US/?hraz-fonction#community-content</link><category>HRAZ (Fonction)</category></item><item><author>Arnaud BENHAMDINE ( </author><pubDate>28 Sep 2011 21:11:00 Z</pubDate><description>Si une rubrique est à Null (..Null = vrai), alors HCopieEnreg() transformera la valeur Null en valeur 0 ou "" (même limitation que sur l'affectation Fic1.Rub1 = Fic2.Rub2, faire Fic1.Rub1..Null = Fic2.Rub..Null) </description><title>Attention sur les valeurs Null</title><link>http://doc.windev.com/en-US/?hcopieenreg-fonction#community-content</link><category>HCopieEnreg (Fonction)</category></item><item><author>Arnaud BENHAMDINE ( </author><pubDate>28 Sep 2011 21:04:00 Z</pubDate><description>HCopieEnreg() transformera la valeur Null en valeur 0 ou "" (même limitation que sur l'affectation Fic1.Rub1 = Fic2.Rub2)</description><title>Attention avec HCopieEnreg</title><link>http://doc.windev.com/en-US/?gestion-null-dans-hyperfilesql#community-content</link><category>Gestion du NULL dans HyperFileSQL</category></item><item><author>Patinfo</author><pubDate>27 Sep 2011 11:59:00 Z</pubDate><description>Précisé à l'installation mais manquant ici :&#13;
- Le port 4997 utilisé par le coordinateur du cluster doit être ouvert dans le pare-feu Windows.&#13;
- Les ports utilisés par les nœuds et le port 4998 doivent être ouverts dans le pare-feu Windows sur chaque machine serveur.&#13;
</description><title>Ports</title><link>http://doc.windev.com/en-US/?installation-configuration-hyperfilesql-cluster#community-content</link><category>Installation et configuration de HyperFileSQL Cluster</category></item><item><author>Patinfo</author><pubDate>26 Sep 2011 15:33:00 Z</pubDate><description>Dans la version que je viens de télécharger, son extension est .cfg</description><title>Fichier de configuration openssl.cnf</title><link>http://doc.windev.com/en-US/?creation-certificat-ssl-utilisable-avec-socketcreessl#community-content</link><category>Création d'un certificat SSL utilisable avec SocketCréeSSL</category></item><item><author>Phil69</author><pubDate>8 Sep 2011 11:35:00 Z</pubDate><description>Pour utiliser des objets automations dans un Thread secondaire, si vous avez le message d'erreur suivant &#13;
"L'objet automation &lt;votre objet&gt; n'est pas installé sur votre système"&#13;
 il faut au préalable initialisé la bibliothèque DCOM&#13;
&#13;
Au début de votre Thread&#13;
	API("Ole32.DLL","CoInitializeEx",Null,0) 	// Appel à la fonction : initialisation de la bibliothèque COM&#13;
&#13;
Déclaration de votre objet DCOM&#13;
Utilisation de votre objet&#13;
Libération de votre objet&#13;
&#13;
A la fin de votre Thread&#13;
&#13;
	API("Ole32.DLL","CoUninitialize")	 // Toujours accompagné un "CoInitializeEx" par "CoUninitialize" !&#13;
&#13;
Merci à Seb!</description><title>Utilisation dans un Thread</title><link>http://doc.windev.com/en-US/?objet-automation#community-content</link><category>Objet Automation</category></item><item><author>Phil69</author><pubDate>8 Sep 2011 11:33:00 Z</pubDate><description>Pour utiliser des objets automations dans un Thread secondaire, si vous avez le message d'erreur suivant &#13;
"L'objet automation &lt;votre objet&gt; n'est pas installé sur votre système"&#13;
 il faut au préalable initialisé la bibliothèque DCOM&#13;
&#13;
Au début de votre Thread&#13;
	API("Ole32.DLL","CoInitializeEx",Null,0) 	// Appel à la fonction : initialisation de la bibliothèque COM&#13;
&#13;
Déclaration de votre objet DCOM&#13;
Utilisation de votre objet&#13;
Libération de votre objet&#13;
&#13;
A la fin de votre Thread&#13;
&#13;
	API("Ole32.DLL","CoUninitialize")	 // Toujours accompagné un "CoInitializeEx" par "CoUninitialize" !&#13;
&#13;
Merci à Seb!</description><title>Utilisation dans un thread</title><link>http://doc.windev.com/en-US/?objet-automation-dynamique#community-content</link><category>Objet Automation Dynamique</category></item><item><author>jjmonot</author><pubDate>7 Sep 2011 09:14:00 Z</pubDate><description>Si dans votre fenêtre vous créez un champ libellé appelé "LIB_texte", alors vous pouvez écrire dedans avec un appel natif Java dans une procédure globale (appelée par un bouton par exemple) :

======
import android.content.Context;
import android.widget.TextView;

public static void afficheText()
{

	// Variables
	Context tmpContext     = getContexteApplication();
	TextView myTextView;

	myTextView = (TextView) getView ("LIB_texte");
	myTextView.setText("hello world");

}
=============

REMARQUE : le code NE FONCTIONNE PAS dans le SIMULATEUR WM !! Il faut utiliser un vrai téléphone ou tablette, ou utiliser un émulateur ANDROID.
</description><title>Exemple d'utilisation de getView</title><link>http://doc.windev.com/en-US/?particularites-des-applications-pour-android#community-content</link><category>Particularités des applications pour Android</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>29 Aug 2011 15:26:00 Z</pubDate><description>VersPressePapier(ID_CONTACT) ne semble pas fonctionner.&#13;
&#13;
Code valide :&#13;
VersPressePapier({"ID_CONTACT", indChamp})</description><title>VersPressePapier() à partir d'un champ</title><link>http://doc.windev.com/en-US/?verspressepapier-fonction#community-content</link><category>VersPressePapier (Fonction)</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>27 Aug 2011 12:21:00 Z</pubDate><description>Un état avec tableau est alimenté par une requête externe (normale).&#13;
L'état s'affiche normalement en aperçu.&#13;
&#13;
Une des lignes du tableau permet d'ouvrir une fenêtre via un clic.&#13;
Le code est :&#13;
SI HLitRecherchePremier(TB_RGLT,ID_RGLT,MaSource.ID_RGLT) ALORS&#13;
	Ouvre(Fiche_TB_RGLT)&#13;
FIN&#13;
&#13;
L'exécution de ce code provoque l'erreur ci-dessous.&#13;
&#13;
Après plusieurs heures de recherche, il n'y a qu'une explication plausible : la requête a été libérée à la fin du code de l'état et ses rubriques ne sont pas accessibles.&#13;
&#13;
Il faut donc &#13;
- au minimum modifier la documentation pour indiquer cette limitation&#13;
- au mieux faire en sorte que la requête ne soit libérée que lors de la fermeture de l'état&#13;
&#13;
&#13;
Protocole de reproduction :&#13;
Erreur à la ligne 2 du traitement Clic sur LIBELLE_Règlement.&#13;
Vous avez appelé la fonction HLitRecherchePremier.&#13;
Le passage du paramètre 1 a provoqué une erreur.&#13;
&lt;ID_RGLT&gt; n'est ni une rubrique ni un paramètre de la requête &lt;Requête_TB_FACTURE_Relance_Lignes&gt;. </description><title>Impossible de faire référence à la requête d'un état dans un clic</title><link>http://doc.windev.com/en-US/?champ-clicable-dans-etat#community-content</link><category>Champ clicable dans un état</category></item><item><author>Eric LYFOUNG</author><pubDate>25 Aug 2011 13:47:00 Z</pubDate><description>"...FireFox : Pour des raisons de sécurité Internet, FireFox refuse la fermeture du navigateur lorsque celui-ci n'a pas été ouvert par la fonction NavigateurOuvre..."&#13;
&#13;
En fait cette remarque est aussi valable pour Opera, Safari, Chrome&#13;
et surement tous les autres, il n'y a qu'IE qui tolère cette faille.</description><title>Navigateur compatible...</title><link>http://doc.windev.com/en-US/?navigateurferme-fonction#community-content</link><category>NavigateurFerme (Fonction)</category></item><item><author>Bowen</author><pubDate>23 Aug 2011 12:10:00 Z</pubDate><description>Attention, le moteur connait une belle limite à la jointure externe :
Il n'est pas possible de faire une jointure externe avec une condition sur la jointure. Par exemple, je veux lister tous mes articles, et leur fournisseur principal s'ils en ont un. Fichiers utilisés : 
 - Article =&gt; les produits
 - Tiers =&gt; les fournisseurs
 - ArticleTiersRel =&gt; relation entre fournisseur et Article, doté d'un booléen "FournisseurPrincipal". C'est la condition qui pose problème dans cet exemple.
La requête suivante ne renvoie pas les articles qui n'ont pas de fournisseur principal :

SELECT Article_Cle, Article_ID, ArticleTiersRel_FournisseurPrincipal, Tiers_Code
FROM Article
LEFT OUTER JOIN ArticleTiersRel ON ArticleTiersRel_Article_ID = Article_ID AND ArticleTiersRel_FournisseurPrincipal = 1
LEFT OUTER JOIN Tiers ON ArticleTiersRel_Tiers_ID = Tiers_ID

Pour récupérer un résultat correct : il faut transformer la requête comme ceci :

SELECT Article_Cle, Article_ID, ArticleTiersRel_FournisseurPrincipal, Tiers_Code
FROM Article
LEFT OUTER JOIN (
SELECT *
FROM ArticleTiersRel 
LEFT OUTER JOIN Tiers ON ArticleTiersRel_Tiers_ID = Tiers_ID
WHERE ArticleTiersRel_FournisseurPrincipal = 1
) AS ArtTiers ON ArticleTiersRel_Article_ID = Article_ID </description><title>Limitation !</title><link>http://doc.windev.com/en-US/?sql-gestion-des-jointures-inner-join-outer-join#community-content</link><category>SQL : Gestion des jointures (INNER JOIN, OUTER JOIN) </category></item><item><author>Jean-Pierre BLOCH</author><pubDate>13 Aug 2011 17:29:00 Z</pubDate><description>En mode Développement (je n'ai pas testé en mode Exécution), la commande :&#13;
AnalyseurDébut()&#13;
&#13;
crée un fichier avec un nom numérique, comme 56369178.wpf et non pas :&#13;
"Si ce paramètre n'est pas précisé, le fichier aura pour nom &lt;Nom du projet&gt;.WPF et sera enregistré dans le répertoire en cours."</description><title>56369178.wpf</title><link>http://doc.windev.com/en-US/?analyseurdebut-fonction#community-content</link><category>AnalyseurDébut (Fonction)</category></item><item><author>xof</author><pubDate>3 Aug 2011 11:18:00 Z</pubDate><description>A priori, le masque d'affichage proposé par Windev Mobile n'est pas correctement interprété par Androïd.</description><title>Champ durée et Androïd</title><link>http://doc.windev.com/en-US/?champ-saisie#community-content</link><category>Champ de saisie</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>2 Aug 2011 23:22:00 Z</pubDate><description>Quels sont les caractères inclus dans le terme ponctuation ?</description><title>Qu'est-ce qui est dans "Ponctuation"</title><link>http://doc.windev.com/en-US/?sensibleponctuation-propriete#community-content</link><category>SensiblePonctuation (Propriété)</category></item><item><author>Patinfo</author><pubDate>6 Jul 2011 10:22:00 Z</pubDate><description>Il est dit dans la doc que la fonction renvoie "Vrai si les répertoires ont été trouvés"&#13;
Bref, cette fonction renvoie donc vrai si le nom du .jar est faux !</description><title>Valeur renvoyée</title><link>http://doc.windev.com/en-US/?javacharge-fonction#community-content</link><category>JavaCharge (Fonction)</category></item><item><author>Myrrkel</author><pubDate>5 Jul 2011 10:34:00 Z</pubDate><description>l'utilisation de TableActiveFiltre dans une procédure exécutée en tâche de fond (thread) provoque un blocage de la procédure.</description><title>Ne pas utiliser TableActiveFiltre dans un thread</title><link>http://doc.windev.com/en-US/?tableactivefiltre-fonction#community-content</link><category>TableActiveFiltre (Fonction)</category></item><item><author>Jean-Pierre BLOCH</author><pubDate>30 Jun 2011 09:39:00 Z</pubDate><description>Texte à corriger (erreur copier / coller sur hInfoVersion)&#13;
 &#13;
hInfoVersionDétail &#13;
Informations détaillées sur la version des programmes nécessaires au fonctionnement du serveur :&#13;
Les éléments listés sont les suivants :&#13;
Manta.exe ou Manta sous Linux&#13;
Moteur HyperFileSQL (WDHFsrv.dll ou WDHFsrv.so sous Linux)&#13;
Moteur SQL (WDSQLsrv.dll ou WDSQLsrv.so sous Linux)&#13;
Gestion des log (HFLogger.exe)&#13;
MantaManager&#13;
le framework nécessaire au fonctionnement du serveur.&#13;
Cette information est renvoyée sous la forme :&#13;
&lt;Nom du programme&gt; + TAB + &lt;Numéro de version&gt; + TAB + &lt;Numéro de version interne&gt; + TAB + &lt;Date du fichier&gt;</description><title>hInfoVersionDétail</title><link>http://doc.windev.com/en-US/?hinfoserveur-fonction#community-content</link><category>HInfoServeur (Fonction)</category></item><item><author>Patinfo</author><pubDate>29 Jun 2011 12:32:00 Z</pubDate><description>La fonction taille utilisée sur le mémo entre les fonctions hattachemémo et hajoute efface le mémo.&#13;
&#13;
Exemple&#13;
hraz(fic)&#13;
hattachememo(fic,rub_binaire,"c:\fichier")&#13;
trace(taille(fic.rub_binaire))&#13;
hajoute(fic)</description><title>Problème avec la fonction TAILLE</title><link>http://doc.windev.com/en-US/?hattachememo-fonction#community-content</link><category>HAttacheMémo (Fonction)</category></item><item><author>John</author><pubDate>28 Jun 2011 10:50:00 Z</pubDate><description>Le "transfère" de fichier est une copie du fichier, et pas un déplacement.</description><title>Précision sur le terme "transfère"</title><link>http://doc.windev.com/en-US/?ftprecupere-fonction#community-content</link><category>FTPRécupère (Fonction)</category></item><item><author>GC</author><pubDate>7 Jun 2011 13:45:00 Z</pubDate><description>En utilisation d'un filtre sur une colonne, ..occurrence retourne le nb d'éléments affichés</description><title>Table mémoire filtrée par FAA</title><link>http://doc.windev.com/en-US/?occurrence-propriete#community-content</link><category>Occurrence (Propriété)</category></item><item><author>Al</author><pubDate>3 Jun 2011 05:29:00 Z</pubDate><description>The branches in SCM can be recursive - branches can create branches and so on - and the word "Branch" is used quite loosely in the help text.

The normal project method is to have a "Main" project which then has branches and the branches may have branches so the idea of a "Main" project looses context.

You could consider the project that you have open, whether it is the actual main project or any level branch project, as the "main" project

The help does not therefore describe a method of updating the original main project from a branch, it only mentions retrieving information from a branch into the currently open project so whether the currently open project is the original main project or a branch is not important.

When retrieving information from a branch into the current open project, the help refers to the open project as the "Result" and the branch the information is coming from as the "Source".</description><title>Understanding "Branch" terminology</title><link>http://doc.windev.com/en-US/?scm-administrator-managing-the-branches#community-content</link><category>SCM administrator: Managing the branches</category></item><item><author>JFB (3Bi)</author><pubDate>15 May 2011 11:42:00 Z</pubDate><description>Quel est l'ordre d'affichage par défaut?</description><title>Liste des fichiers d'un répertoire</title><link>http://doc.windev.com/en-US/?flistefichier-fonction#community-content</link><category>fListeFichier (Fonction)</category></item><item><author>Jimbo</author><pubDate>10 May 2011 09:16:00 Z</pubDate><description>&#13;
Still, there's is no W-Language command or property to retrieve the internal generation number from the analysis. Logically, only the comparison of the file's generation number and the analysis' generation number can reveal if the file is newer or older than the analysis.&#13;
&#13;
In fact, there is a workaround. It comprises to make an empty database / directory , to HCreate all files of the analysis, to compare files and take action or not, to delete the database or directory. In a multiuser environment, each station has to create its own database or directory. But it is by far not that easy as described here and it involves a lot of code lines. And it eats time on each time a program is started.&#13;
&#13;
Request: make a ..GenerationNumber property available in order to retrieve the internal generation number from the analysis.&#13;
</description><title>..GenerationNumber returns the File's generation number</title><link>http://doc.windev.com/en-US/?generationnumber-property#community-content</link><category>GenerationNumber (Property)</category></item><item><author>Jimbo</author><pubDate>8 May 2011 10:35:00 Z</pubDate><description>&#13;
Parameter 'Initial Value' for function TableInputSearch(..) simply doesn't set the edit control in the Table's column header to the initial value. The edit control stays empty.&#13;
</description><title>Parameter 'Initial value'</title><link>http://doc.windev.com/en-US/?tableinputsearch-function#community-content</link><category>TableInputSearch (Function)</category></item><item><author>Amine MERIMI ( Analy</author><pubDate>6 May 2011 16:08:00 Z</pubDate><description>su on utilise une requête paramétrée comme source de données, la requête est executée sans paramètres même si on initilise les paramètres dans l'évenement d'initialisation du planning.</description><title>impossible d'utiliser une requête paramétrée</title><link>http://doc.windev.com/en-US/?planningaffiche-fonction#community-content</link><category>PlanningAffiche (Fonction)</category></item><item><author>Amine MERIMI ( Analy</author><pubDate>6 May 2011 16:06:00 Z</pubDate><description>Lorsqu'on utilise cette fonction, le rendez-vous est bien sélectionné mais si le planning contient un ascenseur, le planning n'est pas positionné sur le rendez-vous en question</description><title>problème de position par rapport à l'ascenseur du planning</title><link>http://doc.windev.com/en-US/?planningselectplus-fonction#community-content</link><category>PlanningSelectPlus (Fonction)</category></item><item><author>Amine MERIMI ( Analy</author><pubDate>6 May 2011 15:59:00 Z</pubDate><description>Si on supprime une ressource qui contient des rendez-vous, ceux-ci ne sont pas supprimés car si on utilise après la suppression de la ressource la fonction PlanningAjouteRendezVous avec comme paramètre la ressource qu'on a supprimée auparavant, les anciens rendez-vous réapparaissent.</description><title>La fonction ne supprime pas les rendez-vous associées à la ressource supprimée</title><link>http://doc.windev.com/en-US/?planningsupprimeressource-fonction#community-content</link><category>PlanningSupprimeRessource (Fonction)</category></item><item><author>=JBO=</author><pubDate>4 May 2011 18:53:00 Z</pubDate><description>
Attention !
un tableau dynamique non alloué n'est pas correctement reconnu par la fonction TableauInfo().

Démonstration:
Dans le code ci-dessous, la trace affiche 0, c'est à dire Faux.

MonTableau est un tableau dynamique
Trace(TableauInfo(MonTableau,tiDynamique))
</description><title>Un tableau dynamique non alloué n'est pas reconnu par TableauInfo [Bug WD12, et suivants ???]</title><link>http://doc.windev.com/en-US/?tableauinfo-fonction#community-content</link><category>TableauInfo (Fonction)</category></item><item><author>Hilario PEREZ CORONA</author><pubDate>3 May 2011 05:40:00 Z</pubDate><description>Anyone knows a trick to mark a Property as Transient, so i can ignore it when marshalling (serializing) an object?</description><title>Transient Properties?</title><link>http://doc.windev.com/en-US/?property-description-type-variable#community-content</link><category>Property description (Type of variable)</category></item><item><author>Jimbo</author><pubDate>26 Apr 2011 10:32:00 Z</pubDate><description>&#13;
Function currently works for fixed media (memory sticks) only.&#13;
Matching a drive with a certain serial number to its drive letter involves scanning of all available drives of a computer (A: -&gt; Z:), retrieving their serial number and looking for a match.&#13;
</description><title>USBFind(USBDrive, ..)</title><link>http://doc.windev.com/en-US/?usbfind-function#community-content</link><category>USBFind (Function)</category></item><item><author>=JBO=</author><pubDate>21 Apr 2011 12:41:00 Z</pubDate><description>
Dans WinDev 12, il n'est pas possible de surcharger les procédures locales d'un modèle de fenêtre.</description><title>WD12 - Modèles de fenêtre: pas de surcharge des procédures locales</title><link>http://doc.windev.com/en-US/?modeles-fenetres-heritage#community-content</link><category>Modèles de fenêtres et héritage</category></item><item><author>Youssef BENKIRANE ( </author><pubDate>20 Apr 2011 11:47:00 Z</pubDate><description>La fonction ListeSelect  pour une liste ne fonctionne pas sous Webdev 16 lorsqu'elle est appelée dans le code serveur du clic pour une image cliquable.</description><title>Exceptions de fonctionnement</title><link>http://doc.windev.com/en-US/?listeselect-fonction#community-content</link><category>ListeSelect (Fonction)</category></item><item><author>snoozmedia</author><pubDate>24 Mar 2011 19:15:00 Z</pubDate><description>C'est une nouveauté que j'attendais avec impatience depuis que les zones répétées existe.

Ce serait encore plus intéressant dans Webdev.</description><title>Nouveauté intéressante</title><link>http://doc.windev.com/en-US/?afficher-contenu-different-chaque-repetition#community-content</link><category>Afficher un contenu différent à chaque répétition</category></item><item><author>André STASZEWSKI</author><pubDate>19 Mar 2011 13:09:00 Z</pubDate><description>Comment se fait-il que ce super avantage ne soit pas encore implémenté au niveau du code développeur ?&#13;
Vous pourriez peut être compléter la fonction "Dialogue()" ?&#13;
En espérant que cet avantage verra ENFIN le jour dans la version 17....</description><title>Et pour faire la même chose dans nos projet... On fait comment ?</title><link>http://doc.windev.com/en-US/?plus-afficher-message#community-content</link><category>Ne plus afficher un message </category></item><item><author>snoozmedia</author><pubDate>11 Mar 2011 21:41:00 Z</pubDate><description>Vraiment très intéressant cette nouvelle fonctionnalité.

De mes souvenir de C, je trouvais bien déplorable en Windev 5.5 que le polymorphisme ne soit pas possible sous Windev.

J'attends la migration des projets avant le développement de mes prochaines classes !</description><title>Encore moins de temps en développement !</title><link>http://doc.windev.com/en-US/?surcharge-prototype-multisyntaxe#community-content</link><category>Surcharge de prototype / Multisyntaxe</category></item><item><author>Alex</author><pubDate>3 Mar 2011 11:08:00 Z</pubDate><description>Windev 16 v47f :

Le mot Libérer permet de libérer un objet.

Si des objets sont dans un tableau on voit bien NULL à la place de l'objet libéré dans le tableau. Cependant on constate aussi que la RAM n'est pas libérée pour autant !

Dans un traitement qui dure 4 jours et remplit un tableau de 200.000 objets pour transférer 2 Go de données entre deux bases on constate que la RAM est allouée à hauteur de 1.5 Go en pointe. Puis les objets sont libérés au fur et à mesure du traitement. Mais la RAM reste allouée tant que l'exe n'a pas été fermé. 

Il faut analyser le contenu de la RAM avec :
dbgActiveAudit()
dbgDébutDiffMémoire()

... traitement ...

dbgFinDiffMémoire()
dbgEtatAudit(AuditInactif)

En regardant le Dump mémoire du fichier .waudit généré dans le répertoire EXE (Audit dynamique &gt; ouvrir un audit &gt; cliquer sur la ligne Dump mémoire de l'audit) on se rend compte que les objets libérés sont encore en RAM. 

Dans le tableau la RAM a été allouée pour les objets, et même si on lit la valeur NULL elle n'a pas été libérée.

Il faut utiliser TableauSupprimeLigne (en plus de libérer) pour que la RAM soit libérée pour le système : 

POUR TOUT oObj, i de tObj DEPUISFIN
	
        // Attention, si DEPUISFIN n'est pas utilisé, l'indice i de l'objet n'est pas bon car la taille du tableau change à chaque TableauSupprimeLigne, du coup on ne supprime pas toutes les lignes !!! Le tableau n'est pas vide à la fin de la boucle.

	... traitement objet ...


	// A partir d'ici on peu en principe liberer l'objet
	libérer oObj // oObj est NULL mais la RAM n'est pas libérée !!!
	TableauSupprimeLigne(tObj,i) // Libère la RAM utilisée par l'objet

FIN

Je suppose que ne pas libérer la mémoire permet d'aller plus vit dans le traitement du tableau. Cependant le développeur que a utilisé la commande libérer pense que la ram est disponible, hors ce n'est pas le cas. nous avons planté un serveur de prod avec notre traitement qui travaille sur de gros volumes de données et qui dure 4 jours. Le traitement est exécuté directement sur le serveur de façon à être au plus proche de la base de données et éviter le flux TCPIP. 

Suggestions : 
-ajouter dans l'aide des warnings pour expliquer la gestion des tableaux d'objets et de la RAM
-ajouter une fonction (par exemple TableauReduit) qui va libérer la RAM pour les objets NULL qu'on pourrait appeler par exemple tous les 1000 objets traités
-corriger TableauInfo(tObj,tiTailleTotale) qui ne donne pas le bon résultat : ne tient pas compte de la RAM réelle consommée et des objets NULL qui n'ont pas été supprimés avec TableauSupprimeLigne
-dbgDébutDiffMémoire() / dbgDébutDiffMémoire() : expliquer dans l'aide que il faut d'abord activer l'audit avec dbgActiveAudit(), puis aller ouvrir le fichier wdaudit dans le dossier EXE, puis cliquer sur la ligne Dump mémoire pour voir le contenu de la RAM s'afficher
-Ajouter un exemple pas à pas pour le Dump mémoire, car c'est une fonctionnalité puissante

Merci encore pour le Dump mémoire qui nous a permis de comprendre le fonctionnement des tableaux d'objets dynamiques : superbe fonctionnalité à utiliser sans modération :D

Cordialement,

Alexey</description><title>Cas particulier tableau d'objets dynamiques : liberer la RAM réelle !!!</title><link>http://doc.windev.com/en-US/?liberer-mot-reserve#community-content</link><category>Libérer  (Mot réservé)</category></item><item><author>Phil69</author><pubDate>7 Feb 2011 11:23:00 Z</pubDate><description>Attention lorsqu'on utilise la constante ThreadSectionCritique, le fonctionement est forcé en mode MonoProcesseur&#13;
En fait la syntaxe est ThreadMode(ThreadSectionCritique+ThreadMultiProcesseur)</description><title>Utilisation avec ThreadSectionCritique</title><link>http://doc.windev.com/en-US/?threadmode-fonction#community-content</link><category>ThreadMode (Fonction)</category></item><item><author>Bruno LEVIEL</author><pubDate>24 Jan 2011 17:28:00 Z</pubDate><description>Comment déterminer les dimensions de chaque page d'un fichier .pdf ou .tif multipages ?

Je m'en suis sorti en appelant une fonction externe de découpage du pdf en autant de pages, puis InfoBitmap sur chaque page et enfin suppression des fichiers temporaires. Mais une jolie surcharge InfoBitmap(Fichier, Page) serait la bienvenue pour les pdf et les tiff multipages.</description><title>Informations page par page d'un fichier multipages</title><link>http://doc.windev.com/en-US/?infobitmap-fonction#community-content</link><category>InfoBitmap (Fonction)</category></item><item><author>Yann ( ASAPE )</author><pubDate>19 Jan 2011 14:43:00 Z</pubDate><description>Attention : L'insertion de caractères spéciaux (ex : ¤) rend la fonction CookieEcrit sans effet quand le site internet est exécuté avec Safari pour des versions égales ou supérieures à la version 5.0.</description><title>Caractères spéciaux sous Safari</title><link>http://doc.windev.com/en-US/?cookieecrit-fonction#community-content</link><category>CookieEcrit (Fonction)</category></item><item><author>jjmonot</author><pubDate>13 Jan 2011 13:57:00 Z</pubDate><description>Les exemples de séparateurs fournis pour la fonction HImporteTexte ne sont pas légions .... 

Donc, je fournis un exemple de chaine de séparateurs à fournir en paramètres pour un fichier .csv contenant des données séparées par des ; et dont les chaines ne sont pas identifiées par des "" et dont le saut de ligne est un Caract(10) et on pas un CR/LF .... 

cSep est une chaîne
cSep = ";"+ Caract(127) + """" + Caract(127) + Caract(10) + Caract(127) + "."

HImporteTexte(MonfichierHFdansMonAnalyse, "MonFichier.csv","rub1,rub2,rub3",cSep,hImpSansDélimiteur+hImpCréation)


</description><title>Exemple de séparateurs ... </title><link>http://doc.windev.com/en-US/?himportetexte-fonction#community-content</link><category>HImporteTexte (Fonction)</category></item><item><author></author><pubDate>22 Dec 2010 10:15:00 Z</pubDate><description>Le trigger n'est pas éxécuté si la fonction HModifie(), HAjoute, hSupprime..... renvoie faux.</description><title>Trigger Aprés</title><link>http://doc.windev.com/en-US/?les-triggers-simples#community-content</link><category>Les triggers simples</category></item><item><author>Joël CLAIRAC ( STATI</author><pubDate>14 Dec 2010 11:14:00 Z</pubDate><description>Cette fonction est très efficace, mais selon le serveur à interroger (souvent les serveurs d'entreprise avec des noms de domaines propriétaires), la réponse peut être extrêmement longue (entre 30 et 40 minutes)
Serait-il possible d'inclure un TimeOut ?</description><title>Très pratique, efficace, mais des fois très lent</title><link>http://doc.windev.com/en-US/?emailverifieadresse-fonction#community-content</link><category>EmailVérifieAdresse (Fonction)</category></item><item><author>ROSE</author><pubDate>10 Dec 2010 14:20:00 Z</pubDate><description>Ne fonctionne pas avec les rendez-vous périodiques (Outlook 2003).</description><title>Rendez-vous périodique</title><link>http://doc.windev.com/en-US/?rendezvouspremier-fonction#community-content</link><category>RendezVousPremier (Fonction)</category></item><item><author>Vital GAUDREAULT ( S</author><pubDate>17 Nov 2010 00:24:00 Z</pubDate><description>Les fonctions RTF sont trop abstraites. Les résultats sont imprévisibles lorsqu'on fonctionne avec des tables. Le fait de ne pas pouvoir utiliser des colonnes avec un indice nous oblige à toutes sortes de pirouettes dont les résultats ne sont pas constant.</description><title>Les fonctions RTF</title><link>http://doc.windev.com/en-US/?rtfselection-fonction#community-content</link><category>RTFSélection (Fonction)</category></item><item><author>VPA</author><pubDate>3 Nov 2010 14:40:00 Z</pubDate><description>&lt;Valeur&gt; : Chaîne de caractères optionnelle (avec guillemets)
... Si ce paramètre est une chaîne vide ("") ou correspond à NULL, le mot-clé sera supprimé...

Si vous voulez écrire un mot-clé avec une valeur à vide (pour l'exposer à un user ou le transmettre à une autre appli), vous devez utiliser l'API.
En effet, pour l'API, 'vide' ("") et null sont 2 cas différents.

Le INIEcrit a supprimé un cas. (dommage)</description><title>Précision</title><link>http://doc.windev.com/en-US/?iniecrit-fonction#community-content</link><category>INIEcrit (Fonction)</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>21 Oct 2010 10:57:00 Z</pubDate><description>Merci d'ajouter un exemple avec hModifieFichier.&#13;
&#13;
On ne sait jamais quelle syntaxe utiliser pour que le hModifie fonctionne : sur le fichier, sur la requête ???&#13;
&#13;
Merci.</description><title>hModifieFichier</title><link>http://doc.windev.com/en-US/?hexecuterequete-exemple#community-content</link><category>HExécuteRequête (Exemple)</category></item><item><author>Alex</author><pubDate>7 Oct 2010 11:36:00 Z</pubDate><description>Il est possible d'utiliser la propriété ..visible=Vrai/Faux sur une ligne de table. Ceci est très pratique et permet de fabriquer des filtres complexes personnalisés. 

Attention : quand on rend des lignes Invisibles, les lignes somme, moyenne et comptage ne sont pas recalculées.

Ceci a pour effet que l'utilisateur voit un total qui ne correspond pas à ce qui est affiché à l'écran.

Il faudrait pouvoir actualiser le calcul par programmation et en précisant si le calcul doit porter sur toutes les lignes ou seulement celles qui sont visibles.

Cordialement,

Alex</description><title>ligneTotal et lignes invisibles (Windev 15 - 63g)</title><link>http://doc.windev.com/en-US/?programmation-des-calculs-dans-les-colonnes-une-table#community-content</link><category>Programmation des calculs dans les colonnes d'une table</category></item><item><author>Tanguy PRUVOT</author><pubDate>2 Oct 2010 12:35:00 Z</pubDate><description>La fonction ne gère pas les blocs optionnels, marqués avec le symbole (xxx)?

C'est assez génant, car il faut faire une boucle pour savoir le nombre de paramètres à passer... de plus cela provoque une exception 80502

Exemple :
QUAND EXCEPTION DANS
	SI PAS VérifieExpressionRégulière(Minuscule(_sUrl), "([a-z]+://)([^/^:^?]+)(:([0-9]{1,5}))?(/.*)?",sProtocol,sServer,sFullPort,sPort,sPath) ALORS
		:sErreur="Get(): Mauvais format d'URL: "+_sUrl
	RENVOYER Faux
FAIRE
	//...
	ExceptionActive()
FIN</description><title>Variables optionnelles</title><link>http://doc.windev.com/en-US/?verifieexpressionreguliere-fonction#community-content</link><category>VérifieExpressionRégulière (Fonction)</category></item><item><author>=JBO=</author><pubDate>29 Sep 2010 14:40:00 Z</pubDate><description>La fonction TypeVar() retourne la valeur 47 quand elle s'applique au nom logique (sans guillemet) d'un fichier décrit dans l'analyse, ou d'une requête décrite dans le projet.</description><title>TypeVar() d'un nom logique HyperFile retourne la valeur 47</title><link>http://doc.windev.com/en-US/?typevar-fonction#community-content</link><category>TypeVar (Fonction)</category></item><item><author>=JBO=</author><pubDate>25 Sep 2010 22:29:00 Z</pubDate><description>
Remarque 1: Différents composants ActiveX... DLL et aussi EXE !

WinDev donne accès aux DLL ActiveX, mais aussi aux EXE ActiveX créés avec Visual Basic.


Remarque 2: Instanciation d'une classe globale

Qu'il s'agisse d'une classe dont la propriété d'instanciation est définie globale ou non, la manière de l'instancier est identique dans WinDev.

En revanche, il faut savoir qu'une classe dont l'instanciation est globale, implique qu'il n'y aura qu'une instance de cette classe pour le processus.

Si on instancie plusieurs fois une classe globale, la référence d'objet est toujours la même, c'est à dire qu'on manipule le même unique objet automation.
</description><title>Remarques sur l'utilisation de composants ActiveX VB</title><link>http://doc.windev.com/en-US/?appel-une-dll-ecrite-visual-basic#community-content</link><category>Appel d'une DLL écrite en Visual Basic</category></item><item><author>Alex</author><pubDate>9 Sep 2010 14:44:00 Z</pubDate><description>L'installation générée peut être analysée avec l'Audit Statique, qui montre la répartition des fichiers par taille et par type.

Ceci est très pratique pour détecter les fichiers redondants ou  volumineux.

Petite remarque (bug?) : 
WDINST a une option pour optimiser les DLL du FrameWork. Elle sert en principe à ne pas intégrer en double les fichiers DLL du l'application et les fichiers DLL de l'installeur. Hors avec l'Audit Statique on remarque que les DLL sont présentes en double (bug?). 

Pour une application de petite taille les dll peuvent représenter 60% de la taille de l'installation. Si ce bug était corrigé on pourrait donc gagner 30%. Pour une appli grand public, en téléchargement sur Internet, ça peut représenter un coût en bande passante qui n'est pas négligeable.

Source : 
http://forum.pcsoft.fr/thread.awp?groupid=pcsoft.fr.windev&amp;postid=228247&amp;cur=228247&amp;start=21&amp;v=2</description><title>Audit Statique</title><link>http://doc.windev.com/en-US/?interface-editeur-installation-wdinst#community-content</link><category>Interface de l'éditeur d'installation WDINST </category></item><item><author>PeHoBe</author><pubDate>18 Aug 2010 14:53:00 Z</pubDate><description>This function works great but is missing one neat feature, the assignment towards members of subclasses (Typically useful when implementing a Model-View-Controller architecture).&#13;
&#13;
Here's a simplified example:&#13;
1) Classes used&#13;
Class CustomerClass&#13;
   CustomerID is int&#13;
   Name is string&#13;
   CityID is int&#13;
   City is a CityClass&#13;
END&#13;
&#13;
Class CityClass&#13;
   CityID is int&#13;
   CityName is string&#13;
   PostalCode is string&#13;
   CountryID is int&#13;
   Country is CountryClass&#13;
END&#13;
&#13;
Class CountryClass&#13;
   CountryID is int&#13;
   CountryISOCode is string&#13;
   CountryName is string&#13;
END&#13;
&#13;
2) Query used to assign to class members&#13;
Assume we have a query that joins customers with the city table and the country table resulting in a data source with the format:&#13;
CustomerID | Name | CityID | CityName | PostalCode | CountryID | CountryISOCode | CountryName&#13;
&#13;
3) Array used&#13;
MyArray is array of 0 CustomerClass&#13;
&#13;
4) Now we assign this query result to the array of CustomerClass objects using the FichierVersTableau(MyArray, MyQuery) function. This would unfortunately only assign the members at the level of the Customer Class instance and not the members of the subclass City instance and the subsubclass Country instance limitating this feature in real life OO scenario's. </description><title>LIMITATION: Missing auto assignment on subclass members</title><link>http://doc.windev.com/en-US/?filetoarray-function#community-content</link><category>FileToArray (Function)</category></item><item><author>PeHoBe</author><pubDate>18 Aug 2010 14:51:00 Z</pubDate><description>This function works great but is missing one neat feature, the assignment towards members of subclasses (Typically useful when implementing a Model-View-Controller architecture).&#13;
&#13;
Here's a simplified example:&#13;
1) Classes used&#13;
Class CustomerClass&#13;
   CustomerID is int&#13;
   Name is string&#13;
   CityID is int&#13;
   City is a CityClass&#13;
END&#13;
&#13;
Class CityClass&#13;
   CityID is int&#13;
   CityName is string&#13;
   PostalCode is string&#13;
   CountryID is int&#13;
   Country is CountryClass&#13;
END&#13;
&#13;
Class CountryClass&#13;
   CountryID is int&#13;
   CountryISOCode is string&#13;
   CountryName is string&#13;
END&#13;
&#13;
2) Query used to assign to class members&#13;
Assume we have a query that joins customers with the city table and the country table resulting in a data source with the format:&#13;
CustomerID | Name | CityID | CityName | PostalCode | CountryID | CountryISOCode | CountryName&#13;
&#13;
3) Array used&#13;
MyArray is array of 0 CustomerClass&#13;
&#13;
4) Now we assign this query result to the array of CustomerClass objects using the FichierVersTableau(MyArray, MyQuery) function. This would unfortunately only assign the members at the level of the Customer Class instance and not the members of the subclass City instance and the subsubclass Country instance limitating this feature in real life OO scenario's.</description><title>LIMITATION: Missing auto assignment on subclass members</title><link>http://doc.windev.com/en-US/?fichierverstableau-fonction#community-content</link><category>FichierVersTableau (Fonction)</category></item><item><author>Luigi ZANATTA</author><pubDate>11 Aug 2010 10:36:00 Z</pubDate><description>Un exemple tout fini pour parcourir un fichier XML sans connaitre les noms de balises; alors que j'ai mis 3 jours (ne connaissant rien à XML) pour le faire.&#13;
&#13;
Ma Doc pas à jour sur mon PC;&#13;
&#13;
Argghhhh!!!</description><title>Parcours fichier XML</title><link>http://doc.windev.com/en-US/?xmldocument-exemple#community-content</link><category>xmlDocument (Exemple)</category></item><item><author>Alex</author><pubDate>10 Aug 2010 12:54:00 Z</pubDate><description>Citation : 
Cependant, il n'est pas possible de modifier le contenu de la cellule résultat par programmation.

Mon besoin : 
Justement j'ai eu besoin d'afficher le total selon un critère (sans prendre toutes les lignes du tableau).

Par exemple :
Quand on sélectionne une seule ligne ça calcule le total de tout le tableau, et quand on sélectionne 3 lignes ça calcule le total de la sélection.

Le calcul manuel est ultra simple : 
pour toute ligne sélectionnée du tableau mSomme+=macolonne. Il manque juste la possibilité d'affecter la cellule macolonne[ligneTotal]=mSomme. 
Il y a déjà la possibilité de débrancher le calcul auto : TABLE..TotauxActif = Faux (dans ce cas on devrait pouvoir affecter des valeurs perso dans ligneMoyenne, ligneTotal et ligneComptage).

J'espère que cela sera possible bientôt.

Cordialement,

Alex</description><title>Dommage</title><link>http://doc.windev.com/en-US/?programmation-des-calculs-dans-les-colonnes-une-table#community-content</link><category>Programmation des calculs dans les colonnes d'une table</category></item><item><author>Philippe CARRISSIMOU</author><pubDate>4 Aug 2010 15:06:00 Z</pubDate><description>Lors du clonage d'un champ de type fenêtre interne, Il ne faut pas que celui-ci soit ancré. L'ancrage doit être appliqué par programmation juste après le "ChampClone()". &#13;
Dans le cas où l'ancrage est déjà appliqué, le moteur d'affichage de PCSoft ne tient pas compte des nouveaux paramètres (position ou dimension) et il applique ceux lors de la création (dans l'éditeur).&#13;
</description><title>Le clonage et l'ancrage</title><link>http://doc.windev.com/en-US/?champclone-fonction#community-content</link><category>ChampClone (Fonction)</category></item><item><author></author><pubDate>4 Aug 2010 12:03:00 Z</pubDate><description>Cette fonction ne vous apporte pas satisfaction, parce que les caractères spéciaux passent à travers le filtre (exemple : vous utilisez HFiltreCommencePar(Fichier, "Type", "12-"), vous obtenez "12-XXX", mais "123-XXX" s'incruste) ?
La solution : ouvrez l'analyse de votre projet, celle du fichier Hyperfile que vous cherchez à trier, et sélectionnez la clé de parcours (dans mon exemple : "Type"). Cochez ensuite la case en bas à droite : "Sensible aux espaces, ponctuation et car. spéciaux"
Admirez disparaitre "123-XXX" de vos résultats.

Bonne journée ! </description><title>Caractères spéciaux</title><link>http://doc.windev.com/en-US/?hfiltrecommencepar-fonction#community-content</link><category>HFiltreCommencePar (Fonction)</category></item><item><author></author><pubDate>4 Aug 2010 11:57:00 Z</pubDate><description>Vous utilisez la deuxième syntaxe de HFiltre avec l'opérateur ]= (commence par), mais les caractères spéciaux passent à travers le filtre (exemple : vous cherchez "Type ]= '12-'", vous obtenez "12-XXX", mais "123-XXX" s'incruste) ?
La solution : ouvrez l'analyse de votre projet, celle du fichier Hyperfile que vous cherchez à trier, et sélectionnez la clé de parcours (dans mon exemple : "Type"). Cochez ensuite la case en bas à droite : "Sensible aux espaces, ponctuation et car. spéciaux"
Admirez disparaitre "123-XXX" de vos résultats.

Bonne journée !</description><title>Caractères spéciaux</title><link>http://doc.windev.com/en-US/?hfiltre-fonction#community-content</link><category>HFiltre (Fonction)</category></item><item><author>ALAIN NOGER ( SIP Ph</author><pubDate>31 Jul 2010 16:41:00 Z</pubDate><description>La variable est déclarée : NomArchive&#13;
&#13;
avec a dislexie elle devient à l'usage : MonArchive </description><title>Tout le monde a vu l'erreur!</title><link>http://doc.windev.com/en-US/?zipcree-exemple#community-content</link><category>zipCrée (Exemple)</category></item><item><author>Tanguy PRUVOT</author><pubDate>25 Jul 2010 13:06:00 Z</pubDate><description>Il est possible d'utiliser ces API pour effectuer une temporisation :

API("libc.so.6","usleep",nMsec)

API("libc.so.6","sleep",nSec)</description><title>Support Linux</title><link>http://doc.windev.com/en-US/?multitache-fonction#community-content</link><category>Multitâche (Fonction)</category></item><item><author>ALAIN NOGER ( SIP Ph</author><pubDate>6 Jul 2010 23:30:00 Z</pubDate><description>Pourquoi la présence de ACCES 2007 n'est pas reconnue ? lorsque je veux importer des descriptions de Fichers / Tables, la fonction n'aboutit pas et demande des versions TRES anciennes comme 2003 (la plus récente proposée!!&#13;
Peut-être y avez vous déjà songé, si oui pour quand ?&#13;
&#13;
Merci</description><title>Utiliser des Bases Données Importantes ACCES (*.MDB)</title><link>http://doc.windev.com/en-US/?acces-natif-access#community-content</link><category>Accès Natif Access</category></item><item><author>roland</author><pubDate>26 Jun 2010 18:30:00 Z</pubDate><description>Conditions sur les dates type timestamp dans les requetes MySql : AAAAMMJJHHMNSS entre guillemets simples.&#13;
Ne pas utiliser le format AAAA-MM-JJ HH:MN:SS qui ne fonctionne pas.</description><title>Format des dates pour MySql</title><link>http://doc.windev.com/en-US/?hexecuterequetesql-fonction#community-content</link><category>HExécuteRequêteSQL (Fonction)</category></item><item><author>Cédric JULLIEN</author><pubDate>22 Jun 2010 13:56:00 Z</pubDate><description>Si on laisse cocher le "Mode Ajax" dans la zone répétée avec rupture et que sur une de celle-ci, on a qu'une occurrence, alors la ligne ne s'affiche pas. Il suffit de décocher cette option pour afficher la ligne.</description><title>Cas : Affichage d'une seule occurence dans une rupture</title><link>http://doc.windev.com/en-US/?rupture-dans-une-zone-repetee#community-content</link><category>Rupture dans une zone répétée</category></item><item><author>Maax°(51)°</author><pubDate>17 Jun 2010 11:28:00 Z</pubDate><description>Pour modifier l'image de fond d'un champ cellule par programmation en code serveur, on peut utiliser l'astuce suivante :

Dans les propriétés "Bord,fond" de la cellule, dans le champ "Image de fond:", écrivez : [%gsMonImage;2%] et validez.

Dans le code des déclarations des globales de la page, décrivez une variable :
gsMonImage est une chaîne

Et ensuite, modifier le contenu de cette variable avec le chemin relatif "Web" de votre image de fond :

gsMonImage = "/" + RepertoireWeb() + "/monimage.jpg"</description><title>Changer l'image de fond par programmation</title><link>http://doc.windev.com/en-US/?champ-cellule#community-content</link><category>Champ Cellule</category></item><item><author>Yazzid</author><pubDate>15 Jun 2010 12:19:00 Z</pubDate><description>Il est préférable d'utiliser un résultat de type numérique.</description><title>Dans un état</title><link>http://doc.windev.com/en-US/?propriete#community-content</link><category>X (Propriété)</category></item><item><author>Eric LAURENT ( SYSTE</author><pubDate>11 Jun 2010 14:47:00 Z</pubDate><description>Si vous désirez gérer la parité Mark et Space, il faut donner la bonne valeur à la variable de parité:

0 Aucune parité 
1 Parité paire 
2 Parité impaire 
3 Mark
4 Space

Exemple:
sFixeParamètre(1, 9600, 3, 8, 0)

Port 1, 9600 bauds, parité Mark, 8 bits de données, 1 bit de stop
</description><title>Pour gérer la parité Mark et Space</title><link>http://doc.windev.com/en-US/?sfixeparametre-fonction#community-content</link><category>sFixeParamètre (Fonction)</category></item><item><author>=JBO=</author><pubDate>9 Jun 2010 13:28:00 Z</pubDate><description>Un traitement d'exception spécifique ne peut pas être déclaré dans un autre traitement d'exception spécifique.</description><title>Pas d'imbrication de traitements d'exception spécifique</title><link>http://doc.windev.com/en-US/?mecanisme-des-exceptions-specifiques#community-content</link><category>Mécanisme des exceptions spécifiques</category></item><item><author>Arkane</author><pubDate>6 Jun 2010 21:14:00 Z</pubDate><description>Me voilà bien, j'ai confondu champ et fenêtre, et je n'avais même pas testé, honte sur moi.
Voilà la vraie solution, cette fois bien testée :
Modifiez l'altitude de VotreChamp à 100 mais changez AUSSI l'altitude du champ qui vous gène (par exemple à 1, si vous voulez qu'il soit derrière tous les autres). Si vous ne changez pas aussi l'altitude de l'autre champ, ça ne fonctionnera pas (en tous cas, pas pour moi).</description><title>Erreur au-dessus</title><link>http://doc.windev.com/en-US/?plan-propriete#community-content</link><category>Plan (Propriété)</category></item><item><author>Arkane</author><pubDate>6 Jun 2010 19:14:00 Z</pubDate><description>Vous voulez mettre un champ sur plusieurs plans (mais pas sur tous), mais lorsque vous utilisez VotreChamp..plan, le champ se retrouve à... l'arrière-plan de votre plan, derrière un autre champ ? (J'espère que vous avez suivi :D )

La solution, la voici :
Ajoutez la ligne : "FenEtat(VotreChamp, ActifDevant)" ;)

Bonne journée !</description><title>Champ sur plusieurs plans</title><link>http://doc.windev.com/en-US/?plan-propriete#community-content</link><category>Plan (Propriété)</category></item><item><author>Gilles</author><pubDate>1 Jun 2010 13:56:00 Z</pubDate><description>Quand j'exporte à partir d'un courriel Lotus Notes à un fichier .EML, la date du courriel est remplacé par la date du jours.  Pas très pratique pour l'archivage des courriels</description><title>A partir de Lotus Notes</title><link>http://doc.windev.com/en-US/?emailconstruitsource-fonction#community-content</link><category>EmailConstruitSource (Fonction)</category></item><item><author>lo²</author><pubDate>28 May 2010 15:16:00 Z</pubDate><description>Remarque sur cette note concernant Windev Mobile 15 :&#13;
En mode test, HConnecteAccèsDistant ne prend pas de temps dans le cas où un accès est déjà présent.&#13;
Sur un iPAQ (modèle HP d'une formation PCSOFT), en wifi, la fonction prend 1-4 secondes.</description><title>Ouverture d'une analyse déjà ouverte</title><link>http://doc.windev.com/en-US/?hconnecteaccesdistant-fonction#community-content</link><category>HConnecteAccèsDistant (Fonction)</category></item><item><author>John</author><pubDate>18 May 2010 16:27:00 Z</pubDate><description>on peut utiliser les constantes hRubXXX décrites dans la page http://doc.pcsoft.fr/fr-FR/?Type, au lieu d'utiliser les valeurs 0 à 31</description><title>Constantes pour les types de rubriques</title><link>http://doc.windev.com/en-US/?hlisterubrique-fonction#community-content</link><category>HListeRubrique (Fonction)</category></item><item><author>rominfo68</author><pubDate>4 May 2010 15:53:00 Z</pubDate><description>// correct use...
sUser_Name is string = "Vince"
NextTitle("Welcome")
InfoBuild("Hello %1" + CR + "Welcome!",sUser_Name)</description><title>Example</title><link>http://doc.windev.com/en-US/?infobuild-function#community-content</link><category>InfoBuild (Function)</category></item><item><author>Yannick RUSCH ( 2io </author><pubDate>3 May 2010 08:49:00 Z</pubDate><description>Si on déclare un tableau à 2 dimensions
MonTab est un tableau de x par y chaines
Dimension(MonTab) renvoit x*y

Pour connaitre le nombre de lignes, il faut donc diviser le résultat par le nombre de colonnes.</description><title>Précision</title><link>http://doc.windev.com/en-US/?dimension-exemple#community-content</link><category>Dimension (Exemple)</category></item><item><author>Zubual</author><pubDate>2 May 2010 20:41:00 Z</pubDate><description>J'ai un tableau dans lequel, il n'y a qu'une ligne. Cette fonction me renvoie 4. Quand je boucle suivant le même exemple, j'ai une erreur qui m'indique que je ne peux aller que jusqu'à 2.&#13;
&#13;
D'où ma perplexité !!!</description><title>Perplexe</title><link>http://doc.windev.com/en-US/?dimension-exemple#community-content</link><category>Dimension (Exemple)</category></item><item><author>PC SOFT</author><pubDate>28 Apr 2010 11:34:00 Z</pubDate><description>You may also use the ExeGetPID function with the exeTID parameter.
See http://doc.pcsoft.fr/en-US/?exegetpid for more details.</description><title>GetCurrentThreadId</title><link>http://doc.windev.com/en-US/?functions-for-managing-the-threads#community-content</link><category>Functions for managing the threads</category></item><item><author>Pascal Scheffers</author><pubDate>28 Apr 2010 10:58:00 Z</pubDate><description>If you want to know the thread id, use the following code:

PROCEDURE GetCurrentThreadId()
RESULT API("kernel32.dll","GetCurrentThreadId")

Useful for debugging thread code, dbgAssert'ing that only one thread is accessing global procedures/variables, etc.</description><title>GetCurrentThreadId</title><link>http://doc.windev.com/en-US/?functions-for-managing-the-threads#community-content</link><category>Functions for managing the threads</category></item><item><author>Maax°(51)°</author><pubDate>1 Apr 2010 10:17:00 Z</pubDate><description>Toute variable passée en paramètre à une procédure est par défaut passée par adresse. Ce qui signifie que si cette variable est modifiée dans la procédure, elle est donc également modifiée dans le code appelant.
On peut ainsi considéré que la variable est globale, tout du moins entre le code appelant et la procédure elle-même.

Pour passer des paramètres par référence (copie), il suffit soit d'entourer la variable par des parenthèses dans le code appelant lors de l'appel à la procédure ou (et c'est mieux) utiliser le mot clé LOCAL dans la déclaration des paramètres de la procédure. Ainsi, la variable passée en paramètre sera uniquement locale à la procédure. De cette façon, les modifications apportées sur cette variable dans la procédure ne seront pas reportées dans le code appelant.</description><title>En réponse à JP Block</title><link>http://doc.windev.com/en-US/?variable-globale-locale#community-content</link><category>Variable globale et locale</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>31 Mar 2010 12:04:00 Z</pubDate><description>En l'absence de précision, il semble qu'une variable passée à une procédure globale soit Locale à cette procédure.&#13;
&#13;
Cela semble contraire avec une recommendation (blog ?) sur le typage et la définition comme Local des paramètres passés à une procédure globale.</description><title>Variable définie dans une procédure globale</title><link>http://doc.windev.com/en-US/?variable-globale-locale#community-content</link><category>Variable globale et locale</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>29 Mar 2010 17:52:00 Z</pubDate><description>Cela ne figure pas explicitement mais les propriétés d'une connexion existante peuvent être accèder :&#13;
&#13;
// Retrouver la Base de données associée à une connexion&#13;
MaConnexion est une Connexion&#13;
...&#13;
sBaseDeDonnées est une Chaîne = MaConnexion..BaseDeDonnées</description><title>Les Propriétés d'une connexion existantes sont accessibles</title><link>http://doc.windev.com/en-US/?connexion-type-variable#community-content</link><category>Connexion (Type de variable)</category></item><item><author>S LAUNAY</author><pubDate>29 Mar 2010 11:36:00 Z</pubDate><description>&#13;
Pour personnaliser l'apparence d'un onglet, il suffit de spécifier, l'image des volets de l'onglet, dans l'onglet "Style" de la description d'un onglet.&#13;
&#13;
&#13;
Pour Windev et Windev Mobile&#13;
Cette image est composé des 2 états suivants : sélectionné, repos.&#13;
&#13;
Pour Webdev&#13;
Cette image est composé des 2 états suivants : repos, sélectionné, &#13;
</description><title>Attention à l'ordre des états</title><link>http://doc.windev.com/en-US/?champ-onglet#community-content</link><category>Champ onglet</category></item><item><author>S LAUNAY</author><pubDate>29 Mar 2010 11:30:00 Z</pubDate><description>Pour personnaliser l'apparence d'un menu, il suffit de spécifier, dans l'onglet "Style" de la description d'un menu. :&#13;
- une image de fond pour le menu principal &#13;
- une image de fond pour les sous_menus&#13;
&#13;
&#13;
Ces images sont composé des 4 états suivants: repos, survolé, enfoncé, grisé.&#13;
Permettant de gérer les caractéristiques d'affichage en fonction de l'action réalisée par l'utilisateur.</description><title>Utilisation d'image pour personnaliser un champ menu </title><link>http://doc.windev.com/en-US/?menu-une-page#community-content</link><category>Menu d'une page</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>24 Mar 2010 13:59:00 Z</pubDate><description>Soit une combo fichier qui n'est pas reliée à un fichier de l'analyse (exemple : gpwlogin).&#13;
&#13;
Elle est reliée au fichier par programmation :&#13;
// description de la combo&#13;
Login..RubriqueParcourue = "Login"&#13;
Login..RubriqueAffichee = "Login"&#13;
Login..RubriqueMémorisée = "Login"&#13;
Login..FichierParcouru = "GPWUtilisateur"&#13;
&#13;
Vous transformez la combo liste fichier en une combo table fichier (ajout de 2 colonnes).&#13;
Le nouveau code est :&#13;
// description de la combo&#13;
Login..RubriqueParcourue = "Login"&#13;
Login..RubriqueAffichée = "Login|Nom|Prenom"&#13;
Login..RubriqueMémorisée = "Login"&#13;
Login..FichierParcouru = "GPWUtilisateur"&#13;
&#13;
Testez : la combo est vide.&#13;
&#13;
Pour la faire fonctionner, il faut impérativement relier la combo à N'IMPORTE quel fichier de l'analyse (ridicule !)&#13;
&#13;
&#13;
Pour info, si l'on veut éditer les colonnes (et seulement dans ce cas), le message suivant apparaît :&#13;
"Il est nécessaire de choisir la source parcourue avant de pouvoir éditer les colonnes."</description><title>Combo Table fichier doit être associée à un fichier</title><link>http://doc.windev.com/en-US/?rubriqueaffichee-propriete#community-content</link><category>RubriqueAffichée (Propriété)</category></item><item><author>Arnaud</author><pubDate>18 Mar 2010 22:33:00 Z</pubDate><description>Pour récupérer la valeur mémorisée d'une combo dans un champ table, il faut utiliser la syntaxe suivante :
COL_COMBO[TABLE_Table1][ListeSelect(COL_COMBO)]</description><title>Combo dans un champ table</title><link>http://doc.windev.com/en-US/?glien-fonction#community-content</link><category>gLien (Fonction)</category></item><item><author>Bowen</author><pubDate>16 Mar 2010 16:14:00 Z</pubDate><description>Pour information, le masque RFC2822 m'a posé un problème inattendu.
On ne peut avoir que 22 caractères avant le @robase.</description><title>Attention à la RFC 2822</title><link>http://doc.windev.com/en-US/?masquesaisie-propriete#community-content</link><category>MasqueSaisie (Propriété)</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>8 Mar 2010 13:42:00 Z</pubDate><description>hRecalculeIdAuto : L'identifiant automatique de l'enregistrement sera re-calculé lors de l'écriture.&#13;
Re-calculé par rapport à quoi ?&#13;
Un exemple SVP.</description><title>hRecalculeIdAuto : ???</title><link>http://doc.windev.com/en-US/?hmodifie-fonction#community-content</link><category>HModifie (Fonction)</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>27 Feb 2010 13:52:00 Z</pubDate><description>Si le champs en cours correspond à une colonne de table, ChampsEnCours() renvoie le nom de la colonne sans précision du fait qu'il s'agit d'une colonne de table.&#13;
Ceci est gênant car un champ de la fenêtre peut avoir le même nom et il devient impossible de savoir duquel il s'agit.&#13;
&#13;
La fonction devrait dans ce cas renvoyer le nom de la table aussi :&#13;
sChampsEnCours est Chaîne = ChampsEnCours  // sChampsEnCours contient "Table.Col_NomClient"</description><title>ChampsEnCours devrait renvoyer la table</title><link>http://doc.windev.com/en-US/?champencours-fonction#community-content</link><category>ChampEnCours (Fonction)</category></item><item><author>Alain PETTITI ( Cons</author><pubDate>26 Feb 2010 11:15:00 Z</pubDate><description>Pour selectionner l'element d'un tree map  l'instruction est la suivante :&#13;
montreemap= numero de l'indice du treemap&#13;
Exemple :&#13;
pour avoir la selection du dernier élément d'un tree map &#13;
&#13;
MonTreeMap= MonTreeMap..occurrence&#13;
&#13;
pour avoir le premier élément d'un tree map &#13;
&#13;
MonTreeMap=1</description><title>Sélection d'un element d'un treemap</title><link>http://doc.windev.com/en-US/?manipuler-treemap-par-programmation#community-content</link><category>Manipuler un TreeMap par programmation</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>25 Feb 2010 18:00:00 Z</pubDate><description>Faut-il comprendre qu'il est possible de modifier l'Id automatique ou simplement qu'il est possible de forcer le Numéro du prochain Id automatique ?</description><title>hFixeIdAuto et hForceIdAuto</title><link>http://doc.windev.com/en-US/?hmodifie-fonction#community-content</link><category>HModifie (Fonction)</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>25 Feb 2010 17:57:00 Z</pubDate><description>Dans le texte :&#13;
"Pour plus de détails sur la gestion de l'identifiant automatique lors de la modification d'un enregistrement, consultez Gestion de l'identifiant automatique lors d'une modification."&#13;
&#13;
le lien "Gestion de l'identifiant automatique lors d'une modification" renvoie à la page "Gestion des identifiants automatiques lors de l'ajout d'un enregistrement" qui ne dit rien sur les Modifications.</description><title>Lien "Gestion de l'identifiant automatique lors d'une modification"</title><link>http://doc.windev.com/en-US/?hmodifie-fonction#community-content</link><category>HModifie (Fonction)</category></item><item><author>Gregoire GUYON</author><pubDate>23 Feb 2010 12:01:00 Z</pubDate><description>LDAPSession.Hôte = "serveur.domaine.local" est erronée.

Diagnostic : 
----------
La connexion passe bien lors du LDAPConnecte. 
Des erreurs aléatoires surviennent ensuite lors de l'utilisation de la commande LDAPRecherche avec le message "Erreur LDAP".

Je pense que cette situation de produit lorsqu'il y a plusieurs contrôleurs pour un même domaine ActiveDirectory.

LDAPRecherche fonctionne sans erreur en se connectant avec le nom de domaine comme nom d'hôte :

LDAPSession.Hôte = "domaine.local"</description><title>Propriété Hôte : Syntaxe érronée dans la documentation.</title><link>http://doc.windev.com/en-US/?ldapconnecte-fonction#community-content</link><category>LDAPConnecte (Fonction)</category></item><item><author>Gregoire GUYON</author><pubDate>23 Feb 2010 11:47:00 Z</pubDate><description>LDAPSession.Hôte = "serveur.domaine.local" est Faux.
Diagnostic : Erreur aléatoire "Erreur LDPA".

La bonne syntaxe est :
LDAPSession.Hôte = "domaine.local"

</description><title>Propriété Hôte : Syntaxe éronnée dans la documentation.</title><link>http://doc.windev.com/en-US/?ldapconnecte-fonction#community-content</link><category>LDAPConnecte (Fonction)</category></item><item><author>Joshua</author><pubDate>16 Feb 2010 10:35:00 Z</pubDate><description>Je conseil d'utiliser la fonction changeAlias.&#13;
Dans certains cas l'utilisation de la propriété empéche la recupération de la taille et la position de la fenêtre et de ses champs.&#13;
La fonction changeAlias permet de recupérer correctement ces informations.</description><title>Différence avec changeAlias(fonction)</title><link>http://doc.windev.com/en-US/?alias-propriete#community-content</link><category>Alias (Propriété)</category></item><item><author>Fabrice</author><pubDate>29 Jan 2010 21:13:00 Z</pubDate><description>malgré la limitation, il est possible de placer tout de même des champs de type interrupteur : &#13;
en fait, si je veux 3 cases à cocher, je crée 3 interrupteurs à 1 option, au lieu d'1 interrupteur à 3 options.&#13;
Je peux alors gérer chaque interrupteur sans préciser de n° d'option, en donnant juste le nom de l'interrupteur, et en vérifiant son état à vrai ou faux.&#13;
&#13;
Exemple : &#13;
- une table nommée TABLE_Exemple, avec COLONNE_1 de type conteneur&#13;
- j'y place 3 interrupteurs, nommés CHK_1, CHK_2 et CHK_3&#13;
- chaque interrupteur ne comporte qu'une option (1 case)&#13;
&#13;
je peux alors taper par programmation : &#13;
NumLigne est un entier&#13;
&#13;
NumLigne = TableSelect(TABLE_Exemple)&#13;
si TABLE_Exemple.COLONNE_1[NumLigne].CHK_1 = vrai ALORS&#13;
     info("Ligne " + NumLigne + " : Interrupteur 1 coché")&#13;
FIN&#13;
&#13;
si TABLE_Exemple.COLONNE_1[NumLigne].CHK_2 = vrai ALORS&#13;
     info("Ligne " + NumLigne + " : Interrupteur 2 coché")&#13;
FIN&#13;
&#13;
si TABLE_Exemple.COLONNE_1[NumLigne].CHK_3 = vrai ALORS&#13;
     info("Ligne " + NumLigne + " : Interrupteur 3 coché")&#13;
FIN&#13;
&#13;
(cette astuce est également utilisable sur les zones répétées)&#13;
&#13;
&#13;
</description><title>Contourner la limitation sur les champs Interrupteur</title><link>http://doc.windev.com/en-US/?colonne-table-type-conteneur#community-content</link><category>Colonne de table de type Conteneur</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>27 Jan 2010 16:13:00 Z</pubDate><description>nBoutons est un entier = IparamètreAperçu() &#13;
devrait renvoyer une valeur représentant les boutons sélectionnés.&#13;
&#13;
Je n'ai pas trouvé de fonction équivalente.</description><title>Quels boutons seront actifs ?</title><link>http://doc.windev.com/en-US/?iparametreapercu-fonction#community-content</link><category>iParamètreAperçu (Fonction)</category></item><item><author>klbsjpolp</author><pubDate>24 Jan 2010 14:40:00 Z</pubDate><description>Les données sont lues en prenant en compte les lignes et les colonnes vides. Ce fonctionnement est le même qu'en utilisant la fonction xlsDonnée() avec le dernier paramètre à Faux (ce qui n'est pas le fonctionnement par défaut).</description><title>Cellule calcule les lignes et colonnes vides</title><link>http://doc.windev.com/en-US/?xlsdocument-type-variable#community-content</link><category>xlsDocument (Type de variable)</category></item><item><author>Arnaud DUSSART ( AST</author><pubDate>22 Dec 2009 23:44:00 Z</pubDate><description>Bonjour,&#13;
&#13;
Vous trouverez à cette adresse une liste non exhaustive mais conséquente de valeurs possibles en fonction des navigateurs.&#13;
&#13;
http://fr.wikipedia.org/wiki/User-Agent&#13;
&#13;
Cordialement ...</description><title>Valeurs Agent Utilisateur (User-Agent)</title><link>http://doc.windev.com/en-US/?httprequete-fonction#community-content</link><category>HTTPRequête (Fonction)</category></item><item><author>Jean-Pierre BLOCH ( </author><pubDate>16 Dec 2009 22:32:00 Z</pubDate><description>La fonction EstNumerique s'appuie sur la fonction Val() (pour cette fonction) :&#13;
&#13;
Dès qu'un caractère de &lt;Chaîne source&gt; ne peut pas constituer un nombre, la fonction Val arrête d'interpréter &lt;Chaîne source&gt;, et retourne le nombre correspondant aux caractères déjà lus.&#13;
Cela peut s'avérer très pratique, ainsi VAL(100$) retourne 100, plutôt qu'une erreur.&#13;
EstNumérique() et Val() se complète. En effet si Val(x) vaut zéro, cela peut indiquer soit que X=0 soit que X n'est pas un nombre. EstNumérique() permet de distinguer ces deux cas.&#13;
Val("ABC") // retourne 0&#13;
EstNumérique("ABC") // retourne faux</description><title>Associer Val() et EstNumérique()</title><link>http://doc.windev.com/en-US/?estnumerique-fonction#community-content</link><category>EstNumérique (Fonction)</category></item></channel></rss>

