<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de dsr57 - Windev</title>
	<atom:link href="https://blog.developpez.com/dsr57/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/dsr57</link>
	<description>Blog sur l&#039;edi windev</description>
	<lastBuildDate>Thu, 04 Jun 2015 11:46:25 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Nouvelle adresse du BLOG</title>
		<link>https://blog.developpez.com/dsr57/p12874/non-classe/nouvelle-adresse-du-blog</link>
		<comments>https://blog.developpez.com/dsr57/p12874/non-classe/nouvelle-adresse-du-blog#comments</comments>
		<pubDate>Thu, 04 Jun 2015 11:44:35 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=339</guid>
		<description><![CDATA[Bonjour à tous Le site Developpez.com a mis en place un nouveau système de blog. Vous trouverez mes nouveaux billets au lien suivant : Le Blog de DSR57 &#8211; Programmation WinDev Merci à tous et bon dev.]]></description>
				<content:encoded><![CDATA[<p>Bonjour à tous</p>
<p>Le site <a href="http://www.developpez.com/" title="developpez.com" target="_blank">Developpez.com</a> a mis en place un nouveau système de blog. Vous trouverez mes nouveaux billets au lien suivant : </p>
<p><a href="http://www.developpez.net/forums/blogs/25867-dsr57/" title="Le Blog de DSR57 - Programmation WinDev" target="_blank">Le Blog de DSR57 &#8211; Programmation WinDev</a></p>
<p>Merci à tous et bon dev. </p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinDev : Normes de programmation V2</title>
		<link>https://blog.developpez.com/dsr57/p12818/windev/windev-normes-de-programmation-v2</link>
		<comments>https://blog.developpez.com/dsr57/p12818/windev/windev-normes-de-programmation-v2#comments</comments>
		<pubDate>Tue, 30 Dec 2014 21:44:03 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Windev]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[méthodes]]></category>
		<category><![CDATA[normes de programmation]]></category>
		<category><![CDATA[procédures]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=325</guid>
		<description><![CDATA[Introduction Dans une suite de billets j&#8217;avais présenté une norme de nommage des différents éléments WinDev que je préconise et met en place lors de mes différentes programmations. Avec ce billet, je propose une amélioration sur le nom des procédures visant à améliorer la compréhension des traitements effectués par la celles-ci en lisant leur nom, pour cela j&#8217;ai mis en place un nouvelle partie dans le nom visant à isoler l&#8217;action de la procédure.Dans un [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction </strong></p>
<p>Dans une suite de billets j&rsquo;avais présenté une norme de nommage des différents éléments WinDev que je préconise et met en place lors de mes différentes programmations. Avec ce billet, je propose une amélioration sur le nom des procédures visant à améliorer la compréhension des traitements effectués par la celles-ci en lisant leur nom, pour cela j&rsquo;ai mis en place un nouvelle partie dans le nom visant à isoler l&rsquo;action de la procédure.Dans un premier temps nous allons voir la mise en place de cette amélioration pour les procédures globales, ensuite les procédures locales et pour terminer les procédures (généralement appelées méthodes) de classe. </p>
<p></p>
<ul>
Liste des billets sur les normes de programmation en WinDev :</p>
<li><a href="http://blog.developpez.com/dsr57/p12149/windev/windev-normes-de-programmation-pour-les-types-simples" title="Windev : Normes de programmation pour les variables de type simple" target="_blank">WinDev : normes de programmation pour les variables de type simple</a></li>
<li><a href="http://blog.developpez.com/dsr57/p12170/windev/windev-norme-de-programmation-pour-les-procedures-et-les-champs-graphiques" title="Windev : Norme de programmation pour les procédures et les champs graphiques" target="_blank">Windev : normes de programmation pour les procédures et les champs graphiques</a></li>
<li><a href="http://blog.developpez.com/dsr57/p12189/windev/windev-normes-de-programmation-pour-la-poo" title="Windev : normes de programmation pour la POO" target="_blank">WinDev : normes de programmation pour la POO</a></li>
</ul>
<p><strong>Global au projet (Collections de procédures)</strong></p>
<ul>
Les procédures déclarées dans une collection de procédures ont une portée globale au projet. Le nom sera composé de 3 parties : </p>
<li>préfixe : obligatoire et fixe «GProc ». « G » pour globale au projet, « Proc » pour procédure ;</li>
<li>action : obligatoire, cette partie permet en un mot de définir le type d’action de la procédure. Cf. liste des actions ci-dessous.
</li>
<li>nom : obligatoire, il doit être explicite pour permettre à la lecture de comprendre le traitement de la procédure. Par convention le nom est écrit en minuscule, sans accent, sans caractère spéciaux (€,$,%, …), et commence par une minuscule. Si le nom de l’élément est composé de plusieurs mots, la première lettre du mot est en majuscule. </li>
</ul>
<p>Les trois parties seront séparées par le caractère « _ ».</p>
<p><u>Exemple : </u></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">GProc_Ini_VarGbl : Procédure qui initialise les variables globales au projet.</div></div>
<ul>
<u>Liste des actions :</u> </p>
<li>Afc : Affichage ;</li>
<li>Ajt : Ajout ;</li>
<li>Clc : Clic sur un bouton ;</li>
<li>Ent : Entrée dans un champ ;</li>
<li>Ini : Initialisation ;</li>
<li>Lst: Récupération d’une liste de valeur ou une liste d’objet ;</li>
<li>Raz : remise à zéro ;</li>
<li>Rch : Recherche ;</li>
<li>Rcp : Récupération d’une valeur ou d’un objet ;</li>
<li>Sel : Sélection (ligne de table, combo) ;</li>
<li>Sor : Sortie d’un champ ;</li>
<li>Spr : Supprime/suppression ; </li>
<li>Vrf : Vérification.</li>
</ul>
<p>Cette liste est non exhaustive, elle doit être complétée/améliorée/modifiée selon les besoins de chacun. J&rsquo;ai volontairement oublié l&rsquo;action EXE, pour éviter une utilisation massive et/ou abusive, l&rsquo;utilisation de cette action est réservée pour l&rsquo;exécution requêtes SQL, Script, &#8230;</p>
<p><strong>Local à un élément du projet</strong></p>
<ul>
Les procédures déclarées dans un élément local du projet ont un portée local, elles ne sont pas accessibles depuis un élément extérieur. Le nom sera composé en 3 parties :</p>
<li>Préfixe : Obligatoire et fixe «lProc ».</li>
<li>Action : Obligatoire, cette partie permet en un mot de définir le type d’action de la procédure. Cf. liste des actions dans le paragraphe « Global au projet (Collections de procédures) ». </li>
<li>Nom : Obligatoire, il doit être explicite pour permettre à la lecture de comprendre le traitement de la procédure. Par convention le nom est écrit en minuscule, sans accent, sans caractère spéciaux (€,$,%, …), et commence par une minuscule. Si le nom de l’élément est composé de plusieurs mots, la première lettre du mot est en majuscule. </li>
</ul>
<p>Les trois parties seront séparées par le caractère «_ ».</p>
<p><u>Exemple :</u></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">lProc_Sel_typeMediaCbx : Procédure qui gère la sélection d’une ligne dans la liste Type de média. <br />
LProc_Ini_typeMediaCbx : Procédure qui gère l’initialisation de la combo type de média.</div></div>
<p></p>
<p><strong>Classes</strong></p>
<ul>
Les procédures de classes sont soit public, protégée, ou privée, dans la convention de nommage, cette notion n’est pas prise en compte, car lors de la programmation en objet, WinDev fait la complétion automatique en proposant uniquement les procédures avec une portée accessible. Le nom est composé de deux parties : </p>
<li>Action : Obligatoire, cette partie permet en un mot de définir le type d’action de la procédure. Cf. liste des actions dans le paragraphe « Global au projet (Collections de procédures) ». Une exception est appliquée pour les procédures des gestions des requêtes, la partie action commence par « Exe »
</li>
<li>Nom : Obligatoire, il doit être explicite pour permettre à la lecture de comprendre le traitement de la procédure. Par convention le nom est écrit en minuscule, sans accent, sans caractère spéciaux (€,$,%, …), et commence par une minuscule. Si le nom de l’élément est composé de plusieurs mots, la première lettre du mot est en minuscule.
</li>
</ul>
<p><u>Exemple :</u></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">lst_societe : récupère la liste des sociétés<br />
&nbsp; &nbsp; &nbsp; &nbsp; lst_clientDebiteur : récupère la liste des clients qui ont un compte débiteur</div></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinDev 20 et ses nouveautés</title>
		<link>https://blog.developpez.com/dsr57/p12817/windev/windev-20-et-ses-nouveautes</link>
		<comments>https://blog.developpez.com/dsr57/p12817/windev/windev-20-et-ses-nouveautes#comments</comments>
		<pubDate>Mon, 29 Dec 2014 21:22:37 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Windev]]></category>
		<category><![CDATA[WinDev 20]]></category>
		<category><![CDATA[nouveautés]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=322</guid>
		<description><![CDATA[Comme chaque année quand on est développeur Windev (Webdev, Windev Mobile), le mois d’octobre signifie nouvelle version des produits PC-Soft et un nombre de nouveautés à couper le souffle . Cette année WinDev 20 avec &#8230; 920 nouveautés annoncées pour la version la suite d’EDI. L’ensemble des nouveautés sont consultable sur le site officiel : liste des 920 nouveautés (PDF). Dans cet article, je vais faire une énumération des nouveautés WinDev que je trouve personnellement [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Comme chaque année quand on est développeur Windev (Webdev, Windev Mobile), le mois d’octobre signifie nouvelle version des produits PC-Soft et un nombre de nouveautés à couper le souffle . Cette année WinDev 20 avec &#8230; 920 nouveautés annoncées pour la version la suite d’EDI. L’ensemble des nouveautés sont consultable sur le site officiel : <a href="http://www.pcsoft-windev-webdev.com/brochure-WX20-simple.pdf">liste des 920 nouveautés (PDF)</a>.<br />
Dans cet article, je vais faire une énumération des nouveautés WinDev que je trouve personnellement / professionnellement intéressantes. Attention, cette liste est établie par rapport mes propres besoins, vous en trouverez surement d’autres.</p>
<ul>
<li><strong>Nouveauté 36 : graphes, nouvel aspect des bulles</strong></li>
<p>Une amélioration intéressante pour l’utilisateur finale pour faciliter la lecture d&rsquo;un graphe. </p>
<li><strong>Nouveauté 37 : Mire de lecture de graphe</strong></li>
<p>Pour la même raison que la nouveauté 36, une amélioration intéressante pour l&rsquo;utilisateur </p>
<li><strong>Nouveauté 46 : Une fenêtre D&rsquo;IHM + une fenêtre de code simultanément à l&rsquo;écran</strong></li>
<p>Avec cette nouveauté, l&rsquo;espace de travail s&rsquo;améliore. un écran pour l&rsquo;interface et un autre pour le code. Reste à convaincre les responsable des achats pour un deuxième écran </p>
<li><strong>Nouveauté 53 : Ordre de tabulations recalculé a chaque modification</strong></li>
<p>Avec cette nouveauté, fini les oublis lors d&rsquo;une modification d&rsquo;IHM effectuée dans la dernière ligne droite du projet. </p>
<li><strong>Nouveauté 54 : Utilisation des ancrages en redimensionnement</strong></li>
<p>Cette nouveauté entraîne un gain de temps et un respect des proportions existantes lors de modification d&rsquo;IHM. </p>
<li><strong>Nouveauté 59 : Erreur d&rsquo;IHM, champs avec bulles d&rsquo;aide identiques signalées</strong></li>
<p>Allez soyons honnête &#8230; Vious n&rsquo;avez jamais oublier de modifier la bulle d&rsquo;aide. Avec cette nouveauté WinDev nous le rappellera en erreur d&rsquo;IHM.</p>
<li><strong>Nouveauté 63 : Centraliser les codes de mise à jour des champs d&rsquo;une fenêtre</strong></li>
<ul>
Alors cette nouveauté, c&rsquo;est surement celle que je trouve la plus &#8230; à mon gôut au sens développement et lisibilité du code. Dans mes développements et mes explications sur WinDev je met en avant la centralisation du code de mise à jour des IHM dans les fenêtres pour : </p>
<li>centraliser le code</li>
<li>améliorer la lisibilité</li>
<li>faciliter la ré utilisabilité</li>
<li>faciliter les modifications</li>
</ul>
<p>Je ne peux que inciter à l&rsquo;utilisation de ce nouveau traitement</p>
<li><strong>Nouveauté 91 : MVP, comment l&rsquo;utiliser facilement</strong></li>
<p>Après la centralisation du code dans la nouveauté 63, la séparation des actions avec le Design Pattern MVP.<br />
Impatient de voir le code à mettre en place pour utiliser ce Design Pattern</p>
<li><strong>Nouveauté 92 : Procédure interne</strong></li>
<p>Avec cette nouveauté, on va pouvoir un niveau d&rsquo;encapsulation et permette de diviser des parties de programmes procédural en sous taches qui n&rsquo;ont d&rsquo;intérêt et de sens que localement. Cela permet d&rsquo;éviter l’accumulation de fonction globale qui ont un usage très restreint.</p>
<li><strong>Nouveauté 95, 96, 97 : Programmation parallèle</strong></li>
<p>Ensemble de nouveautés intéressantes pour faciliter la programmation parallèle.</p>
<li><strong>Nouveauté 109 : Affectation multiples groupées</strong></li>
<p>Enfin, un des gros manques des versions précédentes, je n&rsquo;ai jamais compris pourquoi on pouvais déclarer sur une seule ligne des variables mais qu&rsquo;il fallait plusieurs ligne ou bloc de code pour initialiser plusieurs variables </p>
<li><strong>Nouveauté 113 : Design Pattern façade (objets associés)</strong></li>
<p>Cette nouveauté augmente les possibilités POO de WinDev. </p>
<li><strong>Nouveauté 125 : Coordonnées géographique, fonctions géoAzimuth et géoDistance</strong></li>
<p>Ces deux fonctions sont très intéressantes pour des logiciels utilisant des cartes, des adresses, des tournées, &#8230;</p>
<li><strong>Nouveauté 203 : Jauge à progression infinie</strong></li>
<p>Cette nouveauté met fin au code à plusieurs états pour afficher correctement une jauge infinie</p>
</ul>
<p><strong>Conclusion</strong></p>
<p>Cette version de Windev emmène des nouveautés intéressantes autant que ce soit au niveau développement que graphique pour le client. Le nombre de 920 me parait gonflé, mais ça c’est l’aspect commercial, et cela devient une question d&rsquo;habitude. Chacun qui verra un intérêt à migrer ou pas</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinDev &amp; Design pattern : Strategie</title>
		<link>https://blog.developpez.com/dsr57/p12788/windev/windev-design-pattern-strategie</link>
		<comments>https://blog.developpez.com/dsr57/p12788/windev/windev-design-pattern-strategie#comments</comments>
		<pubDate>Tue, 11 Nov 2014 19:49:39 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Design pattern]]></category>
		<category><![CDATA[POO]]></category>
		<category><![CDATA[Windev]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=316</guid>
		<description><![CDATA[Le premier article sur le donne une définition des design patterns (ou encore « patron de conception » en français), il en existe trois types : construction : ils définissent comment faire l&#8217;instanciation et la configuration des classes et des objets ; structure : ils définissent comment organiser les classes d&#8217;un programme dans une structure plus large (séparant l&#8217;interface de l&#8217;implémentation) ; comportement : ils définissent comment organiser les objets pour que ceux-ci collaborent (distribution [&#8230;]]]></description>
				<content:encoded><![CDATA[<ul>
Le premier article sur le <a href="http://vformet.developpez.com/tutoriels/windev/2014/" title="Design pattern singleton" target="_blank"></a> donne une définition des design patterns (ou encore « patron de conception » en français), il en existe trois types :</p>
<li>construction : ils définissent comment faire l&rsquo;instanciation et la configuration des classes et des objets ;
</li>
<li>structure : ils définissent comment organiser les classes d&rsquo;un programme dans une structure plus large (séparant l&rsquo;interface de l&rsquo;implémentation) ;</li>
<li>comportement : ils définissent comment organiser les objets pour que ceux-ci collaborent (distribution des responsabilités) et expliquent le fonctionnement des algorithmes impliqués.
</li>
</ul>
<p>Dans cet article, nous allons voir la mise en place du design pattern Stratégie de type comportemental.</p>
<p><a href="http://vformet.developpez.com/tutoriels/windev/strategy/" title="Lire la suite de l'article" target="_blank">Lire la suite de l&rsquo;article</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PC-Soft annonce la version 20 de WinDev, WebDev et WinDev Mobile</title>
		<link>https://blog.developpez.com/dsr57/p12762/non-classe/pc-soft-annonce-la-version-20-de-windev-webdev-et-windev-mobile</link>
		<comments>https://blog.developpez.com/dsr57/p12762/non-classe/pc-soft-annonce-la-version-20-de-windev-webdev-et-windev-mobile#comments</comments>
		<pubDate>Wed, 15 Oct 2014 21:18:58 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=310</guid>
		<description><![CDATA[Pc-Soft vient d&#8217;annoncer sur son site officiel les versions 20 de : WinDev ; WebDev ; WinDev Mobile. Message informant la nouvelle version dans les &#171;&#160;Actualités&#160;&#187; du site pc-soft : 14/10/14 &#8211; WinDev 20, WebDev 20 et WinDev Mobile 20 PC SOFT a le plaisir de vous annoncer la version 20 de WinDev, WebDev et WinDev Mobile. Page spéciale pour la nouvelle version : http://www.pcsoft.fr/annonce20/index.html Liste des 920 nouveautés : http://www.pcsoft-windev-webdev.com/&#8230;X20-simple.pdf]]></description>
				<content:encoded><![CDATA[<p>Pc-Soft vient d&rsquo;annoncer sur son site officiel les versions 20 de :</p>
<ul>
<li>WinDev ;</li>
<li>WebDev ;</li>
<li>WinDev Mobile.</li>
</ul>
<p>Message informant la nouvelle version dans les &laquo;&nbsp;Actualités&nbsp;&raquo; du site pc-soft : </p>
<blockquote><p>14/10/14 &#8211; WinDev 20, WebDev 20 et WinDev Mobile 20<br />
PC SOFT a le plaisir de vous annoncer la version 20 de WinDev, WebDev et WinDev Mobile.
</p></blockquote>
<p>Page spéciale pour la nouvelle version : <a href="http://www.pcsoft.fr/annonce20/index.html" title="http://www.pcsoft.fr/annonce20/index.html">http://www.pcsoft.fr/annonce20/index.html</a></p>
<p>Liste des 920 nouveautés : <a href="http://www.pcsoft-windev-webdev.com/...X20-simple.pdf" title="http://www.pcsoft-windev-webdev.com/...X20-simple.pdf">http://www.pcsoft-windev-webdev.com/&#8230;X20-simple.pdf</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinDev Express 19 et WinDev Mobile Express 19 disponible</title>
		<link>https://blog.developpez.com/dsr57/p12761/windev-19/307</link>
		<comments>https://blog.developpez.com/dsr57/p12761/windev-19/307#comments</comments>
		<pubDate>Wed, 15 Oct 2014 21:12:51 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Express]]></category>
		<category><![CDATA[Windev 19]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=307</guid>
		<description><![CDATA[Pc-Soft ouvre le téléchargement de la version 19 de : WinDev Express : http://www.pcsoft.fr/windev/WD-Express.htm ; WinDev Mobile Express : http://www.pcsoft.fr/windevmobile/WM-Express.htm. Les versions &#171;&#160;Express&#160;&#187; de la suite Pc-SOFT sont des versions limitées spéciales de WinDev et WinDev Mobile. Cette version a pour but de vous permettre de découvrir les principales fonctionnalités de WinDev et WinDev Mobile. Son utilisation est gratuite et illimitée dans le temps mais comporte des limitations par rapport à la version commerciales, la [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Pc-Soft ouvre le téléchargement de la version 19 de :<br />
WinDev Express : <a href="http://www.pcsoft.fr/windev/WD-Express.htm" title="http://www.pcsoft.fr/windev/WD-Express.htm">http://www.pcsoft.fr/windev/WD-Express.htm</a> ;<br />
WinDev Mobile Express : <a href="http://www.pcsoft.fr/windevmobile/WM-Express.htm" title="http://www.pcsoft.fr/windevmobile/WM-Express.htm">http://www.pcsoft.fr/windevmobile/WM-Express.htm</a>.</p>
<p>Les versions &laquo;&nbsp;Express&nbsp;&raquo; de la suite Pc-SOFT sont des versions limitées spéciales de WinDev et WinDev Mobile.<br />
Cette version a pour but de vous permettre de découvrir les principales fonctionnalités de WinDev et WinDev Mobile.</p>
<p>Son utilisation est gratuite et illimitée dans le temps mais comporte des limitations par rapport à la version commerciales, la liste des limitations est consultable à l&rsquo;URL suivante : <a href="http://www.pcsoft.fr/windev/express/limitations.htm" title="http://www.pcsoft.fr/windev/express/limitations.htm">http://www.pcsoft.fr/windev/express/limitations.htm</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sybase : Procédures stockées</title>
		<link>https://blog.developpez.com/dsr57/p12636/windev-14/sybase-procedures-stockees</link>
		<comments>https://blog.developpez.com/dsr57/p12636/windev-14/sybase-procedures-stockees#comments</comments>
		<pubDate>Fri, 06 Jun 2014 20:30:56 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Procédure stockée]]></category>
		<category><![CDATA[SYBASE]]></category>
		<category><![CDATA[Windev 14]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=281</guid>
		<description><![CDATA[Contexte du billet Windev : 14 Accès natif : Oui Base de données : Sybase Explications : appel d&#8217;une procédure stockée sur un serveur de base de données SYBASE Introduction Je viens d&#8217;être confronté à un problème, l&#8217;appel d&#8217;une procédure stockée sur un serveur SYBASE via un accès natif. Avant de commencer à coder l&#8217;ensemble du cahier des charges, je commence par écrire une simple procédure et à coder la communication entre WinDev et Sybase. [&#8230;]]]></description>
				<content:encoded><![CDATA[<h3>Contexte du billet</h3>
<p><u>Windev :</u> 14<br />
<u>Accès natif :</u> Oui<br />
<u>Base de données :</u> Sybase<br />
<u>Explications :</u> appel d&rsquo;une procédure stockée sur un serveur de base de données SYBASE</p>
<h3>Introduction</h3>
<p>Je viens d&rsquo;être confronté à un problème, l&rsquo;appel d&rsquo;une procédure stockée sur un serveur SYBASE via un accès natif. Avant de commencer à coder l&rsquo;ensemble du cahier des charges, je commence par écrire une simple procédure et à coder la communication entre WinDev et Sybase. La procédure effectue uniquement un INSERT. Code la procédure stockée :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">create procedure test (@ps_RglMepIdn int, @ps_datDeb date, @ps_datFin date)<br />
as<br />
begin<br />
&nbsp; &nbsp; insert into tmp values (@ps_RglMepIdn, @ps_datDeb, @ps_datFin) <br />
end</div></div>
<p>Procédure OK, maintenant la communication &#8230;. Premier réflexe, regarder l&rsquo;aide PC-SOFT. La documentation depuis la version 14 a très peu évoluée, vous pouvez la consulter à l&rsquo;adresse suivante :<br />
<a href="http://doc.pcsoft.fr/fr-FR/?acces-natif-sybase-recuperer-valeur-sortie-une-procedure-stockee-executee-sur-serveur" title="" target="_blank">http://doc.pcsoft.fr/fr-FR/?acces-natif-sybase-recuperer-valeur-sortie-une-procedure-stockee-executee-sur-serveur</a></p>
<h3>On suit la doc &#8230;</h3>
<p>Documentation avec un exemple, impeccable je reproduit l&rsquo;exemple, déclaration d&rsquo;une variable de type source de données et fonction HExécuteRequêteSQL. Une erreur est retournée (cf. image ci-dessous), Le problème semble de provenir d&rsquo;un problème de correspondance de type de variable. </p>
<p align="center"><img src="http://blog.developpez.com/dsr57/files/2014/06/erreurSybase.jpg" alt="Texte de l'erreur retournée" /></p>
<p>J&rsquo;ai amélioré l&rsquo;exemple pour prendre en charge la correspondance des variables sans succès, SYBASE reçoit les variables à NULL</p>
<p>Ci-dessous le code écrit d&rsquo;après la doc :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">li_test est un entier sur 4 octet<br />
ld_dateDeb est une Date<br />
ld_dateFin est une Date<br />
<br />
li_test=gt_LstRglMep[li_i][2]<br />
ld_dateDeb=gt_LstRglMep[li_i][3]<br />
ld_dateFin=gt_LstRglMep[li_i][4]<br />
&nbsp; &nbsp; <br />
maProc est une Source de Données<br />
maProc.ps_RglMepIdn=li_test<br />
maProc.ps_datDeb=ld_dateDeb<br />
maProc.ps_datFin=ld_dateFin<br />
<br />
&nbsp; &nbsp; <br />
SI PAS HExécuteRequêteSQL(maProc,connexion,hRequêteSansCorrection,&quot;test @ps_RglMepIdn, @ps_datDeb, @ps_datFin&quot;) ALORS<br />
&nbsp; &nbsp; &nbsp; &nbsp; Erreur(HErreurInfo(hErrComplet))<br />
FIN</div></div>
<p>Malgré de nombreuses tentatives, je n&rsquo;ai pas réussi à faire appel à une procédure stockée SYBASE en utilisant une variable de type sources de données. </p>
<h4>Une solution </h4>
<p>Une solution, déclarer une variable de type chaîne pour gérer l&rsquo;appel à la procédure stockée et modifier le paramètre &laquo;&nbsp;mode&nbsp;&raquo; de la fonction HExécuteRequêteSQL, celui-ci doit contenir les constantes : </p>
<li>hRequêteSansCorrection;</li>
<li>hSansBind.</li>
<p>Exemple de code :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">SI PAS HExécuteRequêteSQL(&quot;ProcStock_MajEmp&quot;,connexion,hRequêteSansCorrection+hSansBind,&quot;test @ps_RglMepIdn=&quot;+gt_LstRglMep[li_i][2]+&quot;, @ps_datDeb='&quot;+gt_LstRglMep[li_i][3]+&quot;', @ps_datFin='&quot;+gt_LstRglMep[li_i][4]+&quot;' &quot;) ALORS<br />
&nbsp; &nbsp; &nbsp; &nbsp; Erreur(&quot;Erreur de l'exécution de la mise à jour des emplacements : &quot;+RC+HErreurInfo())<br />
FIN</div></div>
<h4>Conclusion</h4>
<p>Ce billet permet d&rsquo;apporter une solution pour appeler une procédure stockée SYBASE dans l&rsquo;EDI WinDev en version 14. La solution ne prend pas en compte si la procédure stockée retourne une valeur. Dans une prochain billet, j&rsquo;effectuerai un test sur la version 19 pour tenter de reproduire l&rsquo;exemple de la doc.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design pattern de création : Singleton</title>
		<link>https://blog.developpez.com/dsr57/p12602/windev/design-pattern-de-creation-singleton</link>
		<comments>https://blog.developpez.com/dsr57/p12602/windev/design-pattern-de-creation-singleton#comments</comments>
		<pubDate>Wed, 30 Apr 2014 20:18:39 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Design pattern]]></category>
		<category><![CDATA[POO]]></category>
		<category><![CDATA[Windev]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=277</guid>
		<description><![CDATA[Depuis les débuts de la programmation, les développeurs ont rencontré différents problèmes de conception. La plupart de ces problèmes sont récurrents. Pour éviter aux autres développeurs de buter sur les mêmes soucis, certains groupes de développeurs ont développé ce qu&#8217;on appelle des design patterns (ou patrons de conception en français). Un design pattern est une solution à un problème récurrent dans la conception d&#8217;applications orientées objet. Il décrit alors une solution standard, utilisable dans la [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Depuis les débuts de la programmation, les développeurs ont rencontré différents problèmes de conception. La plupart de ces problèmes sont récurrents. Pour éviter aux autres développeurs de buter sur les mêmes soucis, certains groupes de développeurs ont développé ce qu&rsquo;on appelle des design patterns (ou patrons de conception en français). Un design pattern est une solution à un problème récurrent dans la conception d&rsquo;applications orientées objet. Il décrit alors une solution standard, utilisable dans la conception de logiciel.<br />
Dans une série d&rsquo;articles, j&rsquo;explique comment mettre en place les design pattern dans l&rsquo;EDI WinDev.<br />
l&rsquo;article sur le design pattern singleton est disponible sur le site developpez.com : <a href="http://vformet.developpez.com/tutoriels/windev/2014/" title="WinDev &amp; Design Pattern : Singleton" target="_blank">Windev &amp; Desin pattern : Singleton</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classes abstraites en Windev (version 18 et antérieur)</title>
		<link>https://blog.developpez.com/dsr57/p12601/windev/wd-18-classes-abstaites</link>
		<comments>https://blog.developpez.com/dsr57/p12601/windev/wd-18-classes-abstaites#comments</comments>
		<pubDate>Wed, 30 Apr 2014 20:07:43 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[POO]]></category>
		<category><![CDATA[Windev]]></category>
		<category><![CDATA[Windev 17]]></category>
		<category><![CDATA[Windev 18]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=270</guid>
		<description><![CDATA[Avant la version 19 (annoncée sur le site officiel le 04.10.2013), WinDev ne gérait pas explicitement les classes abstraites. Il était possible de les utiliser en modifiant l&#8217;accessibilité du constructeur de la classe de base. Cet article explique étapes par étapes comment déclarer une classe abstraite. Cela vous permettra d&#8217;utiliser cette notion de POO sans forcément upgrader votre version de WinDev. Un article expliquant comment mettre en place cette possibilité est disponible sur le site [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Avant la version 19 (annoncée sur le site officiel le 04.10.2013), WinDev ne gérait pas explicitement les classes abstraites. Il était possible de les utiliser en modifiant l&rsquo;accessibilité du constructeur de la classe de base. Cet article explique étapes par étapes comment déclarer une classe abstraite. Cela vous permettra d&rsquo;utiliser cette notion de POO sans forcément upgrader votre version de WinDev.</p>
<p>Un article expliquant comment mettre en place cette possibilité est disponible sur le site developpez.com : <a href="http://vformet.developpez.com/tutoriels/windev/2013/" title="classes abstraites en Windev (version antérieure à 19)" target="_blank">classes abstraites en WinDev (version antérieure à 19)</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Héritage en WinDev : BUG  ou subtilité du W-langage (Version 18)</title>
		<link>https://blog.developpez.com/dsr57/p12378/non-classe/heritage-en-windev-bug-version-18</link>
		<comments>https://blog.developpez.com/dsr57/p12378/non-classe/heritage-en-windev-bug-version-18#comments</comments>
		<pubDate>Sun, 08 Dec 2013 21:33:57 +0000</pubDate>
		<dc:creator><![CDATA[dsr57]]></dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Windev]]></category>
		<category><![CDATA[Windev 18]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/dsr57/?p=235</guid>
		<description><![CDATA[Ce billet est une suite d&#8217;un précédent sur l&#8217;héritage en windev : Héritage en WinDev : BUG ???, celui-ci se concluait par une subtiltilé du W-Langage. Je vous informe que celle-ci persiste en version 18, j&#8217;aurais l&#8217;occasion de tester prochainement la version 19, affaire à suivre ou plutôt BUG à suivre&#8230;]]></description>
				<content:encoded><![CDATA[<p>Ce billet est une suite d&rsquo;un précédent sur l&rsquo;héritage en windev : <a href="http://blog.developpez.com/dsr57/p12254/windev/heritage-en-windev-bug" title="Héritage en WinDev : BUG  ou subtilité du W-langage???" target="_blank">Héritage en WinDev : BUG ???</a>, celui-ci se concluait par une subtiltilé du W-Langage. Je vous informe que celle-ci persiste en version 18, j&rsquo;aurais l&rsquo;occasion de tester prochainement la version 19, affaire à suivre ou plutôt BUG à suivre&#8230;</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
