<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Lazarus</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Forum d'entraide sur Lazarus, l'EDI RAD multiplateforme basé sur Free Pascal]]></description>
		<language>fr</language>
		<lastBuildDate>Fri, 17 Apr 2026 13:16:11 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Lazarus</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title><![CDATA[[Lazarus] [4.6/Linux] Pas à pas capricieux]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183140&amp;goto=newpost</link>
			<pubDate>Fri, 10 Apr 2026 10:51:22 GMT</pubDate>
			<description>Bonjour, 
 
Mon Lazarus 4.6...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Mon Lazarus 4.6 sous Linux Debian 12 refuse de faire du pas à pas dans un bête programme de test ! <br />
Pourquoi ? <br />
Et comment corriger ce caprice ?<br />
<br />
Les choses se passent là (FLB c'est FileListBox)&#8239;:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">procedure</span> TForm1.tvSelectionChanged<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>; <span style="color: #808080;">// tv c'est un TreeView</span>
<span style="color: #0000ff;">var</span>
  i: <span style="color: #0080ff;">integer</span>;
  aFonte: <span style="color: #0080ff;">string</span>;
<span style="color: #0000ff;">begin</span>
  CurrentFolder := workdir; 
  ShowMessage<span class="br0">&#40;</span><span style="color: #FF0000;">'tvselectionChanged: '</span>+CurrentFolder<span class="br0">&#41;</span>; <span style="color: #808080;">// OK </span>
  FLB.Directory := CurrentFolder;
  <span style="color: #0000ff;">if</span> FLB.Items.Count &gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span> 
    <span style="color: #0000ff;">for</span> i := <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">to</span> FLB.Items.Count-<span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">do</span> <span style="color: #0000ff;">begin</span>
      aFonte := FindTrueTypeFontName<span class="br0">&#40;</span>CurrentFolder + FLB.Items<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>;<span style="color: #808080;">// FindTrueTypeFontName vient de l'unit&eacute; Fontinfos.pas</span>
      <span style="color: #808080;">// https://forum.lazarus.freepascal.org/index.php/topic,37329.msg250576.html;</span>
      NextTop := AddaMemoToSBox<span class="br0">&#40;</span>Compteur2Memos+i, aFonte, <span style="color: #FF0000;">'fonts'</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>Vous voyez le surlignage rouge, dans l'image ci-dessous&#8239;? Hé bien, quand je fais F9, cet animal <b>ne s'arrête pas là</b> mais continue jusqu'à la fin de la procédure.<br />
<img src="https://www.developpez.net/forums/attachments/p675532d1775818117/autres-langages/pascal/lazarus/4-6-linux-capricieux/image_nopause.png/" border="0" alt="Nom : image_nopause.png
Affichages : 105
Taille : 43,6 Ko"  style="float: CONFIG" /><br />
:cfou:<br />
<br />
Merci pour vos retours.</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p675532d1775818117/autres-langages/pascal/lazarus/4-6-linux-capricieux/image_nopause.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>Jipété</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183140/autres-langages/pascal/lazarus/4-6-linux-capricieux/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Problème re-création IDE sous Linux]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182841&amp;goto=newpost</link>
			<pubDate>Tue, 24 Mar 2026 14:25:26 GMT</pubDate>
			<description>Bonjour, 
Sous Linux/Ubuntu,...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
Sous Linux/Ubuntu, j'ai réinstallé FPC3.2_Linux4.6 à l'aide de fpcupdeluxe-x86_64-linux sans aucun problème.<br />
Mais je ne peux pas reconstruire l'IDE, même sans installer un nouveau paquet. La compilation s'arrête avec le message d'erreur:<br />
&quot;lazarus.pp(54,3) Error: Impossible de trouver clocale utilisé par Lazarus. Vérifiez que tous les fichiers ppu du paquet soient présents dans le répertoire de sortie. ppu dans un répertoire incorrect = /home/administrateur/fpl/fpc/units/x86_64-linux/rtl-extra/clocale.ppu..&quot;.<br />
Le fichier clocale.ppu existe bien à l'endroit indiqué.<br />
Comment puis-je rectifier cette erreur?<br />
Merci.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>alanglet</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182841/autres-langages/pascal/lazarus/probleme-re-creation-ide-sous-linux/</guid>
		</item>
		<item>
			<title><![CDATA[[Free Pascal] Claude.ai utilise Free Pascal pour produire du code Pascal, y compris pour Delphi]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182779&amp;goto=newpost</link>
			<pubDate>Fri, 20 Mar 2026 10:52:48 GMT</pubDate>
			<description>Je pense que cela pourrait...</description>
			<content:encoded><![CDATA[<div>Je pense que cela pourrait vous intéresser :<br />
<br />
<a href="https://www.developpez.net/forums/d2182511-2/environnements-developpement/delphi/l-interet-l-ia/#post12118149" target="_blank">https://www.developpez.net/forums/d2.../#post12118149</a><br />
<br />
En utilisant Claude, j’ai fait une « découverte » : j’était parti pour convertir un code en « C » vers Delphi puis une envie de voir les différences avec Lazarus.<br />
J’ai demandé une version FreePascal et, à ma grande surprise, Claude est relié apparemment avec ce compilateur car à la fin de la conversion, Claude m’a fourni le source Pascal mais aussi un exemple du résultat attendu, ce qu’il ne fait pas avec Delphi, et je suis sûr que du fait qu’il compile avec FreePascal, il peut de lui même corriger des erreurs qu’il aura produites lors de la première phase de conversion. :ccool:<br />
<br />
Je ne saurais trop vous recommander, si vous voulez produire du code Delphi, de demander à Claude qu’il vous produise d’abord la version FreePascal/Lazarus et, une fois qu’elle sera validée, de la convertir en Delphi. :mouarf:<br />
<br />
Pour en être sûr, j’ai posé la question à Claude :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			petite question technique pour du code FreePascal tu peux me montrer des résultats, cela veux t’il dire que tu as accès à FreePascal  ?
			
		<hr />
	</div>
</div>Et voici sa réponse :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			<font color="#000000">Oui, exactement. Dans cet environnement j'ai accès à un container Linux (Ubuntu) avec accès internet limité à certains domaines. J'ai installé FPC en début de session via </font>apt-get install fpc<font color="#000000"> et j'ai compilé uXxxxx</font>.pas<font color="#000000"> directement dessus.</font><font color="#000000">Ce que j'ai fait concrètement :</font><br />
<br />
<ul><li style="">Installé <b>FPC 3.2.2</b> via apt</li><li style="">Compilé uXxxxx.pas avec fpc planet.pas</li><li style="">Exécuté le binaire ./uXxxxx pour générer des fichiers .ppm</li><li style="">Converti en PNG avec pnmtopng (paquet netpbm) pour te les afficher</li></ul><br />
<font color="#000000">Ce que je <b>ne peux pas</b> faire :</font><br />
<br />
<ul><li style="">Lancer Lazarus (pas d'interface graphique dans le container)</li><li style="">Tester Xxxxx_LCL.pas directement car il dépend de la LCL (bibliothèque visuelle)</li><li style="">Accéder à n'importe quel site — seuls certains domaines sont autorisés (apt, npm, pypi, github...)</li></ul><br />
<font color="#000000">Donc les exemples visuels que je t'ai montrés viennent bien d'une vraie exécution du programme compilé avec FPC, pas d'une simulation.</font>
			
		<hr />
	</div>
</div><b>Intéressant, non ?</b></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>der§en</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182779/autres-langages/pascal/lazarus/claude-ai-utilise-free-pascal-produire-code-pascal-y-compris-delphi/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Calendrier des Anniversaires, besoin d'une idée ou d'une piste]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182608&amp;goto=newpost</link>
			<pubDate>Thu, 12 Mar 2026 14:29:57 GMT</pubDate>
			<description>Bonjour, 
 
Je voudrais...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je voudrais afficher un calendrier des anniversaires. Dans une base de données SQLite, j'ai une table avec des personnes, et, entre autres informations, leurs dates de naissance.<br />
<br />
J'aimerais dans une fiche afficher tous les anniversaires, sous forme de calendrier.<br />
12 colonnes, une par mois, et dans chaque colonne afficher les différents anniversaires du mois. Chaque &quot;anniversaire&quot; serait indiqué sous la forme d'un libellé en haut avec le jour, d'une image pour le portrait et d'un libellé en bas avec le Prénom et le Nom.<br />
<br />
Chaque mois aurait un nombre différent d'anniversaire, et certains mois pourrait ne pas en avoir.<br />
<br />
Pour les &quot;Anniversaires&quot;, je me disais que je pourrais créer un composant regroupant 2 TLabel, 1 TImage dans un TPanel. Le premier TLabel pour le jour, avec Alignment = AlTop, le second pour le nom en AlBottom et l'image en alClient.<br />
Ça, je pense y arriver. <br />
<br />
Mon problème est l'affichage des &quot;Anniversaires&quot;. J'avais pensé à un TDrawGrid, mais est-ce qu'il est possible de mettre un Composant dans une cellule, et si oui comment ?<br />
Ensuite, est-il possible de faire en sorte que les cellules vides ne soit pas visibles ?<br />
<br />
Est-ce que vous avez un composant qui me permettrait de réaliser cela facilement ?<br />
<br />
Merci d'avance pour vos suggestions,<br />
<br />
JS</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>Jon Shannow</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182608/autres-langages/pascal/lazarus/calendrier-anniversaires-besoin-d-idee-d-piste/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Nouvelle version corrective 4.6 de Lazarus]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182505&amp;goto=newpost</link>
			<pubDate>Sat, 07 Mar 2026 11:36:27 GMT</pubDate>
			<description>Nouvelle version 4.6 de...</description>
			<content:encoded><![CDATA[<div><font size="4">Nouvelle version 4.6 de Lazarus</font><br />
<font size="1">Il s'agit d'une version de correction de bugs qui a été construite avec FPC 3.2.2. et FPC 3.2.4RC1 pour macOS</font><br />
<br />
Voici la liste des modifications apportées à Lazarus et Free Pascal :<br />
<br />
<a rel="nofollow" href="https://wiki.lazarus.freepascal.org/Lazarus_4.0_release_notes" target="_blank">https://wiki.lazarus.freepascal.org/..._release_notes</a><br />
<a rel="nofollow" href="https://wiki.lazarus.freepascal.org/User_Changes_3.2.2" target="_blank">https://wiki.lazarus.freepascal.org/User_Changes_3.2.2</a><br />
<br />
Voici la liste des correctifs pour Lazarus 4.x :<br />
<br />
<a rel="nofollow" href="https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_4/" target="_blank">https://gitlab.com/freepascal.org/la...mmits/fixes_4/</a><br />
<br />
Téléchargez Lazarus 4.6 :  <a href="https://pascal.developpez.com/telecharger/detail/id/1657/Lazarus" target="_blank">https://pascal.developpez.com/telech...d/1657/Lazarus</a><br />
<br />
Choisissez votre processeur, votre système d'exploitation, votre distribution, puis le répertoire « Lazarus 4.6 ».<br />
<br />
Sommes de contrôle des fichiers SourceForge :<br />
<br />
<a rel="nofollow" href="https://www.lazarus-ide.org/index.php?page=checksums#4_6" target="_blank">https://www.lazarus-ide.org/index.ph...=checksums#4_6</a><br />
<br />
Les programmes d'installation de Windows sont désormais signés au niveau du code. La signature utilise le nom de la Fondation : &quot;Stichting Programming Free Pascal &amp; Lazarus Foundation&quot;.<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p674808d1772882801/autres-langages/pascal/lazarus/nouvelle-version-corrective-4-6-lazarus/img-lazarus-v4-6.jpg/" border="0" alt="Nom : Img Lazarus v4-6.jpg
Affichages : 5908
Taille : 175,7 Ko"  style="float: CONFIG" /><br />
<br />
Configuration minimale requise :<br />
<br />
Windows :<br />
2000, 32 ou 64 bits, Qt, Qt5, Qt6 (64 bits uniquement).<br />
<br />
FreeBSD/Linux :<br />
gtk 2.24 pour gtk2, qt4.5 pour qt, qt5.6 pour qt5, Qt6.2 pour qt6, 32 ou 64 bits.<br />
<br />
macOS :<br />
Cocoa (64 bits) 10.12, Carbon (32 bits) 10.5 à 10.14, Qt et Qt5 (32 ou 64 bits), Qt6 (64 bits uniquement).<br />
<br />
Page GitLab :<br />
<br />
<a rel="nofollow" href="https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/lazarus_4_6" target="_blank">https://gitlab.com/freepascal.org/la...ee/lazarus_4_6</a><br />
<br />
Pour les personnes bloquées par SF, les versions Lazarus de SourceForge sont sur :<br />
<br />
<a rel="nofollow" href="https://download.lazarus-ide.org/" target="_blank">https://download.lazarus-ide.org/</a><br />
<a rel="nofollow" href="ftp://ftp.freepascal.org/pub/lazarus/releases/" target="_blank">ftp://ftp.freepascal.org/pub/lazarus/releases/</a><br />
<br />
Et vous ?<br />
:arrow: Que pensez-vous de cette nouvelle version ?<br />
:arrow: Faites-vous systématiquement la mise à jour vers la dernière version en date ?</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p674808d1772882801/autres-langages/pascal/lazarus/nouvelle-version-corrective-4-6-lazarus/img-lazarus-v4-6.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>Chrispi</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182505/autres-langages/pascal/lazarus/nouvelle-version-corrective-4-6-lazarus/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] StringGrid1.Canvas.Font.Style := [fsBold]]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182439&amp;goto=newpost</link>
			<pubDate>Wed, 04 Mar 2026 11:11:25 GMT</pubDate>
			<description><![CDATA[Bonjour à tous 
 
J'essaie de...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous<br />
<br />
J'essaie de mettre la première ligne (fixe) d'un stringgrid en gras mais mon code ne fonctionne pas [fsbold] est refusé<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">procedure</span> TForm2.StringGrid1PrepareCanvas<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span>; aCol, aRow: <span style="color: #0080ff;">Integer</span>;
  aState: TGridDrawState<span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
 <span style="color: #0000ff;">if</span> aRow = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">then</span>
StringGrid1.Canvas.Font.Style := <span class="br0">&#91;</span>fsBold<span class="br0">&#93;</span>
<span style="color: #0000ff;">else</span>
 stringgrid1.Canvas.Font.Style:=<span class="br0">&#91;</span><span class="br0">&#93;</span>;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>sematimo</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182439/autres-langages/pascal/lazarus/stringgrid1-canvas-font-style-fsbold/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Utilisation partagée d'un fichier distant]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182396&amp;goto=newpost</link>
			<pubDate>Mon, 02 Mar 2026 08:36:01 GMT</pubDate>
			<description>Bonjour à tous 
Dans le cadre...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous<br />
Dans le cadre d'une association, nous avons un fichier stocké sur une serveur.<br />
Ce fichier peut-être consulté, modifié ou complété par chacun des membres.<br />
Dans mon application, j'utilise FtpSend.<br />
L'application télécharge le fichier et chaque utilisateur peut le modifier en locale, ensuite lors de la fermeture de l'application le fichier est renvoyé sur le serveur.<br />
Je cherche un moyen de bloquer l'accès à ce fichier distant si ce fichier est déjà consulté par un autre utilisateur jusqu'à ce que cet utilisateur ai renvoyé le fichier modifier sur le serveur.<br />
Dans un premier temps, j'ai pensé supprimer le fichier du serveur après chargement en locale mais si le pc de l'utilisateur plante, il n'y a plus de fichier sur le serveur.<br />
<br />
Ensuite j'ai pensé renommer le fichier distant le temps de son utilisation mais même problème si le pc plante.<br />
Peut-être qu'en créant une sorte de session sur le serveur, si la session existe on ne peut pas accéder au fichier.<br />
Au démarrage de l'application, on teste si la session existe, si la session est ouverte depuis un certain temps, la session est supprimée et le fichier reprend son nom d'origine.<br />
Mais je ne sais pas comment créé cette sorte de session.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>sematimo</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182396/autres-langages/pascal/lazarus/utilisation-partagee-d-fichier-distant/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Zoom sur l'éditeur de source]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182276&amp;goto=newpost</link>
			<pubDate>Tue, 24 Feb 2026 08:56:28 GMT</pubDate>
			<description>Bonjour à tous 
Trou de...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous<br />
Trou de mémoire, je ne me souviens plus comment zoom et dézoomer sur la fenêtre code source...</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>sematimo</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182276/autres-langages/pascal/lazarus/zoom-l-editeur-source/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] TSplitView ou équivalent]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182003&amp;goto=newpost</link>
			<pubDate>Mon, 09 Feb 2026 09:00:50 GMT</pubDate>
			<description>Bonjour, 
 
Sous Lazarus,...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Sous Lazarus, peut-on trouver l’équivalent du très pratique TSplitView ?<br />
<br />
Merci d’avance de vos retours.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>der§en</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182003/autres-langages/pascal/lazarus/tsplitview-equivalent/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Comportement incohérent de Laz 4.4]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181968&amp;goto=newpost</link>
			<pubDate>Fri, 06 Feb 2026 11:46:37 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
C'est quoi le...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
C'est quoi le problème avec Lazarus ?<br />
<br />
je démarre l'ordi, je lance Lazarus dans une machine virtuelle (c'est pareil avec la machine physique), je repère le bouton pour sélectionner un TStaticText, je pose cet objet sur la fiche juste créée, je modifie sa couleur (default --&gt; clRed, bien prise en compte dans l'inspecteur d'objets), la BorderStyle à sbsSingle et la BorderSpacing.Around à 30, je fais F9 et que croyez-vous qu'il se passe ? La fiche se présente mais il ne se passe rien, strictement rien, concernant les paramètres que j'ai demandé...<br />
<br />
Note : l'image est farfelue car je voulais tester comment tout ça fonctionne, en partant de l'info en jaune en bas à gauche de l'inspecteur d'objets et force est de constater que ce que je demande n'est pas fourni.<br />
<br />
En désespoir de cause j'ai posé un TPanel sur la fiche, j'ai dit à l'insp.proj. &quot;couleur rouge&quot; s'il te plait, et il s'est exécuté, voir l'image.<br />
Mais BorderWidth positionnée à 50 ne fonctionne pas, pas plus que BorderSpacing.<br />
<br />
Qu'est-ce que j'ai loupé ?<br />
Merci par avance.<br />
<img src="https://www.developpez.net/forums/attachments/p674012d1770378298/autres-langages/pascal/lazarus/comportement-incoherent-laz-4-4/tests_laz.png/" border="0" alt="Nom : tests_laz.png
Affichages : 116
Taille : 37,6 Ko"  style="float: CONFIG" /></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p674012d1770378298/autres-langages/pascal/lazarus/comportement-incoherent-laz-4-4/tests_laz.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>Jipété</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181968/autres-langages/pascal/lazarus/comportement-incoherent-laz-4-4-a/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] RichMemo et caractères ASCII > 128]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181876&amp;goto=newpost</link>
			<pubDate>Mon, 02 Feb 2026 20:56:18 GMT</pubDate>
			<description><![CDATA[Bonjour, 
J'ai besoin d'un...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
J'ai besoin d'un utiliser un RichMemo sous forme de treeview pour mettre en avant (en rouge) certaines parties du texte (ce qui suit le symbole &amp;).<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td valign="top"><pre style="margin: 0">sMemo := RichMemo1.Lines.Text;
    iPosMariage := <span style="color: #cc66cc;">0</span>;
    <span style="color: #0000ff;">while</span> sMemo.IndexOf<span class="br0">&#40;</span><span style="color: #FF0000;">'&amp;'</span>,iPosMariage<span class="br0">&#41;</span> &lt;&gt; -<span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">do</span>
    <span style="color: #0000ff;">begin</span>
      iPosMariage := sMemo.IndexOf<span class="br0">&#40;</span><span style="color: #FF0000;">'&amp;'</span>,iPosMariage<span class="br0">&#41;</span>;
      <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>sMemo<span class="br0">&#91;</span>iPosMariage+<span style="color: #cc66cc;">1</span><span class="br0">&#93;</span> &lt;&gt; <span style="color: #FF0000;">''</span><span class="br0">&#41;</span> <span style="color: #0000ff;">then</span>
        RichMemo1.SetTextAttributes<span class="br0">&#40;</span>iPosMariage+<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">4</span>,aFontWedding<span class="br0">&#41;</span>;
      iPosMariage := iPosMariage+<span style="color: #cc66cc;">1</span>
    <span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>Avec la fonction SetTextAttributes et le bon algo, ça se passe très bien :<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p673861d1770064634/autres-langages/pascal/lazarus/richmemo-caracteres-ascii-128/capture-d-ecran-2026-02-02-21-36-04.png/" border="0" alt="Nom : Capture d’écran du 2026-02-02 21-36-04.png
Affichages : 101
Taille : 13,6 Ko"  style="float: CONFIG" /><br />
<br />
Là où ça se corse, c'est qu'au lieu d'utiliser les accolades et crochets, je cherche à utiliser des caractères plus esthétiques (tels que &#9472;,&#9492;,&#9500; et &#9516;) pour que ça ait vraiment un aspect treeview<br />
Avec un memo standard, ça donne ça :<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p673862d1770065174/autres-langages/pascal/lazarus/richmemo-caracteres-ascii-128/capture-d-ecran-2026-02-02-21-45-30.png/" border="0" alt="Nom : Capture d’écran du 2026-02-02 21-45-30.png
Affichages : 97
Taille : 12,9 Ko"  style="float: CONFIG" /><br />
<br />
Mais ces caractères sont stockés sur 3 octets donc :<br />
- Si j'alimente mon richmemo avec ces caractères PUIS que je cherche ensuite à changer la couleur, la fonction SetTextAttributes qui a besoin des positions ne s'applique pas au bon endroit (il y a un décalage dans les endroits colorisés).<br />
- Si je colorise proprement mes lignes PUIS que j'appelle des fonctions de type <div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">StringReplace<span class="br0">&#40;</span>RichMemo1.Lines.text,<span style="color: #FF0000;">'-'</span>,<span style="color: #FF0000;">'&#9472;'</span>,<span class="br0">&#91;</span>rfReplaceAll<span class="br0">&#93;</span><span class="br0">&#41;</span></code><hr />
</div> pour remplacer les caractères 'pas beaux' par les 'beaux', je perds les attributs de ma ligne.<br />
<br />
Je n'ai pas trouvé de méthode pour intervenir sur mon richmemo sans impacter ses attributs. Si quelqu'un a une idée... :?</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p673861d1770064634/autres-langages/pascal/lazarus/richmemo-caracteres-ascii-128/capture-d-ecran-2026-02-02-21-36-04.png/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p673862d1770065174/autres-langages/pascal/lazarus/richmemo-caracteres-ascii-128/capture-d-ecran-2026-02-02-21-45-30.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>nikoko34</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181876/autres-langages/pascal/lazarus/richmemo-caracteres-ascii-128-a/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Intercepter proprement les exceptions lors de la lecture d'un fichier XML]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181846&amp;goto=newpost</link>
			<pubDate>Sun, 01 Feb 2026 09:36:22 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
J'affiche le...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J'affiche le contenu d'un fichier XML (sans DTD) dans un TTreeView (<i>tvMain</i>). En ce faisant, je peux détecter les éventuelles erreurs dans le fichier (au niveau des données, typiquement des caractères spéciaux mal échappés). Je peine à déterminer les endroits auxquels je peux placer des <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">try</span> ... <span style="color: #0000ff;">except</span></span> afin d'intercepter proprement les exceptions, pouvez-vous m'aider ? Voici mon code :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">function</span> TfrmMain.GetNodeAttributesAsString<span class="br0">&#40;</span>ApNode: TDOMNode<span class="br0">&#41;</span>: <span style="color: #0080ff;">String</span>;
<span style="color: #808080;">(* Outputs all node attributes as a string *)</span>
<span style="color: #0000ff;">var</span>
  Li: <span style="color: #0080ff;">Integer</span>;
<span style="color: #0000ff;">begin</span>
  Result := <span style="color: #FF0000;">''</span>;
  <span style="color: #0000ff;">if</span> ApNode.HasAttributes
     <span style="color: #0000ff;">then</span>
       <span style="color: #0000ff;">for</span> Li := <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">to</span> <span class="br0">&#40;</span>ApNode.Attributes.Length - <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> <span style="color: #0000ff;">do</span>
         <span style="color: #0000ff;">with</span> ApNode.Attributes<span class="br0">&#91;</span>Li<span class="br0">&#93;</span> <span style="color: #0000ff;">do</span>
           Result := Result + Format<span class="br0">&#40;</span><span style="color: #FF0000;">' %s=&quot;%s&quot;'</span>, <span class="br0">&#91;</span>NodeName, NodeValue<span class="br0">&#93;</span><span class="br0">&#41;</span>;
  <span style="color: #808080;">(* Removes leading and trailing spaces *)</span>
  Result := Trim<span class="br0">&#40;</span>Result<span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TfrmMain.ParseXML<span class="br0">&#40;</span>ANode: TDOMNode; ATreeNode: TTreeNode; <span style="color: #0000ff;">var</span> ACounter: <span style="color: #0080ff;">LongInt</span><span class="br0">&#41;</span>;
<span style="color: #808080;">(* Recursive function to process a node and all its child nodes - Increments the phonebook item counter *)</span>
<span style="color: #0000ff;">var</span>
  LNodeName: <span style="color: #0080ff;">String</span>;
<span style="color: #0000ff;">begin</span>
  <span style="color: #0000ff;">if</span> ANode = <span style="color: #0000ff;">Nil</span>
     <span style="color: #0000ff;">then</span>
       Exit;
  <span style="color: #808080;">(* Adds the node to the TreeView *)</span>
  LNodeName := ANode.NodeName;
  <span style="color: #0000ff;">if</span> LNodeName = <span style="color: #FF0000;">'PhoneBookItemDto'</span>
     <span style="color: #0000ff;">then</span>   <span style="color: #808080;">(* Increments the phonebook item counter *)</span>
       <span style="color: #0000ff;">begin</span>
         Inc<span class="br0">&#40;</span>ACounter<span class="br0">&#41;</span>;
         LNodeName := LNodeName + <span style="color: #FF0000;">' - '</span> + IntToStr<span class="br0">&#40;</span>ACounter<span class="br0">&#41;</span>;
       <span style="color: #0000ff;">end</span>;
  ATreeNode := tvMain.Items.AddChild<span class="br0">&#40;</span>ATreeNode, Trim<span class="br0">&#40;</span>LNodeName + <span style="color: #FF0000;">' '</span> + GetNodeAttributesAsString<span class="br0">&#40;</span>ANode<span class="br0">&#41;</span> + ANode.NodeValue<span class="br0">&#41;</span><span class="br0">&#41;</span>;
  <span style="color: #808080;">(* Processes all child nodes *)</span>
  ANode := ANode.FirstChild;
  <span style="color: #0000ff;">while</span> Assigned<span class="br0">&#40;</span>ANode<span class="br0">&#41;</span> <span style="color: #0000ff;">do</span>
    <span style="color: #0000ff;">begin</span>
      ParseXML<span class="br0">&#40;</span>ANode, ATreeNode, ACounter<span class="br0">&#41;</span>;
      ANode := ANode.NextSibling;
    <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TfrmMain.ShowXML;
<span style="color: #808080;">(* Displays an XML file *)</span>
<span style="color: #0000ff;">var</span>
  LSourceFile: TXMLDocument;
  LPhonebookItemCounter: <span style="color: #0080ff;">LongInt</span>;
<span style="color: #0000ff;">begin</span>
  LPhonebookItemCounter := <span style="color: #cc66cc;">0</span>;
  ReadXMLFile<span class="br0">&#40;</span>LSourceFile, FSourceFileName<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">try</span>
    tvMain.Items.Clear;
    ParseXML<span class="br0">&#40;</span>LSourceFile.DocumentElement, <span style="color: #0000ff;">Nil</span>, LPhonebookItemCounter<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">finally</span>   <span style="color: #808080;">(* ReadXMLFile creates the TXMLDocument, just must free it when done *)</span>
    LSourceFile.Free;
  <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>:merci: d'avance !</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>Alcatîz</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181846/autres-langages/pascal/lazarus/intercepter-proprement-exceptions-lors-lecture-d-fichier-xml/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Migration unités contnrs vers generics.collections et defaults]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181816&amp;goto=newpost</link>
			<pubDate>Fri, 30 Jan 2026 10:53:59 GMT</pubDate>
			<description>Bonjour. 
 
Je viens de...</description>
			<content:encoded><![CDATA[<div>Bonjour.<br />
<br />
Je viens de migrer une appli avec plein de classes de type TObjectList (unité Contnrs) vers TObjectDictionary&lt;integer, TMyObject&gt; (unité Generics.Collections)<br />
Je ne regrette pas cette migration sur le plan des performances, un traitement récursif avec 5000 objets qui durait 1m30 s'exécute maintenant en 2s mais...<br />
<br />
1) Problème numéro 1 : je me retrouve avec plein de conseils et warnings sur ces deux unités generics (qui me font dire que mon code n'est pas parfait mais les références ne sont pas sur mes unités).<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p673766d1769769336/autres-langages/pascal/lazarus/migration-unites-contnrs-vers-generics-collections-defaults/pb-1.png/" border="0" alt="Nom : Pb 1.png
Affichages : 96
Taille : 79,7 Ko"  style="float: CONFIG" /><br />
<br />
Le fichier generic.dictionaries.inc n'est pas accessible bien que j'aie vérifié qu'il se trouve à plusieurs endroits dans les répertoires liés au package<br />
<br />
2) Problème numéro 2. Dans quelques rares cas, j'ai besoin de trier une liste.<br />
J'utilise donc à la place d'un TObjectDictionary un un TList&lt;TObject&gt; et je souhaite trier cette liste selon une propriété de l'objet<br />
Avant, pour les tList, il suffisait de faire quelque chose de ce type : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">self</span>.Sort<span class="br0">&#40;</span>@ComparePtrPropri&eacute;t&eacute;<span class="br0">&#41;</span>;</span> avec (de façon schématique)<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">function</span> ComparePtrPropri&eacute;t&eacute;<span class="br0">&#40;</span>Objet1, Objet2 : <span style="color: #0080ff;">Pointer</span><span class="br0">&#41;</span> : <span style="color: #0080ff;">integer</span>;
<span style="color: #0000ff;">begin</span>
<span style="color: #0000ff;">if</span> tObjet<span class="br0">&#40;</span>Objet1<span class="br0">&#41;</span>.Propri&eacute;t&eacute;&lt;tObjet<span class="br0">&#40;</span>Objet2<span class="br0">&#41;</span>.Propri&eacute;t&eacute; <span style="color: #0000ff;">then</span>
  result := -<span style="color: #cc66cc;">1</span>
<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> tObjet<span class="br0">&#40;</span>Objet1<span class="br0">&#41;</span>.Propri&eacute;t&eacute;&gt;tObjet<span class="br0">&#40;</span>Objet2<span class="br0">&#41;</span>.Propri&eacute;t&eacute; <span style="color: #0000ff;">then</span>
  result := <span style="color: #cc66cc;">1</span> 
<span style="color: #0000ff;">else</span> result := <span style="color: #cc66cc;">0</span></pre></td></tr></table></code><hr />
</div>On trouve quantité d'exemples sur le net avec cette ancienne formulation mais pas d'exemples simples avec les TList de cette unité Generics, donc si quelqu'un a eu à faire la même chose, je suis preneur d'un exemple !</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p673766d1769769336/autres-langages/pascal/lazarus/migration-unites-contnrs-vers-generics-collections-defaults/pb-1.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>nikoko34</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181816/autres-langages/pascal/lazarus/migration-unites-contnrs-vers-generics-collections-defaults/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] [4.4/Linux] AnchorDockingDesign installé mais pas de docking]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181741&amp;goto=newpost</link>
			<pubDate>Mon, 26 Jan 2026 18:35:22 GMT</pubDate>
			<description>Bonsoir à toutes et à tous. 
...</description>
			<content:encoded><![CDATA[<div>Bonsoir à toutes et à tous.<br />
<br />
Je viens de monter de version Lazarus qui est donc en 4.4 (par désinstallation et réinstallation car ça ne passait pas en mise à jour).<br />
Du coup, j'ai voulu réinstaller AnchorDockingDesign 1.0 et là... c'est installé mais le docking est sans effet, les fenêtres restent flottantes<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p673626d1769452466/autres-langages/pascal/lazarus/4-4-linux-anchordockingdesign-installe-docking/anchordocking.png/" border="0" alt="Nom : AnchorDocking.png
Affichages : 128
Taille : 188,6 Ko"  style="float: CONFIG" /><br />
<br />
Dans le menu Outils/Options/Environnement, il n'y a pas de référence au docking.<br />
Ne serait ce pas une incompatibilité entre ce packet et la version 4.4 ? Quelqu'un a eu le même problème ?<br />
Je précise mon OS : Linux Mint 22.3 - Cinnamon 64-bit</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p673626d1769452466/autres-langages/pascal/lazarus/4-4-linux-anchordockingdesign-installe-docking/anchordocking.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>nikoko34</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181741/autres-langages/pascal/lazarus/4-4-linux-anchordockingdesign-installe-docking/</guid>
		</item>
		<item>
			<title><![CDATA[[Lazarus] Un code qui ne se comporte pas comme espéré]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181126&amp;goto=newpost</link>
			<pubDate>Tue, 23 Dec 2025 11:13:53 GMT</pubDate>
			<description>Bonjour, 
 
je me retrouve...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
je me retrouve face à un mur infranchissable et incompréhensible : je veux parcourir une liste de fichiers (3 pour le moment) et que je fasse <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">for</span> i := <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">to</span> <span style="color: #cc66cc;">2</span> <span style="color: #0000ff;">do</span>...</span> ou <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">for</span> i := <span style="color: #cc66cc;">2</span> <span style="color: #0000ff;">downto</span> <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">do</span>...</span>, le résultat est le même, la liste n'est pas parcourue ! Il n'y a que la première entrée qui réagit.<br />
<br />
Il y a des modifications de fichiers (c'est le but : voir comment se comportent les fontes à différentes tailles) mais j'aurais dû le mettre au singulier car c'est toujours le même qui évolue quand je modifie la taille. Je m'attendais naïvement à ce que toutes les fontes se mettent au garde-à-vous mais bernique ! Regardez le fichier 6fic4gif.gif :<br />
<img src="https://www.developpez.net/forums/attachments/p672726d1766487792/autres-langages/pascal/lazarus/code-ne-se-comporte-espere/6fic4gif.gif/" border="0" alt="Nom : 6fic4gif.gif
Affichages : 171
Taille : 146,0 Ko"  style="float: CONFIG" /><br />
<br />
Le film commence avec le lancement de l'IHM et il n'y a plus qu'à cliquer sur &quot;<b>LoadFonts</b>&quot;, qui va présenter les fontes disponibles. Ensuite il faut cliquer sur la flêche-vers-le-haut de l'outil UpDown pour faire évoluer la taille (12, 14, 16, etc.) mais on constate que seule la fonte placée tout en haut de la fiche réagit.<br />
Les autres boudent !<br />
<br />
Et je me suis rendu compte à coups de &quot;<span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ShowMessage</span>&quot; qu'il y avait des micmacs curieux dans le code, <b>que je ne m'explique pas</b>, regardez le second fichier, 4fic4gif.gif.<br />
<img src="https://www.developpez.net/forums/attachments/p672727d1766487802/autres-langages/pascal/lazarus/code-ne-se-comporte-espere/4fic4gif.gif/" border="0" alt="Nom : 4fic4gif.gif
Affichages : 169
Taille : 120,5 Ko"  style="float: CONFIG" /><br />
<br />
Pour arriver à cette misère à laquelle je ne m'attendais pas, j'ai utilisé ces quelques lignes :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">procedure</span> TForm1.UpDownClick<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span>; Button: TUDBtnType<span class="br0">&#41;</span>;<span style="color: #808080;">//modif Fonts Sizes</span>
<span style="color: #0000ff;">begin</span>
<span style="color: #808080;">//for i := 0 to 2 do begin  // nbre de fontes concern&eacute;es /!\</span>
  <span style="color: #0000ff;">for</span> i := <span style="color: #cc66cc;">2</span> <span style="color: #0000ff;">downto</span> <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">do</span> <span style="color: #0000ff;">begin</span> <span style="color: #808080;">// &agrave; l'envers comme &agrave; l'endroit 1 seul bloc change, le 1er tout en haut de la fiche.</span>
<span style="color: #808080;">//  showmessage(its(i)); // pour suivre l'&eacute;volution ('its' est mon raccourci pour 'IntToStr', 3 lignes au lieu de 8, voir + bas</span>
    displayT.Name := <span class="br0">&#40;</span><span style="color: #FF0000;">'displayT'</span>+its<span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">with</span> displayT <span style="color: #0000ff;">do</span> <span style="color: #0000ff;">begin</span>
      Font.Name:=FontNamesList<span class="br0">&#91;</span>i<span class="br0">&#93;</span>;
      Font.Size:=UpDown.Position;
      showmessage<span class="br0">&#40;</span><span style="color: #FF0000;">'dT_'</span>+displayT.Name+<span style="color: #FF0000;">'_'</span>+its<span class="br0">&#40;</span>Font.Size<span class="br0">&#41;</span><span class="br0">&#41;</span>; <span style="color: #808080;">// dT_displayT0_12  ...T1_12  ...T2_12</span>
    <span style="color: #0000ff;">end</span>;
&nbsp;
    displayB.Name := <span class="br0">&#40;</span><span style="color: #FF0000;">'displayB'</span>+its<span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">with</span> displayB <span style="color: #0000ff;">do</span> <span style="color: #0000ff;">begin</span>
      Font.Name:=FontNamesList<span class="br0">&#91;</span>i<span class="br0">&#93;</span>;
      Font.Size:=UpDown.Position;
    <span style="color: #0000ff;">end</span>; 
  <span style="color: #0000ff;">end</span>; <span style="color: #808080;">// for i</span>
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>'<b>dT_displayT0_12</b>' signifie que je vise un TEdit nommé displayTX (X pour i := 0 1 2 ou 2 1 0), le 'T' parce qu'il s'agit du Edit Top, l'autre avec le B comme Bottom -- oui, chaque bloc d'affichage est constitué de 2 TEdit), et le '12' est récupéré par UpDown.Position (qui peut monter ou descendre).<br />
<br />
<b>its</b> : un <i>oneline code</i>, au cas où ça serait ça qui coince : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">function</span> its<span class="br0">&#40;</span>k:<span style="color: #0080ff;">integer</span><span class="br0">&#41;</span>:<span style="color: #0080ff;">string</span>; <span style="color: #0000ff;">begin</span> result:=IntToStr<span class="br0">&#40;</span>k<span class="br0">&#41;</span>; <span style="color: #0000ff;">end</span>;</span> mais je n'y crois pas trop, j'utilise ce raccourci depuis des années sans souci.<br />
<br />
Où me suis-je trompé ?<br />
Merci,</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p672726d1766487792/autres-langages/pascal/lazarus/code-ne-se-comporte-espere/6fic4gif.gif/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p672727d1766487802/autres-langages/pascal/lazarus/code-ne-se-comporte-espere/4fic4gif.gif/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f189/autres-langages/pascal/lazarus/">Lazarus</category>
			<dc:creator>Jipété</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181126/autres-langages/pascal/lazarus/code-ne-se-comporte-espere/</guid>
		</item>
	</channel>
</rss>
