<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts | Diego J. Muñoz. Software a medida. Freelance. Delphi.</title>
    <link>http://el-programador.com/post/</link>
      <atom:link href="http://el-programador.com/post/index.xml" rel="self" type="application/rss+xml" />
    <description>Posts</description>
    <generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>es-es</language><lastBuildDate>Thu, 10 Feb 2022 00:00:00 +0000</lastBuildDate>
    <image>
      <url>http://el-programador.com/img/icon-192.png</url>
      <title>Posts</title>
      <link>http://el-programador.com/post/</link>
    </image>
    
    <item>
      <title>Delphi Code Coverage</title>
      <link>http://el-programador.com/post/delphi-code-coverage/</link>
      <pubDate>Thu, 10 Feb 2022 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/delphi-code-coverage/</guid>
      <description>&lt;p&gt;Se conoce como &lt;strong&gt;code coverage&lt;/strong&gt; a la cantidad de código que es ejecutado (&amp;ldquo;cubierto&amp;rdquo;) durante una ejecución de nuestra aplicación.
Evidentemente, además de la cantidad de código, debemos saber exactamente qué lineas se han ejecutado y cuales no se han ejecutado.
No hablamos de &lt;strong&gt;tiempo de ejecución&lt;/strong&gt; (de eso se encargan los profilers), solamente saber qué lineas de código se han ejecutado.
La utilidad de esto.. pues varias. Para mí en concreto, poder comprobar de un vistazo rápido qué codigo se ha usado, detectar código sobrante,
detectar casos no cubiertos durante un proceso (los que se ocupen en el código no utilizado), etc.
No va a ser algo a utilizar a diario, pero sí a tener en cuenta en nuestro arsenal de herramientas.&lt;/p&gt;
&lt;p&gt;Para hacernos una idea, aquí muestro una captura real, de cobertura de código en una de mis aplicaciones. En verde lo ejecutado, en morado lo no ejecutado.
Es un proceso de pruebas, y ya puedo ver fácilmente que el caso cubierto en la línea 378 no se ha ejecutado nunca, por tanto mis proceso de pruebas no está completo.
¿Útil verdad?&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;coverage.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;la-utilidad-delphicodecoverage&#34;&gt;La utilidad DelphiCodeCoverage&lt;/h1&gt;
&lt;p&gt;La herramienta que nos permite hacer esto (no he encontrado otra) y que he comprobado está en github: &lt;a href=&#34;https://github.com/DelphiCodeCoverage/DelphiCodeCoverage&#34; target=&#34;_blank&#34;&gt;DelphiCodeCoverage&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Primero bajamos el zip o clonamos el repositorio.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Abrimos el grupo de proyectos DelphiCodeCoverage.groupproj y compilamos. Yo con Delphi 11 Alexandria no he tenido problemas, compilado a la primera.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Para que esto funcione, debemos generar un .map para nuestra aplicación. No me extiendo sobre esto, hay muchos tutoriales sobre como generar el .map. Yo lo genero siempre, incluso en versión release, puesto que utilizo EurekaLog; pero eso es otra cuestión.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Una vez disponibles nuestro ejecutable y nuestro .map, lo mejor es hacer un fichero .bat por ejemplo codecoverage.bat, en el directorio de nuestra aplicación, con el siguiente contenido:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;      path\CodeCoverage.exe -e nuestro_exe -m nuestro_map -dproj nuestro_dproj -od path_output -html -a nuestros_params
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;path\CodeCoverage: es el path al codecoverage.exe que hemos compilado anteriormente, es la herramienta en sí&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;nuestro_exe: es el nombre de nuestro .exe&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;nuestro_map: es el nombre de nuestro .map&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;nuestro_dproj es el nombre del fichero .dproj de nuestra aplicación. La herramienta va a procesar los forms y unidades encontrados ahí. A mí me funciona porque tengo todo añadido al proyecto, evito lo más que puedo el uso de paths (para que el proyecto sepa exactamente qué está utilizando). Si no lo tienes así, hay otros parámetros dónde puedes indicar que ficheros/unidades quieres procesar. &lt;strong&gt;la documentación está en el readme del repositorio&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;path_output es el directorio en el cual se van a generar los ficheros html con el resultado, como la captura que he mostrado más arriba. Ojo, debes crearlo previamente.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;nuestros_params: Parámetros de la aplicación, todos seguidos, por ejemplo param1 param2 param3&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ejecutamos el .bat (mejor desde una consola dos/powershell) , utilizamos la aplicación y listo. Al terminar tendremos en path_output los html de las unidades que hayamos indicado, con toda la cobertura, como la imagen previa.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;covered.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;De uso sencillo, es una herramienta muy potente, como digo, no del dia a dia pero es de esas cosas que cuando se necesitan.. mejor tenerlas ya prepatadas. No dejes de ver el readme del repositorio, puesto que hay más parámetros, más formatos de salida, etc. Yo he mostrado aquí la forma más simple de ponerla en marcha.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Delphi 11 Alexandria</title>
      <link>http://el-programador.com/post/delphi-11-alexandria/delphi-11-alexandria/</link>
      <pubDate>Thu, 09 Sep 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/delphi-11-alexandria/delphi-11-alexandria/</guid>
      <description>&lt;p&gt;Directamente, &lt;strong&gt;nueva versión de Delphi lanzada hoy!!&lt;/strong&gt; (9 de septiembre, 2021): &lt;strong&gt;RAD Studio 11&lt;/strong&gt; (Alexandria)&lt;/p&gt;
&lt;p&gt;Para no repetirnos con la información,
&lt;a href=&#34;https://www.embarcadero.com/products/rad-studio/whats-new-in-11-alexandria&#34; target=&#34;_blank&#34;&gt;estas son las novedades de
Rad Studio 11 Alexandria&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A instalarlo!&lt;/p&gt;
&lt;p&gt;Ya vamos viendo cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la welcome screen es nueva y ahora hay que hacer doble click para abrir los elementos, pero
&lt;a href=&#34;https://www.ideasawakened.com/post/customize-the-rad-studio-11-welcome-page-for-single-click-activations&#34; target=&#34;_blank&#34;&gt;aquí te cuentan como configurar la welcome screen para abrir elementos con un solo click&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://corneliusconcepts.tech/rad-studio-11-alexandria-first-look&#34; target=&#34;_blank&#34;&gt;RAD Studio 11 Alexandria - First Look&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A algunas personas les ha fallado la comprobación de la licencia durante la instalación (sic), una posible solución: &lt;a href=&#34;https://www.ideasawakened.com/post/quick-fix-for-for-rad-studio-11-license-failure-during-installation&#34; target=&#34;_blank&#34;&gt;Quick fix for for RAD Studio 11 license failure during installation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docwiki.embarcadero.com/RADStudio/Alexandria/en/What%27s_New&#34; target=&#34;_blank&#34;&gt;el what&amp;rsquo;s new&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-05-31</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-10-31/</link>
      <pubDate>Mon, 31 May 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-10-31/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 31 de Mayo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Esta semana comenzó con &lt;strong&gt;oro&lt;/strong&gt;! &lt;a href=&#34;https://delphimagic.blogspot.com/2021/05/obtener-los-eventos-de-windows-con.html&#34; target=&#34;_blank&#34;&gt;Obtener eventos relacionados con la seguridad informática&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Otro capítulo de la serie sobre bindings que está escribiendo Marco: &lt;a href=&#34;https://blog.marcocantu.com/blog/2021-june-delphi-bindings-list.html&#34; target=&#34;_blank&#34;&gt;Managing Delphi Expressions via a Bindings List component&lt;/a&gt;. Sigo
opinando lo mismo que la semana pasada.. no son automáticos, hay que hacer una llamada a Notify() :( En otros lenguajes/frameworks lo son.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://delphidesdecero.com/tutoriales/calcular-distancias-teniendo-en-cuenta-la-curvatura-de-la-tierra/&#34; target=&#34;_blank&#34;&gt;Calcular distancias teniendo en cuenta la curvatura de la tierra&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Buen artículo sobre &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=803&#34; target=&#34;_blank&#34;&gt;JSON en TMS WebCore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Listado y reseñas de las &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=805&#34; target=&#34;_blank&#34;&gt;últimas versiones&lt;/a&gt; del universo TMS&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;Pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Still the definitive illustration of real cybersecurity. &lt;a href=&#34;https://t.co/uDUNw3Dbjt&#34;&gt;pic.twitter.com/uDUNw3Dbjt&lt;/a&gt;&lt;/p&gt;&amp;mdash; Gene Spafford (@TheRealSpaf) &lt;a href=&#34;https://twitter.com/TheRealSpaf/status/1401555550480080901?ref_src=twsrc%5Etfw&#34;&gt;June 6, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Urgent &lt;a href=&#34;https://t.co/5IHXbIcc2i&#34;&gt;pic.twitter.com/5IHXbIcc2i&lt;/a&gt;&lt;/p&gt;&amp;mdash; Work Chronicles | Comics about work (@_workchronicles) &lt;a href=&#34;https://twitter.com/_workchronicles/status/1400517174221967362?ref_src=twsrc%5Etfw&#34;&gt;June 3, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://delphidesdecero.com/tutoriales/crear-tu-propio-servidor-proxy-en-delphi/&#34; target=&#34;_blank&#34;&gt;Crear tu propio Servidor Proxy en Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://delphidesdecero.com/tutoriales/como-crear-una-aplicacion-web-totalmente-independiente/&#34; target=&#34;_blank&#34;&gt;Aplicación Web con Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Muy interesante, para generar prototipos de tus aplicaciones móviles: &lt;a href=&#34;https://blogs.embarcadero.com/low-code-app-wizard-for-delphi/&#34; target=&#34;_blank&#34;&gt;Low Code App Wizard for Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/example-websockets-server-and-client-chat-application/&#34; target=&#34;_blank&#34;&gt;WebSockets server and client chat application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Danielle Teti, DMVCFramework: &lt;a href=&#34;https://daniele-teti.medium.com/writing-a-crud-api-with-dmvcframework-and-postgresql-part-1-4f00e2d8dfc&#34; target=&#34;_blank&#34;&gt;Writing a CRUD API with DMVCFramework and PostgreSQL — Part 1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://components4developers.blog/2021/06/02/critical-exploit-found-in-httpsys/&#34; target=&#34;_blank&#34;&gt;Critical exploit found in HTTP.sys!&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.xataka.com/empresas-y-economia/mayor-accionista-tencent-compra-stack-overflow-1-800-millones-dolares-web-referencia-para-programadores&#34; target=&#34;_blank&#34;&gt;El mayor accionista de Tencent compra Stack Overflow&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La Consejería de Cultura y Turismo de la Comunidad de Madrid @TurismoMadrid ha hecho públicas las ayudas al desarrollo de Videojuego:
&lt;a href=&#34;https://www.madrid.org/cs/Satellite?blobcol=urldata&amp;blobheader=application/pdf&amp;blobheadername1=Content-Disposition&amp;blobheadervalue1=filename%3DNOTA_INFORMATIVA_VIDEOJUEGOS_2021.pdf&amp;blobkey=id&amp;blobtable=MungoBlobs&amp;blobwhere=1353016472576&amp;ssbinary=true&#34; target=&#34;_blank&#34;&gt;puedes verlas aquí&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-05-24</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-10-24/</link>
      <pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-10-24/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 24 de Mayo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;p&gt;Vamos primero con una especie de &lt;em&gt;disclaimer&lt;/em&gt; y es que.. esta semana el grupo de &lt;a href=&#34;https://t.me/delphidevelopers&#34; target=&#34;_blank&#34;&gt;Telgram, Delphi developers&lt;/a&gt; no lo
he seguido mucho. Se está volviendo imposible. En mi opinión, un grupo de Telegram no debe ser el sitio dónde preguntar cosas en base
a pegar código y código. No se ve bien. Es un chat, no está organizado en hilos, las respuestas se mezclan con las distintas preguntas, un caos.
Pero la gente lo está utilizando así, y se vuelve ilegible. Es un chat, para opinar, comentar, compartir, alguna pregunta ocasional, pero no
es un foro y mucho menos Stack Overflow.&lt;/p&gt;
&lt;p&gt;Por lo demás, semana tranquila de nuevo (va llegando el verano a Europa):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;más entrevistas: &lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-aldo-victoria-talks-about-uworktify/&#34; target=&#34;_blank&#34;&gt;Aldo Victoria, Uworktify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;una guía para compilar &lt;a href=&#34;https://blogs.embarcadero.com/extract-transform-load-the-magic-behind-heidisql/&#34; target=&#34;_blank&#34;&gt;HeidiSQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/detecting-logos-on-images-using-google-cloud-vision-api/&#34; target=&#34;_blank&#34;&gt;Detecting Logos On Images Using Google Cloud Vision API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Un pdf, en la &lt;a href=&#34;https://vintageapple.org/macprogramming/pdf/Object-Oriented_Programming_fo_the_Macintosh_1986.pdf&#34; target=&#34;_blank&#34;&gt;página 43, descripción de Object Pascal&lt;/a&gt;, y
ojo, ya sabes, es de Macintosh! porque el Object Pascal era para los Mac&lt;/li&gt;
&lt;li&gt;Tuvimos en el grupo de &lt;a href=&#34;https://t.me/nosolodelphi&#34; target=&#34;_blank&#34;&gt;Telegram No Solo Delphi&lt;/a&gt; una charla (ves, charlas!) sobre los floats en la sentencia case (que no se puede) y alguien publicó un link
a un código que tiene una implementación para poder hacerlo: &lt;a href=&#34;https://gist.github.com/xavierlopezpujol/25c0547bd38fd2a15412a7f1f7858026&#34; target=&#34;_blank&#34;&gt;uso de case con floats&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El webinar que hizo Danysoft sobre inyección de dependencias:&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/R78F8ZeKS9c&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;y ya que estamos con webinars, si te atreves con el italiano: &lt;a href=&#34;https://www.delphiedintorni.it/webinars.html&#34; target=&#34;_blank&#34;&gt;webinars interesantes&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;p&gt;Vídeo sobre el uso de TMS FNC Maps:&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/MN9IAA8GE8E&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=802&#34; target=&#34;_blank&#34;&gt;Custom control development with TMS Web Core for Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nueva versión &lt;a href=&#34;https://www.tmssoftware.com/site/tmswebcore.asp&#34; target=&#34;_blank&#34;&gt;TMS Web Core v.1.7.2.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;Pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Blog post &amp;quot;Delphi Binding Expressions, Properties and Components&amp;quot; at &lt;a href=&#34;https://t.co/ezZyRa3Qai&#34;&gt;https://t.co/ezZyRa3Qai&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/Delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Delphi&lt;/a&gt; &lt;a href=&#34;https://t.co/LOVXbNIujq&#34;&gt;pic.twitter.com/LOVXbNIujq&lt;/a&gt;&lt;/p&gt;&amp;mdash; MarcoCantu (@marcocantu) &lt;a href=&#34;https://twitter.com/marcocantu/status/1398227511385989120?ref_src=twsrc%5Etfw&#34;&gt;May 28, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;und&#34; dir=&#34;ltr&#34;&gt;&lt;a href=&#34;https://t.co/cBzZESskrk&#34;&gt;https://t.co/cBzZESskrk&lt;/a&gt; &lt;a href=&#34;https://t.co/XO4ccAcdae&#34;&gt;pic.twitter.com/XO4ccAcdae&lt;/a&gt;&lt;/p&gt;&amp;mdash; MarcoCantu (@marcocantu) &lt;a href=&#34;https://twitter.com/marcocantu/status/1397815346636247043?ref_src=twsrc%5Etfw&#34;&gt;May 27, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Easily use machine-learning AI in your Delphi apps! In this post, learn how to set up the Google Cloud Vision API to detect logos. Read more: &lt;a href=&#34;https://t.co/wBNyLMgnAy&#34;&gt;https://t.co/wBNyLMgnAy&lt;/a&gt;&lt;a href=&#34;https://twitter.com/hashtag/machinelearning?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#machinelearning&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/AI?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#AI&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/Google?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Google&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/developers?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#developers&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/programming?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#programming&lt;/a&gt; &lt;a href=&#34;https://t.co/eUlmeE2HFD&#34;&gt;pic.twitter.com/eUlmeE2HFD&lt;/a&gt;&lt;/p&gt;&amp;mdash; Embarcadero Tech (@EmbarcaderoTech) &lt;a href=&#34;https://twitter.com/EmbarcaderoTech/status/1397652521951367174?ref_src=twsrc%5Etfw&#34;&gt;May 26, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;How to use STOMP in your apps? Check out these working code samples &amp;amp; components from Embarcadero Technology Partner, ESEGECE, and learn how to use the sgcWebSocket component as the STOMP carrier data. &lt;a href=&#34;https://t.co/O0Rb5nus0h&#34;&gt;https://t.co/O0Rb5nus0h&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/Delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Delphi&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/STOMP?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#STOMP&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/WebSocket?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#WebSocket&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/programming?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#programming&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/FMX?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#FMX&lt;/a&gt; &lt;a href=&#34;https://t.co/PZP51TUcNC&#34;&gt;pic.twitter.com/PZP51TUcNC&lt;/a&gt;&lt;/p&gt;&amp;mdash; Embarcadero Tech (@EmbarcaderoTech) &lt;a href=&#34;https://twitter.com/EmbarcaderoTech/status/1397568419512389638?ref_src=twsrc%5Etfw&#34;&gt;May 26, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;esta es de esas cosas que siempre hay que tener a mano: &lt;a href=&#34;http://docwiki.embarcadero.com/RADStudio/Sydney/en/Colors_in_the_VCL&#34; target=&#34;_blank&#34;&gt;tabla de colores en la VCL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Si alguna vez necesitas &amp;lsquo;parecer un hacker&amp;rsquo; delante de alguien: &lt;a href=&#34;https://hackertyper.net/&#34; target=&#34;_blank&#34;&gt;HackerTyper&lt;/a&gt; (nota: Pulsa cualquier tecla)&lt;/li&gt;
&lt;li&gt;Por si crees que a &amp;lsquo;los grandes&amp;rsquo; les sale todo bien a la primera: &lt;a href=&#34;https://killedbygoogle.com/&#34; target=&#34;_blank&#34;&gt;proyectos creados y abandonados por Google&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;y finalmente&amp;hellip;&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;The clients need to understand how to properly genuflect and address the programmer.&lt;br&gt;&lt;br&gt;Here&amp;#39;s a training video I use for my clients for you to send to yours. &lt;a href=&#34;https://t.co/j0KrZudRjU&#34;&gt;pic.twitter.com/j0KrZudRjU&lt;/a&gt;&lt;/p&gt;&amp;mdash; IanB (@punctuation) &lt;a href=&#34;https://twitter.com/punctuation/status/1397562190484451333?ref_src=twsrc%5Etfw&#34;&gt;May 26, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-05-17</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-10-17/</link>
      <pubDate>Mon, 17 May 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-10-17/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 17 de Mayo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Muy interesante el artículo publicado por Marco, vale la pena leerlo con calma: &lt;a href=&#34;https://blog.marcocantu.com/blog/2021-may-delphi-expression-engine.html&#34; target=&#34;_blank&#34;&gt;using Delphi&amp;rsquo;s Expressions Engine&lt;/a&gt;
Aunque yo creo que se le ha olvidado publicar el código del ejemplo, se queda así como un poco raro.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Embarcadero contínua con su labor de entrevistar y comentar aplicaciones realizadas por sus clientes, y han twitteado esta semana unas cuantas.
También han publicado en facebook, y no las mismas. ¿tendrán dos community managers?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/useful-felixgo-is-a-logistics-app-on-android-that-shows-versatility-of-delphi/&#34; target=&#34;_blank&#34;&gt;FlexiGO Workflow Logistic Androd App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-simon-hooper-recounts-the-story-of-his-wise-eyes-application/&#34; target=&#34;_blank&#34;&gt;Simon Hooper, Wise Eyes Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/automate-aircraft-workflow-with-delphi-and-a-mobile-phone/&#34; target=&#34;_blank&#34;&gt;Automate Aircraft Workflow With Delphi And A Mobile Phone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-brian-thomson-shares-insights-on-his-pro-workout-application&#34; target=&#34;_blank&#34;&gt;Brian Thomson, Pro WorkOut Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-artur-majtczak-discusses-more-of-his-allplayer-application&#34; target=&#34;_blank&#34;&gt;Artur Majtczak, ALLPlayer App&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;y tembién algún artículo técnico:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/modernize-your-app-are-you-handling-windows-themes-correctly/&#34; target=&#34;_blank&#34;&gt;Modernize Your App: Are You Handling Windows Themes Correctly?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;Tuvimos una entretenida conversación en el &lt;a href=&#34;https://t.me/nosolodelphi&#34; target=&#34;_blank&#34;&gt;grupo de Telegram NoSoloDelphi&lt;/a&gt; sobre la
construcción:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;procedure...
begin
//declarada con inferencia de tipo y fuera del var
var oAux:=TMyObject.create;
...
end;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Como ya va siendo habitual, el replay de la sesión TCoffeAndCode:&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/RcM8I3XL788&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Continúan con los &lt;em&gt;freebie friday&lt;/em&gt;, esta vez el artículo ha sido: &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=799&#34; target=&#34;_blank&#34;&gt;TMS FNC Maps helper functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ahora todos los componentes TMS FNC tienen &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=798&#34; target=&#34;_blank&#34;&gt;soporte FMXLinux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nueva versión &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=797&#34; target=&#34;_blank&#34;&gt;TMS FNC UI Pack 3.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nueva versión &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=795&#34; target=&#34;_blank&#34;&gt;TMS FNC Maps 1.5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;Pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Borland Barbarians Reunion &lt;a href=&#34;https://t.co/QLkR8JmIQI&#34;&gt;pic.twitter.com/QLkR8JmIQI&lt;/a&gt;&lt;/p&gt;&amp;mdash; Ivan de Souza (@ivanlsouza) &lt;a href=&#34;https://twitter.com/ivanlsouza/status/1396231839736532993?ref_src=twsrc%5Etfw&#34;&gt;May 22, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Discover &amp;quot;Intelli7&amp;quot; a cross-platform application built with Delphi &amp;amp; TMS FNC.&lt;a href=&#34;https://t.co/1xr5geaj7s&#34;&gt;https://t.co/1xr5geaj7s&lt;/a&gt;&lt;a href=&#34;https://twitter.com/hashtag/delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#delphi&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/Developer?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Developer&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/FNC?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#FNC&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/developers?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#developers&lt;/a&gt;&lt;/p&gt;&amp;mdash; tmssoftware (@TMSsoftwareNews) &lt;a href=&#34;https://twitter.com/TMSsoftwareNews/status/1395394471756509187?ref_src=twsrc%5Etfw&#34;&gt;May 20, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Me trying to use a framework without reading the docs &lt;a href=&#34;https://t.co/UpcWF8qRd6&#34;&gt;https://t.co/UpcWF8qRd6&lt;/a&gt;&lt;/p&gt;&amp;mdash; Tiago Ameller (@tiagoameller) &lt;a href=&#34;https://twitter.com/tiagoameller/status/1394974791392763904?ref_src=twsrc%5Etfw&#34;&gt;May 19, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;A great introduction to Object Pascal with Delphi. Highly recommended!&lt;a href=&#34;https://t.co/Os2iE8udSE&#34;&gt;https://t.co/Os2iE8udSE&lt;/a&gt;&lt;/p&gt;&amp;mdash; Jim McKeeth (@JimMcKeeth) &lt;a href=&#34;https://twitter.com/JimMcKeeth/status/1394002694600200194?ref_src=twsrc%5Etfw&#34;&gt;May 16, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://forum.lazarus.freepascal.org/index.php/topic,54712.0.html&#34; target=&#34;_blank&#34;&gt;FreePascal 3.2.2 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;en algún sitio (no recuerdo bien) se habló de este repositorio: &lt;a href=&#34;https://github.com/appercept/Delphi-WebMocks&#34; target=&#34;_blank&#34;&gt;pruebas HTTP Request con DUnitX&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.genbeta.com/windows/windows-10-may-2021-update-windows-10-21h1-esta-disponible-asi-puedes-actualizar&#34; target=&#34;_blank&#34;&gt;Novedades de la Windows 10 May 2021 Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.genbeta.com/paso-a-paso/asi-puedes-importar-directamente-microsoft-excel-datos-tablas-insertada-archivo-pdf&#34; target=&#34;_blank&#34;&gt;Así puedes importar directamente desde Microsoft Excel los datos de tablas insertadas en un archivo PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.genbeta.com/actualidad/microsoft-tiene-su-whatsapp-teams-llega-a-usuarios-familias-permite-videollamadas-300-personas&#34; target=&#34;_blank&#34;&gt;Microsoft ya tiene su WhatsApp: Temas para familias&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-05-10</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-10-05/</link>
      <pubDate>Mon, 10 May 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-10-05/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 10 de Mayo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Nos dejaron en telegram una referencia a otra &lt;a href=&#34;https://www.linkedin.com/posts/janainatcarvalho_depois-de-um-m%C3%AAs-e-meio-de-trabalho-ontem-ugcPost-6796393454906728448-M6Sd/&#34; target=&#34;_blank&#34;&gt;aplicación móvil hecha con Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;En facebook publicaron el &lt;a href=&#34;https://www.twitch.tv/patrickpremartin?fbclid=IwAR0guv-tnqpi7vXlp6GbqgXHjHAteHJzNegHqwfMN8YpmQPXH_f_OWl5GEg&#34; target=&#34;_blank&#34;&gt;Twitch de un programador FireMonkey&lt;/a&gt; que hace videojuegos con FireMonkey, en directo. Habla en francés, pero como se ve el IDE, el código se entiende. Ya nos hemos referido a él en alguna semana anterior.&lt;/li&gt;
&lt;li&gt;Más showcases y entrevistas: &lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-ruslan-gospodarencu-explains-about-his-e-schimb-software/&#34; target=&#34;_blank&#34;&gt;E-Schimb&lt;/a&gt; y
&lt;a href=&#34;https://blogs.embarcadero.com/delphi-empowers-wagamamas-mobile-ordering/&#34; target=&#34;_blank&#34;&gt;Wagamama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Comentamos en los grupos sobre la nueva criptomoneda Chia, la curiosidad: &lt;a href=&#34;https://hardzone.es/noticias/componentes/minar-chia-durabilidad-ssd/&#34; target=&#34;_blank&#34;&gt;un SSD ko en 40 dias&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hilo con vídeo incluido: &lt;a href=&#34;https://en.delphipraxis.net/topic/5053-desktop-software-cloud-deployment-options-which-do-we-have/?tab=comments#comment-44019&#34; target=&#34;_blank&#34;&gt;Desplegar en la nube una aplicación&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/connecting-databases-with-firedac-through-ssh/&#34; target=&#34;_blank&#34;&gt;FireDac con SSH&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Aprovechando las últimas novedades de Delphi, entre ellas los atributos,
se publicó una entrada sobre &lt;a href=&#34;http://www.kouraklis.com/2021/05/tms-data-modeler-and-filter-attributes/&#34; target=&#34;_blank&#34;&gt;TMS Data Modeler y los &amp;lsquo;attribute filters&#39;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=796&#34; target=&#34;_blank&#34;&gt;Consola del navegador y TMS Web Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lo que &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=794&#34; target=&#34;_blank&#34;&gt;podemos esperar de TMS Miletus&lt;/a&gt;. Ya sabemos, la propuesta
de TMS para sustituir a Electron, una maravilla y probablemente el futuro de muchas de las aplicaciones actuales programadas en Delphi&lt;/li&gt;
&lt;li&gt;Caso real de &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=793&#34; target=&#34;_blank&#34;&gt;aplicación FireMonkey pasada a web&lt;/a&gt; con TMS Web Core.
&lt;strong&gt;Se puede ver&lt;/strong&gt; aquí: &lt;a href=&#34;https://www.staranalyzer.com/run/&#34; target=&#34;_blank&#34;&gt;StarAnalyzer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;Pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;es&#34; dir=&#34;ltr&#34;&gt;ESPECTACULAR artículo del Washington Post sobre cómo han crecido las grandes empresas tecnológicas: a base de comprar CIENTOS de compañías, sobre todo cuando querían abrirse a nuevos sectores.&lt;a href=&#34;https://t.co/QpqZefEQ5j&#34;&gt;https://t.co/QpqZefEQ5j&lt;/a&gt; vía &lt;a href=&#34;https://twitter.com/elOrdenMundial?ref_src=twsrc%5Etfw&#34;&gt;@elOrdenMundial&lt;/a&gt;&lt;/p&gt;&amp;mdash; Carlos Alonso (@calonsonet) &lt;a href=&#34;https://twitter.com/calonsonet/status/1391763593935343617?ref_src=twsrc%5Etfw&#34;&gt;May 10, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.synopse.info/?post/2021/05/14/Enhanced-HTTP/HTTPS-Support-in-mORMot-2&#34; target=&#34;_blank&#34;&gt;Enhanced HTTP/HTTPS Support in mORMot 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.delphipraxis.net/topic/5036-ann-html-library-44-released/?tab=comments#comment-43884&#34; target=&#34;_blank&#34;&gt;Nueva versión 4.4 de HTML Library&lt;/a&gt; Una
maravilla de componentes, quizás ese enfoque de tener CSS en los componentes VCL se tendría que haber tomado directamente por parte de Embarcadero, porque
resulta simplemente espectacular.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Por si tienes dudas sobre las &lt;a href=&#34;https://community.spiceworks.com/how_to/146354-license-windows-10-for-use-in-virtualization-environment-including-multitenant-and-cloud-hosting-use-rights&#34; target=&#34;_blank&#34;&gt;licencias de Windows 10 en máquinas virtuales&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tecnología y €€€: &lt;a href=&#34;https://www.genbeta.com/actualidad/trama-pagos-resenas-falsas-amazon-que-implica-a-200-000-usuarios-expuesta-filtracion-base-datos&#34; target=&#34;_blank&#34;&gt;trama de pagos por reseñas falsas en Amazon&lt;/a&gt; y
aquí tenemos &lt;a href=&#34;https://www.genbeta.com/actualidad/asi-incentivaban-a-crear-resenas-falsas-proveedores-chinos-baneados-amazon&#34; target=&#34;_blank&#34;&gt;y cómo funcionaba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Así andamos en España: &lt;a href=&#34;https://www.genbeta.com/actualidad/caida-twitch-que-mantuvo-offline-durante-horas-posible-gracias-al-poder-telefonica-para-bloquear-webs-control-judicial&#34; target=&#34;_blank&#34;&gt;La &amp;lsquo;caída&amp;rsquo; de Twitch que la mantuvo offline durante horas, posible gracias al poder de Telefónica para bloquear webs sin control judicial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ojo al &lt;a href=&#34;https://www.lavanguardia.com/tecnologia/20210513/7452268/efecto-2038-nuevo-apocalipsis-informatico-colapso-mmn.html&#34; target=&#34;_blank&#34;&gt;Efecto 2038&lt;/a&gt;!!&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-05-03</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-05-03/</link>
      <pubDate>Mon, 03 May 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-05-03/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 3 de Mayo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Embarcadero nos ha dejado una muy buena iniciación al &lt;a href=&#34;https://blogs.embarcadero.com/natural-language-processing-5-ways-to-use-nlp-in-your-windows-apps/&#34; target=&#34;_blank&#34;&gt;procesamiento de lenguaje natural&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hay nuevo &lt;a href=&#34;https://blogs.embarcadero.com/embarcadero-expands-interbase-support-for-visual-studio/&#34; target=&#34;_blank&#34;&gt;driver ADO.Net, interbase, visual Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ha habido un nuevo &lt;a href=&#34;https://www.ideasawakened.com/post/delphi-10-4-2-patch-released-for-try-finally-issue&#34; target=&#34;_blank&#34;&gt;tercer parche para Delphi 10.4.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Delphi university &lt;a href=&#34;https://blogs.embarcadero.com/delphi-university-makes-a-year/&#34; target=&#34;_blank&#34;&gt;cumple un año&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Danysoft (el reseller Delphi en España) tiene un curso sobre &lt;a href=&#34;https://www.danysoft.com/modernizacion-aplicaciones-delphi/#sobre&#34; target=&#34;_blank&#34;&gt;modernización aplicaciones Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Los componentes &lt;a href=&#34;https://blog.marcocantu.com/blog/2021-may-ksvc7.html&#34; target=&#34;_blank&#34;&gt;Konopka Signature&lt;/a&gt; han sido actualizados. Son los
antiguos Raize, que fueron comprados por Embarcadero&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y esta imagen salió en alguno de los grupos (no recuerdo cual):&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;delphi-7-classes.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;hr&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/_0_cUcygmLU&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Replay de un TCoffeAndCode sobre intelingencia artificial.&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/6fJNmIU0haY&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Y otro TCoffeAndCode, sobre concurrencia. Estas charlas están muy bien, lástima por mi parte no poder asistir en directo (el nivel
de inglés tiene que ser muy muy alto para eso)&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/KosLWa08X4Q&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Video demostración de una app hecha con Delphi:&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/RAZkWYWvtrI&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;TMS sigue con sus asombrosos avances y sus componentes &lt;a href=&#34;https://www.tmssoftware.com/site/tmsfncstudio.asp&#34; target=&#34;_blank&#34;&gt;TMS Fnc&lt;/a&gt; ahora
también funcionan en la versión de TMS Web Core para Visual Studio Code! Se van acercando cada vez más a un entorno en el que no necesitamos
ya el IDE y compilador de Delphi&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;Pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;There is now an additional, third patch for RAD Studio 10.4.2 (also on GetIt) as it turned out we missed a few files from the General patch to address a critical exceptions handling issues on non-Windows platforms (RSP-33117). &lt;a href=&#34;https://t.co/01kdm0CGpu&#34;&gt;https://t.co/01kdm0CGpu&lt;/a&gt;&lt;/p&gt;&amp;mdash; MarcoCantu (@marcocantu) &lt;a href=&#34;https://twitter.com/marcocantu/status/1389261878837358593?ref_src=twsrc%5Etfw&#34;&gt;May 3, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;p&gt;Una herramienta low-code para programar juegos, de Nintendo:&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;es&#34; dir=&#34;ltr&#34;&gt;Pues no tiene mala pinta. A ver si se acuerda &lt;a href=&#34;https://twitter.com/NintendoES?ref_src=twsrc%5Etfw&#34;&gt;@NintendoES&lt;/a&gt; de nosotros y se enrolla un poquito ;) &lt;a href=&#34;https://t.co/yVgZMNN1KP&#34;&gt;https://t.co/yVgZMNN1KP&lt;/a&gt;&lt;/p&gt;&amp;mdash; Cosmic Works Studios (@CosmicWork) &lt;a href=&#34;https://twitter.com/CosmicWork/status/1390228796079542274?ref_src=twsrc%5Etfw&#34;&gt;May 6, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Nueva versión de &lt;a href=&#34;https://github.com/CleverComponents/Task-Runner/releases/tag/1.4&#34; target=&#34;_blank&#34;&gt;TaskRunner&lt;/a&gt;. La
descripción dice exactamente: This software build automation tool allows you to run sequential tasks, such as compiling projects, backup, restore DBs, executing scripts, and many more.
Tiene buena pinta.&lt;/li&gt;
&lt;li&gt;Nueva versión de &lt;a href=&#34;https://www.helpndoc.com/news-and-articles/2021-05-04-import-markdown-documents-duplicate-builds-and-customize-library-output-path-in-helpndoc-7.3&#34; target=&#34;_blank&#34;&gt;HelpNDoc&lt;/a&gt;. Ya he
comentado que yo esta herramienta sí la utilizo. No a diario, pero cuando la necesitas, cumple. Ahora con el soporte markdown me
resulta perfecta :)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://landgraf.dev/en/a-windows-native-tristate-checkbox-ttreeview-control/&#34; target=&#34;_blank&#34;&gt;TTreeView con checkboxes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Comentaron en Telegram sobre &lt;a href=&#34;https://radsystems.io/features&#34; target=&#34;_blank&#34;&gt;RadSystem&lt;/a&gt;. Otra herramientas Lowcode&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Miles de programas en peligro por un &lt;a href=&#34;https://www.redeszone.net/noticias/seguridad/vulnerabilidad-critica-python-miles-programas/&#34; target=&#34;_blank&#34;&gt;fallo crítico en Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Microsoft reporta que está desarrollando una &lt;a href=&#34;https://au.pcmag.com/migrated-15175-windows-10/86756/report-microsoft-is-developing-a-new-app-store-for-windows-10&#34; target=&#34;_blank&#34;&gt;nueva App Store para Windows 10&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-04-26</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-04-26/</link>
      <pubDate>Mon, 26 Apr 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-04-26/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 26 de Abril de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;La novedad de la semana! Dos &lt;a href=&#34;https://blog.marcocantu.com/blog/2021-april-radstudio1042-patches.html&#34; target=&#34;_blank&#34;&gt;nuevos parches para RAD Studio 10.4.2&lt;/a&gt; La descripción
completa, en el blog de &lt;a href=&#34;https://blogs.embarcadero.com/rad-studio-10-4-2-general-patch-and-delphi-compiler-patch/&#34; target=&#34;_blank&#34;&gt;Embarcadero&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y otra cosa destacable: &lt;a href=&#34;https://blog.marcocantu.com/blog/2021-april-object-pascal-style-guide.html&#34; target=&#34;_blank&#34;&gt;Nueva guía de estilo para Object Pascal&lt;/a&gt;.
En concreto yo no estoy de acuerdo con lo referente a la notación húngara. Yo sí &lt;a href=&#34;http://el-programador.com/post/notacion-hungara/&#34; target=&#34;_blank&#34;&gt;utilizo la notación húngara&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Entrevista (corta) a &lt;a href=&#34;https://blogs.embarcadero.com/partner-collaboration-to-drive-innovation-interview-with-tms-software&#34; target=&#34;_blank&#34;&gt;Bruno Fierens, fundador de TMS Software&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Se publicó también una encuesta: &lt;a href=&#34;https://blogs.embarcadero.com/developer-survey-are-you-part-of-the-light-side-or-dark-side/&#34; target=&#34;_blank&#34;&gt;¿IDE con tema claro u oscuro?&lt;/a&gt; y
los &lt;a href=&#34;https://developersurveys.idera.com/light-and-dark-ide-theme-results/&#34; target=&#34;_blank&#34;&gt;resultados&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cinco formas de utilizar &lt;a href=&#34;https://blogs.embarcadero.com/machine-learning-5-ways-to-use-ml-in-your-windows-apps/&#34; target=&#34;_blank&#34;&gt;machine learning en tus aplicaciones&lt;/a&gt;. Muy interesante,
utilizando librerías Python gracias a &lt;a href=&#34;https://github.com/pyscripter/python4delphi&#34; target=&#34;_blank&#34;&gt;Python4Delphi&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y otra entrevista: &lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-giuseppe-massimo-pinto-talks-about-his-application-metrodrummer-2/&#34; target=&#34;_blank&#34;&gt;Giuseppe Massimo Pinto Talks About His Application Metrodrummer 2&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/9L40EdXgGEg&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/ORYdSDJXCbE&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h1 id=&#34;pajaritos&#34;&gt;Pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;&amp;quot;We started the process of migrating our systems to micro services and are loving the DMVCFramework &amp;quot;DMVCFramework is definitely part of our lives right now&amp;quot;. -- E. Costa&lt;a href=&#34;https://twitter.com/hashtag/dmvcframework?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#dmvcframework&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/userquote?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#userquote&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#delphi&lt;/a&gt;&lt;a href=&#34;https://t.co/usx6cXWsbv&#34;&gt;https://t.co/usx6cXWsbv&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/news1888?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#news1888&lt;/a&gt;&lt;/p&gt;&amp;mdash; bit Time Professionals (@bittimepro) &lt;a href=&#34;https://twitter.com/bittimepro/status/1387753553515753472?ref_src=twsrc%5Etfw&#34;&gt;April 29, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Embarcadero Delphi Product Manager Marco Cantu &lt;a href=&#34;https://twitter.com/marcocantu?ref_src=twsrc%5Etfw&#34;&gt;@marcocantu&lt;/a&gt; has just published an updated version of the &lt;a href=&#34;https://twitter.com/hashtag/ObjectPascal?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#ObjectPascal&lt;/a&gt; style guide on the docwiki site. This covers modern &lt;a href=&#34;https://twitter.com/hashtag/Delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Delphi&lt;/a&gt; language features &amp;amp; some changes to the &lt;a href=&#34;https://twitter.com/hashtag/coding?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#coding&lt;/a&gt; style. Learn more: &lt;a href=&#34;https://t.co/3V0bnFKeB2&#34;&gt;https://t.co/3V0bnFKeB2&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/developers?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#developers&lt;/a&gt; &lt;a href=&#34;https://t.co/kmHynoYeO8&#34;&gt;pic.twitter.com/kmHynoYeO8&lt;/a&gt;&lt;/p&gt;&amp;mdash; Embarcadero Tech (@EmbarcaderoTech) &lt;a href=&#34;https://twitter.com/EmbarcaderoTech/status/1387798902171213828?ref_src=twsrc%5Etfw&#34;&gt;April 29, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;El experto &lt;a href=&#34;https://github.com/Embarcadero/BoldForDelphi/tree/AttracsBold&#34; target=&#34;_blank&#34;&gt;Bold&lt;/a&gt; se ha actualizado. Una especie de ORM, &amp;lsquo;model driven architecture&amp;rsquo; dicen sus autores. Hace tiempo era un producto comercial, si no lo conoces, échale un vistazo: &lt;a href=&#34;https://delphi.fandom.com/wiki/Bold_for_Delphi&#34; target=&#34;_blank&#34;&gt;Bold for Delphi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Nueva versión de los componentes &lt;a href=&#34;https://www.clevercomponents.com/products/inetsuite/&#34; target=&#34;_blank&#34;&gt;Clever Internet Suite 10.0&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;El primer ordenador cuántico privado &lt;a href=&#34;https://computerhoy.com/noticias/tecnologia/primer-ordenador-cuantico-privado-ya-tiene-destinatario-854939&#34; target=&#34;_blank&#34;&gt;ya tiene destinatario&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-04-19</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-04-19/</link>
      <pubDate>Mon, 19 Apr 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-04-19/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 19 de Abril de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/easily-automate-the-digitalocean-api-from-windows-and-mobile/&#34; target=&#34;_blank&#34;&gt;Easily Automate The DigitalOcean API From Windows And Mobile&lt;/a&gt;.
Digital Ocean es un proveedor de Internet que ofrece varios productos cloud, con su API. Aquí tienes la &lt;a href=&#34;https://developers.digitalocean.com/documentation/v2/&#34; target=&#34;_blank&#34;&gt;documentación de su API&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Esto es muy interesante, resultado de una pregunta en las redes,de un usuario al que le tardaba mucho el IDE en abrir formularios:
&lt;a href=&#34;https://stackoverflow.com/questions/14436047/what-is-the-purpose-of-package-cache-registry-entries&#34; target=&#34;_blank&#34;&gt;entrada &amp;ldquo;package cache&amp;rdquo; en el registro de Windows (Delphi)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WebSockets:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/R6PZGEf7N_U&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/this-google-api-easily-adds-powerful-speech-recognition-to-apps/&#34; target=&#34;_blank&#34;&gt;Quickly Convert Speech To Text With Powerful Google Artificial Intelligence APIs&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Entrevista: &lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-mehrdad-esmaeili-discusses-about-parslogo/&#34; target=&#34;_blank&#34;&gt;Mehrdad Esmaeili y su aplicación ParsLogo&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/plunge-into-a-museum-adventure-with-this-delphi-integration/&#34; target=&#34;_blank&#34;&gt;la empresa española Oz Software utilizando iBeacons con Delphi para la aplicación de un museo&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;p&gt;TMS sigue hablando de &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=775&#34; target=&#34;_blank&#34;&gt;Miletus&lt;/a&gt;:&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/hkF6TqC8Y18&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Y estábamos con el vídeo cuando&amp;hellip; ya hay nueva versión &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=785&#34; target=&#34;_blank&#34;&gt;TMS Web Core v1.7 Ancona&lt;/a&gt;, incorpora &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=775&#34; target=&#34;_blank&#34;&gt;Miletus&lt;/a&gt;!! un Electron-killer, una maravilla.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;tms.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/lJupT285AY8&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;


&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/cEtfPzcc0ZM&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=788&#34; target=&#34;_blank&#34;&gt;Firestore server-side filtering in TMS Web Core v1.7&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la nueva beta de TMS Web Core para Visual Studio Code &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=787&#34; target=&#34;_blank&#34;&gt;ya está disponible&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;Pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;more of that Jazz shine on: &lt;a href=&#34;https://t.co/jGxShEjR5a&#34;&gt;pic.twitter.com/jGxShEjR5a&lt;/a&gt;&lt;/p&gt;&amp;mdash; max kleiner (@maxkleiner) &lt;a href=&#34;https://twitter.com/maxkleiner/status/1384894528746770433?ref_src=twsrc%5Etfw&#34;&gt;April 21, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Hay nueva versión de los componentes &lt;a href=&#34;http://www.imageen.com/&#34; target=&#34;_blank&#34;&gt;ImageEn&lt;/a&gt;. A mí una vez me sacaron de un apuro, necesitaba
un visor de Tiffs!&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.habarisoft.com/&#34; target=&#34;_blank&#34;&gt;Habarisoft&lt;/a&gt; tiene una nueva versión para comunicarse con varios &lt;a href=&#34;https://en.wikipedia.org/wiki/Message_broker&#34; target=&#34;_blank&#34;&gt;message brokers (ActiveMQ, Stomp&amp;hellip;)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=786&#34; target=&#34;_blank&#34;&gt;Multi-tenant TMS WebCore client applications with Firestore&lt;/a&gt;.
&lt;a href=&#34;https://firebase.google.com/docs/firestore&#34; target=&#34;_blank&#34;&gt;FireStore&lt;/a&gt; es la base de datos NoSql; en la nube, de Google.
&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=782&#34; target=&#34;_blank&#34;&gt;Introducción al uso de Firestore con TMS WebCore v1.7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Ojo al software y los errores y las consecuencias&amp;hellip; &lt;a href=&#34;https://www.curistoria.com/2021/04/reiniciar-un-ordenador-habria-salvado-vidas-en-la-guerra-del-golfo.html&#34; target=&#34;_blank&#34;&gt;reiniciar un ordenador habría salvado vidas en la guerra del golfo&lt;/a&gt;. Y hablando de bugs,
ya sabeís cual fue &lt;a href=&#34;https://www.curistoria.com/2013/10/el-primer-bug-informatico-de-la-historia.html&#34; target=&#34;_blank&#34;&gt;el primer bug informático de la historia&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;la última actualización de Windows 10 &lt;a href=&#34;https://vandal.elespanol.com/noticia/1350743540/la-ultima-actualizacion-de-windows-10-provoca-caidas-de-fps-y-otros-problemas-en-juegos/&#34; target=&#34;_blank&#34;&gt;no va bien para videojuegos&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y no podíamos terminar sin dar la enhorabuena al personal de la NASA que han conseguido hacer volar el &amp;lsquo;helicóptero&amp;rsquo; en Marte!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En (no recuerdo dónde) alguien preguntaba sobre un buen tipo de letra para utilizar en Delphi. Yo utilizo este:  &lt;a href=&#34;https://www.jetbrains.com/es-es/lp/mono/&#34; target=&#34;_blank&#34;&gt;JetBrain Mono&lt;/a&gt;
Es el utilizado por los IDEs de JetBrain, los cuales por cierto son una maravilla.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y otra desgracia (hace poco tuvimos el incendio de OVH): &lt;a href=&#34;https://www.genbeta.com/actualidad/qnap-sufre-ataque-masivo-ransomware-nas-usuarios-estan-siendo-cifrados-7zip&#34; target=&#34;_blank&#34;&gt;QNAP sufre un ataque masivo de ransomware: los NAS de los usuarios están siendo cifrados con 7zip&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Muy interesante: &lt;a href=&#34;https://runninginproduction.com/&#34; target=&#34;_blank&#34;&gt;un sitio dónde los desarrolladores explican su stack utilizado en producción (web)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-04-12</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-04-12/</link>
      <pubDate>Mon, 12 Apr 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-04-12/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 12 de Abril de 2021.&lt;/p&gt;
&lt;p&gt;Semana tranquila, sin demasiadas novedades o discusiones importantes.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Shaders con FireMonkey! los shaders son algoritmos (transformaciones matemáticas diría yo) utilizados en efectos sobre imágenes, video juegos, etc. Un shader por ejemplo es el que hace que un enemigo se va como una silueta roja en un video juego, por ejemplo. Ojo, no es un tema sencillo, hay
cursos completos (y libros gordísimos) sobre shaders, pero aquí lo tienes:
&lt;a href=&#34;https://hackernoon.com/how-to-create-3d-materials-with-shader-programming-using-firemonkey-1r8t358y&#34; target=&#34;_blank&#34;&gt;How To Create 3D Materials With Shader Programming Using FireMonkey&lt;/a&gt;. Ya que estamos con video juegos, échale un vistazo a &lt;a href=&#34;https://www.unrealengine.com/en-US/digital-humans&#34; target=&#34;_blank&#34;&gt;MetaHumans (Unreal Engine)&lt;/a&gt; (no es Delphi, pero es asombroso)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Continúa la buena labor de Embarcadero haciendo tutoriales: &lt;a href=&#34;https://blogs.embarcadero.com/automate-access-to-current-and-historical-currency-exchange-rates-via-api/&#34; target=&#34;_blank&#34;&gt;Tutorial para consumir API ratio de conversión de monedas&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y continúan también con los Show Cases de aplicaciones realizadas con Delphi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/powerful-business-processes-app-works-on-all-platforms/&#34; target=&#34;_blank&#34;&gt;Powerful Business Processes app works on all platforms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/incredible-workflow-automation-app-for-loggers-is-developed-in-delphi/&#34; target=&#34;_blank&#34;&gt;Incredible Workflow Automation Mobile App For Loggers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/powerful-real-time-retail-dashboard-app-is-powered-by-delphi/&#34; target=&#34;_blank&#34;&gt;Powerful Real-Time Retail Dashboard App is Powered by Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/lframote-a-gorgeous-light-remote-android-mobile-app-integration&#34; target=&#34;_blank&#34;&gt;Integration: LFRemote: A Gorgeous Light Remote Mobile App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/brilliant-barcode-application-is-built-in-delphi&#34; target=&#34;_blank&#34;&gt;Brilliant Barcode Application Is Built In Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/plunge-into-a-museum-adventure-with-this-delphi-integration/&#34; target=&#34;_blank&#34;&gt;Plunge Into A Museum Adventure With This Delphi Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-jarrod-davis-speaks-of-his-gamevision-toolkit-application&#34; target=&#34;_blank&#34;&gt;Developer Stories: Jarrod Davis Speaks Of His GameVision Toolkit Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Un artículo de introducción a &lt;a href=&#34;https://blogs.embarcadero.com/websockets-harness-real-time-power-in-your-delphi-apps/&#34; target=&#34;_blank&#34;&gt;WebSockets&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;TMS Aurelius ya tiene licencia académica: &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=779&#34; target=&#34;_blank&#34;&gt;TMS Aurelius academic license&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/hJ8k9E3p4UA&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.esegece.com/&#34; target=&#34;_blank&#34;&gt;ESEGECE&lt;/a&gt;. Si necesitas trabajar con WebSockets, estos son tus componentes.&lt;/li&gt;
&lt;li&gt;Nueva versión (7.9.2) de &lt;a href=&#34;https://www.eurekalog.com/&#34; target=&#34;_blank&#34;&gt;EurekaLog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ha habido una &lt;a href=&#34;https://en.delphipraxis.net/topic/4919-ann-lmd-20210-platform-release-available&#34; target=&#34;_blank&#34;&gt;gran actualización de los componentes LMD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;pajaritos&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;No ha habido ningún tweet ha destacar esta semana&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Una muy buena explicación de &lt;strong&gt;interfaces&lt;/strong&gt;: &lt;a href=&#34;https://www.thoughtco.com/interfaces-in-delphi-programming-101-1058278&#34; target=&#34;_blank&#34;&gt;Interfaces in Delphi Programming &lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;mirando la propiedad &lt;em&gt;ExportedFields&lt;/em&gt; del componente &lt;a href=&#34;https://www.sqlmanager.net/products/tools/advancedexport&#34; target=&#34;_blank&#34;&gt;Advanced Data Export&lt;/a&gt;, llegué a esta interesante cuestión: &lt;a href=&#34;https://stackoverflow.com/questions/9379607/why-variables-are-declared-as-tstrings-and-created-as-tstringlist&#34; target=&#34;_blank&#34;&gt;parámetros TStrings en vez de TStringList&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.genbeta.com/windows/files-explorador-windows-10-que-llevabamos-anos-esperando-diseno-moderno-navegacion-pestanas&#34; target=&#34;_blank&#34;&gt;Files&lt;/a&gt; Una alternativa al explorador de ficheros de Windows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Este artículo ha dado mucho que hablar: &lt;a href=&#34;https://blogs.elconfidencial.com/tecnologia/tribuna/2021-04-13/programador-software-consultoria-producto-universidad_3030868/&#34; target=&#34;_blank&#34;&gt;Programar es de pobres: por qué el mundo del &amp;lsquo;software&amp;rsquo; está roto en España&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Microsoft hace la segunda mayor compra de su historia: 19.700 millones &lt;a href=&#34;https://www.eldiario.es/tecnologia/microsoft-anuncia-compra-nuance-19-700-millones-dolares_1_7797505.html&#34; target=&#34;_blank&#34;&gt;por una empresa de inteligencia artificial&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-04-05</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-04-05/</link>
      <pubDate>Mon, 05 Apr 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-04-05/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 5 de Abril de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Entrevista con &lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-patrick-gaydecki-talks-through-his-vsound-2-7-application/&#34; target=&#34;_blank&#34;&gt;Patrick Gaydecki&lt;/a&gt;,
autor de la aplicación &lt;a href=&#34;https://blogs.embarcadero.com/incredible-vsound-effects-pedal-for-musicians-is-written-in-delphi/&#34; target=&#34;_blank&#34;&gt;VSound&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Delphi está &lt;a href=&#34;https://en.delphipraxis.net/topic/4863-delphi-is-on-the-move-now-12-on-tiobe&#34; target=&#34;_blank&#34;&gt;décimosegundo en el índice TIOBE&lt;/a&gt;.
No voy a comentar más sobre semejante mamarrachada de índice, con Visual Basic en sexta posición y ensamblador en la octava, o peor aún,
considerar a SQL un lenguage &lt;em&gt;de programación&lt;/em&gt; más.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/radstudio-ide-keyboard-shortcuts-guide/&#34; target=&#34;_blank&#34;&gt;guía con los shortcuts del IDE&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y otra entrevista mas: &lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-john-hardy-elaborates-more-on-his-equation-visualization-application/&#34; target=&#34;_blank&#34;&gt;John Hardy&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y otra: &lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-flavius-fernandes-talks-through-his-erp-sirius-mobile/&#34; target=&#34;_blank&#34;&gt;Flavius Fernandes&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Artículo comentando cosas sobre los parámetros out, sin embargo lo más interesante creo que es &lt;a href=&#34;https://delphisorcery.blogspot.com/2021/04/out-parameters-are-just-bad-var.html&#34; target=&#34;_blank&#34;&gt;la función no documentada Default()&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vídeo, construyendo un cliente de Stack Overflow, multiplataforma:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/rOYGdsP8vZ4&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Embarcadero también nos ha contado como consulmir un API machine learning de Google: &lt;a href=&#34;https://blogs.embarcadero.com/easily-perform-powerful-text-analysis-with-google-machine-learning/&#34; target=&#34;_blank&#34;&gt;Easily Perform Powerful Text Analysis With Google Machine Learning&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sabes lo que es un huevo de Pascual en una aplicación? se trata de una característica escondida al usuario, activada normalmente con una combinación
secreta de teclas. Delphi también tiene el suyo: &lt;a href=&#34;https://corneliusconcepts.tech/delphis-easter-egg&#34; target=&#34;_blank&#34;&gt;huevo de pascua en el IDE de Delphi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://landgraf.dev/en/5-reasons-to-use-inline-variables-in-delphi/&#34; target=&#34;_blank&#34;&gt;5 Reasons to Use Inline Variables in Delphi&lt;/a&gt; y
&lt;strong&gt;no dejes de leer este artículo&lt;/strong&gt;:
&lt;a href=&#34;https://www.ideasawakened.com/post/newly-discovered-hidden-benefits-of-inline-variables-in-delphi&#34; target=&#34;_blank&#34;&gt;Newly discovered hidden benefits of inline variables in Delphi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Seguro que no sabes utilizar la ayuda de Delphi tan tan bien como explican aquí: &lt;a href=&#34;https://capecodgunny.blogspot.com/2021/04/turbo-boost-your-delphi-knowledge.html?m=1&#34; target=&#34;_blank&#34;&gt;Turbo Boost Your Delphi Knowledge - Become a Docwiki Ninja Warrior&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Para usuarios registrados, nueva versión &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=772&#34; target=&#34;_blank&#34;&gt;TMS Web Core 1.7 Ancona&lt;/a&gt;, que traerá
incorporado Miletus, del que ya hablamos la semana pasada, de todas formas, un vídeo. No he conseguido verlo traducido a Español, pero algo se puede ver, en el
minuto 4:50 ejecuta la aplicación y voilá!, una aplicación web en un ejecutable (como hace Electron)&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/lRIsLFBOWXQ&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img src=&#34;miletus.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;No faltan artículos criticando a Electron: &lt;a href=&#34;https://medium.com/swlh/goodbye-electron-welcome-flutter-22b3dc10d2f3&#34; target=&#34;_blank&#34;&gt;GoodBye Electron, hello flutter&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=777&#34; target=&#34;_blank&#34;&gt;Promesas en TMS Web Core&lt;/a&gt;. Promesas &amp;lsquo;a lo javascript&amp;rsquo;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Comenzó la semana con una mención a estos componentes para &lt;a href=&#34;https://thuliobittencourt.com/p/tbgwebcharts/&#34; target=&#34;_blank&#34;&gt;gráficos y dashboards&lt;/a&gt;. Están en
portugués.&lt;/li&gt;
&lt;li&gt;Hay nuevo &lt;a href=&#34;http://www.unigui.com/explore/roadmap-2021&#34; target=&#34;_blank&#34;&gt;RoadMap para UniGUI&lt;/a&gt;!&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Explaining legacy code to new employees &lt;a href=&#34;https://t.co/pfXnNK5FMI&#34;&gt;pic.twitter.com/pfXnNK5FMI&lt;/a&gt;&lt;/p&gt;&amp;mdash; Jen Gentleman 🌺 (@JenMsft) &lt;a href=&#34;https://twitter.com/JenMsft/status/1378090993744977920?ref_src=twsrc%5Etfw&#34;&gt;April 2, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Ya puedes descargar (canal Insider) la próxima &lt;a href=&#34;https://www.genbeta.com/windows/como-descargar-iso-windows-10-21h1-nadie&#34; target=&#34;_blank&#34;&gt;actualización Windows 10&lt;/a&gt;, que
llegará en primavera.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lo último de JetBrains (conjunto de IDEs que son de lo mejor, PhpStorm etc): &lt;a href=&#34;https://www.jetbrains.com/code-with-me/&#34; target=&#34;_blank&#34;&gt;Code with me&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pues resulta que existe el concepto &lt;a href=&#34;https://www.freelandev.com/podcast/107-sostenibilidad-web-razones-y-beneficios-para-prestarle-atencion/&#34; target=&#34;_blank&#34;&gt;webs sostenibles&lt;/a&gt;. Ecología, sostenibilidad y&amp;hellip; llegar a deducir que un png es más ecológico que un jpg. &amp;ldquo;Cosas veredes amigo Sancho&amp;rdquo;. Si tienes una web, puedes calcular
su impacto ecológico en &lt;a href=&#34;https://www.websitecarbon.com/&#34; target=&#34;_blank&#34;&gt;WebSite Carbon&lt;/a&gt;. Para este mismo blog que estás leyendo,
este ha sido el resultado:
&lt;img src=&#34;ecologia.jpg&#34; alt=&#34;&#34;&gt;
&lt;img src=&#34;ecologia2.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SQLite no es un juguete, simplemente tiene un nombre que despista: &lt;a href=&#34;https://antonz.org/sqlite-is-not-a-toy-database/&#34; target=&#34;_blank&#34;&gt;SQLite is not a toy database&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-03-29</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-03-29/</link>
      <pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-03-29/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 29 de Marzo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;De nuevo el vídeo de las novedades en Delphi 10.4.2, pero esta vez con links a las partes más interesantes:
&lt;a href=&#34;https://capecodgunny.blogspot.com/2021/03/video-whats-new-in-1042-with-timestamp.html&#34; target=&#34;_blank&#34;&gt;What&amp;rsquo;s new 10.4.2&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Artículo&amp;hellip; bueno, mejor lo lees: &lt;a href=&#34;https://dalijap.blogspot.com/2021/03/combining-const-and-out-parameters.html&#34; target=&#34;_blank&#34;&gt;combining const and out parameters&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Stephen Ball, presales director de Embarcadero, ha escrito un whitepaper: &lt;a href=&#34;https://blogs.embarcadero.com/rad-studio-for-managers-whitepaper/&#34; target=&#34;_blank&#34;&gt;RAD Studio Guide For Managers&lt;/a&gt;.
Está muy bien, 125 páginas con una guía para que un director TI compruebe las ventajas de RAD Studio. Incluso a nosotros nos puede servir para cada
vez que nos dicen eso de ¿por qué en Delphi?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/developer-stories-julian-ziersch-engages-on-his-fotoarray-application/&#34; target=&#34;_blank&#34;&gt;Entrevista con Julian Ziersch&lt;/a&gt; autor de
la aplicación fotoArray.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;50pascal.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Telnet con Delphi:&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/ACukjkDFRxY&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/quickly-control-light-bulbs-using-firemonkey/&#34; target=&#34;_blank&#34;&gt;Controlar bombillas&lt;/a&gt; con Delphi. Se refiere
a bombillas de la marca &lt;a href=&#34;https://getitnow.embarcadero.com/VeraAeotecLEDBulb-270/&#34; target=&#34;_blank&#34;&gt;Aeon Labs&lt;/a&gt; pero es una idea de lo que podemos
llegar a hacer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sitio con una completísima relación de &lt;a href=&#34;https://delphi-books.com/en/livres.html&#34; target=&#34;_blank&#34;&gt;libros publicados sobre Delphi y Pascal&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En DelphiMagic tenemos cómo &lt;a href=&#34;https://delphimagic.blogspot.com/2021/04/buscar-ips-maliciosas-con-delphi-y.html&#34; target=&#34;_blank&#34;&gt;buscar ips maliciosas con Delphi y VirusTotal&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Explicación del componente  TTMSFNCKanbanBoard, para hacer tableros kanban en tus aplicaciones:
&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=768&#34; target=&#34;_blank&#34;&gt;Workflow visualization in FMX&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=770&#34; target=&#34;_blank&#34;&gt;REST API Server with Delphi and XData 5: Read and Watch&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Disponible el webinar &lt;em&gt;Introducing Aurelius 5&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/UxNI4O7i36s&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Este post muestra como, con TMS Web Core, podemos utilizar javascript para enviar un email
desde el navegador. Ojo q el título despista, se conecta con un servidor de email; no es que lo envíe sin un servidor:
&lt;a href=&#34;https://flixengineering.com/archives/1510&#34; target=&#34;_blank&#34;&gt;send email from the browser without mail app&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=775&#34; target=&#34;_blank&#34;&gt;Miletus FrameWork&lt;/a&gt;. Primero parecía una inocentada del
April Fools Day pero no, es real: TMS tiene un framework que en principio parece que hace lo mismo que Electron. Permitir hacer ejecutables con
páginas web, ejecutables que pueden acceder a los recursos del equipo donde se ejecutan (esa es la clave). Pero al ser de TMS, aprovecha toooooodo el
ecosistema que ya tiene TMS. Otro bombazo de TMS. Esta gente ya se va acercando (en mi humilde opinión, IMHO es el acrónimo inglés) a ser el Delphi Killer
definitivo. No necesitan el IDE de RAD Studio porque ya tienen TMS Web Core para Visual Studio Code. Y ahora ya pueden hacer ejecutables, con este nuevo
Miletus. No lo perderemos de vista.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.almdev.com/&#34; target=&#34;_blank&#34;&gt;AlmediaDev&lt;/a&gt; tiene nueva versión. Son componentes con el objetivo principal de tener
un aspecto visual (themes) más elaborado que los VCL Styles. Yo utilizo &lt;a href=&#34;https://www.delphistyles.com/&#34; target=&#34;_blank&#34;&gt;Delphi Styles&lt;/a&gt; que
son estilos &amp;lsquo;estandar&amp;rsquo;, y así no hay que cambiar los componentes ni la programación.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Este es muy especial: &lt;a href=&#34;https://blogs.embarcadero.com/debugging-in-another-level-debugengine/&#34; target=&#34;_blank&#34;&gt;DebugEngine&lt;/a&gt;. Una librería
para debug &lt;a href=&#34;https://github.com/MahdiSafsafi/DebugEngine&#34; target=&#34;_blank&#34;&gt;(repo)&lt;/a&gt;. Una maravilla, vale la pena echarle un vistazo. Tiene la posibilidad
de incluir el .map (uno más optimizado que crea la librería) en el ejecutable&amp;hellip; casi una alternativa low-cost a herramientas más avanzadas como
&lt;a href=&#34;https://www.eurekalog.com/&#34; target=&#34;_blank&#34;&gt;EurekaLog&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Solamente por esto, ya vela la pena mirarlo:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;uses 
  DebugEngine.HookException;

{...}

procedure Foo;
begin
  try
    DoSomething;
  except
    on E: Exception do
      ShowMessage(E.StackTrace); &amp;lt;-----
  end;
end;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;En el &lt;a href=&#34;https://github.com/MahdiSafsafi/DebugEngine/wiki/Getting-started&#34; target=&#34;_blank&#34;&gt;Getting started&lt;/a&gt; tienes información suficiente
para saber de qué se trata.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Quartex Pascal &lt;a href=&#34;https://www.reddit.com/r/delphi/comments/me53b7/quartex_pascal_will_be_free_for_education_open/&#34; target=&#34;_blank&#34;&gt;será Open Source&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Aplicación para bici, hecha con Delphi (km, tiempos, velocidad&amp;hellip; gps.. en tiempo real):
&lt;a href=&#34;https://delphi.embarcadero.com/delphi26th-powered-by-delphi-impressive-ramengo-bike-app-for-fitness-activities/&#34; target=&#34;_blank&#34;&gt;Remengo Bike&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Si quieres acceder/manejar  repositorios Git desde Delphi, deberías utilizar &lt;a href=&#34;https://blogs.embarcadero.com/work-efficiently-with-git-repositories-using-gitfordelphi/&#34; target=&#34;_blank&#34;&gt;GitForDelphi&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/easy-serialization-from-query-to-json/&#34; target=&#34;_blank&#34;&gt;Serialización de query a JSON&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En telegram nos hablaron de &lt;a href=&#34;https://www.hiberus.com/crecemos-contigo/que-es-uipath-plataforma-rpa/&#34; target=&#34;_blank&#34;&gt;UI Path&lt;/a&gt;, una herramienta
para construir &amp;lsquo;robots&amp;rsquo; (entiendase scripts) y automatizar tareas en nuestros equipos.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;pajaritos&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Ha habido que hacer un poco de promoción de Delphi, porque siempre siempre se olvidan de él cuando se habla de &lt;em&gt;stacks de desarrollo&lt;/em&gt; y similares.
A Embarcadero todavía le queda una gran labor de márketing por delante&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;es&#34; dir=&#34;ltr&#34;&gt;&lt;a href=&#34;https://t.co/XLWht1FGfW&#34;&gt;https://t.co/XLWht1FGfW&lt;/a&gt; el Delphi de siempre. iOS, OS X,android, Windows, web. Con el mismo código y RAD ultra productivo&lt;/p&gt;&amp;mdash; Diego Muñoz (@cocosistemas) &lt;a href=&#34;https://twitter.com/cocosistemas/status/1376787177183580161?ref_src=twsrc%5Etfw&#34;&gt;March 30, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;Hay gente que está trasteando con Delphi, Azure y reconocimiento facial!&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;it&#34; dir=&#34;ltr&#34;&gt;Continuo a sperimentare con &lt;a href=&#34;https://twitter.com/hashtag/Delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Delphi&lt;/a&gt; e &lt;a href=&#34;https://twitter.com/hashtag/Azure?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Azure&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/CognitiveServices?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#CognitiveServices&lt;/a&gt;. &amp;quot;Face Detection&amp;quot;: rileva i visi nelle foto e ti dice posizione, genere, età, le parti del viso  la posa, occhiali, capelli, barba, makeup, le emozioni espresse e anche la presenza della mascherina.😷Alla faccia! 😁 &lt;a href=&#34;https://t.co/U2L1lGaiM7&#34;&gt;pic.twitter.com/U2L1lGaiM7&lt;/a&gt;&lt;/p&gt;&amp;mdash; Marco Breveglieri (@mbreveglieri) &lt;a href=&#34;https://twitter.com/mbreveglieri/status/1376857475249475586?ref_src=twsrc%5Etfw&#34;&gt;March 30, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Explaining legacy code to new employees &lt;a href=&#34;https://t.co/pfXnNK5FMI&#34;&gt;pic.twitter.com/pfXnNK5FMI&lt;/a&gt;&lt;/p&gt;&amp;mdash; Jen Gentleman 🌺 (@JenMsft) &lt;a href=&#34;https://twitter.com/JenMsft/status/1378090993744977920?ref_src=twsrc%5Etfw&#34;&gt;April 2, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.muycomputerpro.com/2021/03/30/red-hat-fsf-stallman&#34; target=&#34;_blank&#34;&gt;Red Hat se retira de la Free Software Foundation tras la vuelta de Stallman&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;chiste.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;La &lt;a href=&#34;https://www.bonilista.com/&#34; target=&#34;_blank&#34;&gt;Bonilista&lt;/a&gt; ya tiene su propia página web.
La Bonilista es una lista de correo semanal que lleva publicándose de forma ininterrumpida desde 2011 y ha
conseguido hacerse un hueco como una de las publicaciones más populares en el sector informático nacional.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No descuideís vuestro inglés&amp;hellip;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;chiste2.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://home.cs.colorado.edu/~kena/classes/5448/f12/presentation-materials/rao.pdf&#34; target=&#34;_blank&#34;&gt;Patrones GRASP&lt;/a&gt;. No tan conocidos
como los principios SOLID, pero vale la pena echarles un vistazo.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Esto va de tecnología web, no de Delphi. Basicamente va avisando de que el futuro web pasa por ir utilizando WebSockets:
&lt;a href=&#34;https://alistapart.com/article/the-future-of-web-software-is-html-over-websockets/&#34; target=&#34;_blank&#34;&gt;The Future of Web Software Is HTML-over-WebSockets&lt;/a&gt; . Pero
lo interesante aquí es que explica claramente como casi todo el stack que viene utilizándose hoy en día ha sido un fiasco. Nosotros con Delphi sabemos
bastante de ese tema porque, señores&amp;hellip; se trata de&amp;hellip; &lt;strong&gt;productividad&lt;/strong&gt;. Y Delphi es un campeón en eso. Una simple aplicación SPA con un stack javascript
lleva el framework correspondiente (Angular, Vue), todo el empaquetado (WebPack, sass, etc), la programación de la parte de cliente, que con javascript &amp;lsquo;a pelo&amp;rsquo;,
sin un compilador que nos vaya supervisando rápidamente se hace un calvario (hay que pasar por eso para comprobarlo, todos los gurús te dirán que eso no es así),
otra parte de la programación en el servidor, el API y las relaciones frontend-backend&amp;hellip; los tiempos de desarrollo y mantenimiento se disparan rápidamente.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y ya que estamos con webs, en Telegram también hablamos del &lt;a href=&#34;https://www.aunitz.net/umbral-de-doherty/&#34; target=&#34;_blank&#34;&gt;Umbral de Doherty&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h1 id=&#34;suceso-especial-commit-malicioso-en-php&#34;&gt;suceso especial: Commit malicioso en PHP&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Se ha producido esta semana un commit con código malicioso en el repositorio&amp;hellip; del intérprete de PHP. Ya podeís imaginar las consecuencias.
Afortunadamente se detectó a tiempo, pero es para reflexionar. Cada vez más todo en la nube (incendio de OVH), cada vez más todo en repositorio en la nube
(caso de PHP)&amp;hellip; Por supuesto q es necesario, pero hay que hacerlo muy muy bien, y a veces no es el caso.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;❗A pair of malicious commits were made in the PHP source code repository over the weekend. These commits were immediately noticed and reverted, and never reached end users.&lt;br&gt;&lt;br&gt;Because we&amp;#39;re still investigating the root cause, we are putting releases on hold for at least two weeks.&lt;/p&gt;&amp;mdash; php.net (@official_php) &lt;a href=&#34;https://twitter.com/official_php/status/1377339882645905408?ref_src=twsrc%5Etfw&#34;&gt;March 31, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;p&gt;Y una entrevista:&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/2mymyAaHjAA&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;En twitch tenemos un programador francés que hace directos de sus jornadas de programación (normalmente juegos, en Delphi) y aunque habla en francés,
lo que va programando se entiende bien: &lt;a href=&#34;https://www.twitch.tv/patrickpremartin&#34; target=&#34;_blank&#34;&gt;Patrick Premartin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-03-22</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-03-22/</link>
      <pubDate>Mon, 22 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-03-22/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 22 de Marzo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Marco nos cuenta como &lt;a href=&#34;https://blog.marcocantu.com/blog/2021-march-install-rad1042-getit.html&#34; target=&#34;_blank&#34;&gt;Actualizar a 10.4.2 vía GetIt!!&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un &lt;a href=&#34;https://blogs.embarcadero.com/radstudio-ide-keyboard-shortcuts-guide/&#34; target=&#34;_blank&#34;&gt;PDF con los Keyboard Shortcuts del IDE&lt;/a&gt;!!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;un post sobre &lt;a href=&#34;https://wiert.me/2021/03/23/delphi-object-instance-lifetime-demo-do-not-use-afterconstruction-as-a-poor-mans-way-to-work-around-non-virtual-constructor-or-undetermined-create-hierarchy-calls/&#34; target=&#34;_blank&#34;&gt;AfterConstruction&lt;/a&gt;.
Ojo! contenido denso, leer con calma.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En el grupo de Instagram me recomendaron esta increíble &lt;a href=&#34;https://github.com/tothpaul/Perseverance3D&#34; target=&#34;_blank&#34;&gt;librería Delphi para visualizar modelos 3d&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://delphiprofi.blogspot.com/2021/02/my-road-to-useable-mvvm-pattern.html&#34; target=&#34;_blank&#34;&gt;más cosas sobre el patrón MVVM&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Descuentazo del 36%&lt;/strong&gt; en &lt;a href=&#34;https://www.danysoft.com/promocion-embarcadero/&#34; target=&#34;_blank&#34;&gt;Danysoft&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En uno de los grupos de Telegram, el autor nos proporcionó el link de su juego programado con Delphi:
&lt;a href=&#34;https://play.google.com/store/apps/details?id=com.qulvar.Ezerion&#34; target=&#34;_blank&#34;&gt;Ezerion&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Muy interesante también, gran artículo: &lt;a href=&#34;https://landgraf.dev/en/catching-memory-leaks-in-delphi/&#34; target=&#34;_blank&#34;&gt;catching memory leaks in Delphi. List of tools&lt;/a&gt; y
desde este post llegamos al conocimiento de la versión 5 de FastMM: &lt;a href=&#34;https://github.com/pleriche/FastMM5&#34; target=&#34;_blank&#34;&gt;FastMM5&lt;/a&gt;. Por cierto, yo utilizo
EurekaLog, &lt;a href=&#34;http://el-programador.com/post/que-hay-instalado-mi-delphi/&#34; target=&#34;_blank&#34;&gt;como ya te he contado&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sobre Delphi vs WPF y Electron  tenemos:
&lt;a href=&#34;https://blogs.embarcadero.com/delphi-leads-wpf-and-electron-in-low-level-hardware-and-peripheral-access/&#34; target=&#34;_blank&#34;&gt;hardware&lt;/a&gt; y
&lt;a href=&#34;https://blogs.embarcadero.com/delphi-is-a-true-full-stack-development-platform-over-limited-wpf-and-electron/&#34; target=&#34;_blank&#34;&gt;full stack&lt;/a&gt; y
&lt;a href=&#34;https://blogs.embarcadero.com/delphi-provides-better-enterprise-source-code-protection-than-wpf-and-electron/&#34; target=&#34;_blank&#34;&gt;Mejor protección del código fuente que WPF y Electron&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Programa firemonkey sobre el &lt;a href=&#34;https://glooscapsoftware.blogspot.com/2021/03/firemonkey-3d-sun-earth-and-moon.html&#34; target=&#34;_blank&#34;&gt;sistema solar&lt;/a&gt;, incluye código
fuente.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.marcocantu.com/blog/2021-march-50years-pascal.html&#34; target=&#34;_blank&#34;&gt;50 años de la creación del lenguaje Pascal (1971).&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;solar.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Aunque lleves muchos años programando con Delphi, la VCL y la RTL son tan grandes que seguro que te dejas alguna cosa&amp;hellip; aquí tienes listas completas de los
&lt;a href=&#34;http://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Forms.TForm_Methods&#34; target=&#34;_blank&#34;&gt;métodos de un TForm&lt;/a&gt;,
las &lt;a href=&#34;http://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Forms.TForm_Properties&#34; target=&#34;_blank&#34;&gt;propiedades de un TForm&lt;/a&gt; y
&lt;a href=&#34;http://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Forms.TForm_Events&#34; target=&#34;_blank&#34;&gt;eventos de un TForm&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hablando en el grupo de Telegram sobre instalaciones en dos equipos&amp;hellip; &lt;a href=&#34;https://engineertips.wordpress.com/2020/07/28/embarcadero-delphi-slip-license-files/&#34; target=&#34;_blank&#34;&gt;Embarcadero Delphi Slip License Files&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En el interesantísimo blog &lt;strong&gt;Delphi Magic&lt;/strong&gt; tenemos &lt;a href=&#34;https://delphimagic.blogspot.com/2021/&#34; target=&#34;_blank&#34;&gt;Analizar malware usando reglas YARA con Delphi&lt;/a&gt;. Ya de paso en este blog, resaltar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://delphimagic.blogspot.com/2011/08/reconocimiento-de-caras-con-delphi.html&#34; target=&#34;_blank&#34;&gt;Reconocimiento de caras con Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://delphimagic.blogspot.com/2017/07/integrar-whatsapp-con-delphi.html&#34; target=&#34;_blank&#34;&gt;Integrar whatsapp con Delphi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://delphimagic.blogspot.com/2009/04/ocr-con-delphi.html&#34; target=&#34;_blank&#34;&gt;OCR con Delphi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;En &lt;a href=&#34;https://www.tmswebacademy.com/&#34; target=&#34;_blank&#34;&gt;TMSWeb Academy&lt;/a&gt; sigue habiendo &lt;a href=&#34;https://www.tmssoftware.com/site/tmswebacademy.asp&#34; target=&#34;_blank&#34;&gt;webinars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;TMS Aurelius ya va por la &lt;a href=&#34;https://www.tmssoftware.com/site/blogold.asp?post=767&#34; target=&#34;_blank&#34;&gt;versión 5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=764&#34; target=&#34;_blank&#34;&gt;TMS FNC Maps v1.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nueva versión del &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=764&#34; target=&#34;_blank&#34;&gt;TMS UI Pack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=765&#34; target=&#34;_blank&#34;&gt;HotSpots en FNC UI Pack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=769&#34; target=&#34;_blank&#34;&gt; Multi component, multi data source binding in FNC&lt;/a&gt;. Esto tiene un
componente TTMSFNCDataBinder muy interesante para &lt;strong&gt;data binding&lt;/strong&gt;. Personalmente creo q en Delphi el asunto del databinding solamente lo tenemos bien
resuelto en los componentes db-aware (los TDbEdit.. etc)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No te pierdas&lt;/strong&gt; esta &lt;a href=&#34;https://landgraf.dev/en/delphi-sydney-10-4-2-interview/&#34; target=&#34;_blank&#34;&gt;entrevista con Alexandre Henzen (Viasoft Korp)&lt;/a&gt;. Es
la historia de una compañía que comenzó con una sola persona, y ahora son más de 500. Siempre con Delphi y componentes TMS.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;utilidades-repositorios-componentes&#34;&gt;Utilidades, repositorios, componentes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Tenemos nueva versión de &lt;a href=&#34;https://www.helpndoc.com/news-and-articles/2021-03-23-generate-markdown-documents-improved-pdf-rendering-and-new-force-page-break-option-in-helpndoc-7.2/&#34; target=&#34;_blank&#34;&gt;HelpNDoc 7.2&lt;/a&gt;.
Ahora genera documentación en markdown!!!!. Yo lo utilizo, es muy útil para documentación interna, ayudas de las aplicaciones, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sobre HDPI (siempre el tema del HDPI dando vueltas):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://en.delphipraxis.net/topic/4768-vcl-handling-of-dpi-changes-poor-performance/?tab=comments#comment-41650&#34; target=&#34;_blank&#34;&gt;dpi poor performance problem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.delphipraxis.net/topic/3538-per-monitor-dpi-awareness-how-to-prevent-flickering&#34; target=&#34;_blank&#34;&gt;dpi prevent flickering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/rruz/vcl-styles-utils&#34; target=&#34;_blank&#34;&gt;repositorio VCL Styles Utils&lt;/a&gt; (Este repo es muy interesante)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ya que hemos mencionado repositorios, no dejes de mirar este: &lt;a href=&#34;https://github.com/VSoftTechnologies/VSoft.Awaitable&#34; target=&#34;_blank&#34;&gt;Async/Await con Delphi&lt;/a&gt;. Todo
el hype sobre javascript, async programming&amp;hellip; bien, nosotros en Object Pascal (Delphi) también tenemos esas funcionalidades.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DelphiParser tiene una versión gratuita de su &lt;a href=&#34;https://delphiparser.com/product/code-dependencies-analyzing-wizard-evaluation-edition/&#34; target=&#34;_blank&#34;&gt;analizador estático de código&lt;/a&gt;. Yo
utilizo &lt;a href=&#34;https://peganza.com/&#34; target=&#34;_blank&#34;&gt;Peganza&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://delphisorcery.blogspot.com/2021/03/introducing-delphi-uses-helper.html&#34; target=&#34;_blank&#34;&gt;Plugin para añadir unidades al &amp;ldquo;uses&amp;quot;&lt;/a&gt;. Mejora el
alt-f11 del IDE, tecleas un identificador y te muestra las unidades donde está, de ahí la añade al uses.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Repo muy interesante para estudiar: &lt;strong&gt;Promesas, a lo javascript&lt;/strong&gt;: &lt;a href=&#34;https://github.com/dfeprado/TPromise&#34; target=&#34;_blank&#34;&gt;TPromise&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Aquí te cuentan como &lt;a href=&#34;https://blogs.embarcadero.com/ultra-fast-way-to-retrieve-event-logs-in-your-delphi-app-with-robust-component-suite/&#34; target=&#34;_blank&#34;&gt;leer el registro de eventos de windows&lt;/a&gt; utilizando
los componentes &lt;a href=&#34;https://www.mitec.cz/&#34; target=&#34;_blank&#34;&gt;Mitec&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tenemos nueva versión de &lt;a href=&#34;https://www.trichview.com/wp/2021/03/25/trichview-19-2-reportworkshop-3-1-markdown-import-adit-math-engine-list-style-types-calendar-functions/&#34; target=&#34;_blank&#34;&gt;TRichView&lt;/a&gt;. Ahora
importa formato &lt;strong&gt;Markdown&lt;/strong&gt;, me alegro de que cada vez Markdown esté más soportado en todos los entornos. Este blog que estás leyendo, está
inicialmente &lt;a href=&#34;https://el-programador.com/post/hugo-markdown/&#34; target=&#34;_blank&#34;&gt;escrito en Markdown&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Nueva versión de &lt;a href=&#34;http://www.bergsoft.net/en-us/article/03-22-21&#34; target=&#34;_blank&#34;&gt;NextSuite&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.scitools.com/&#34; target=&#34;_blank&#34;&gt;Understand&lt;/a&gt;. Un analizador de código, si puede llamarse así.. no lo he probado pero tiene mejor
aspecto que &lt;a href=&#34;https://peganza.com/&#34; target=&#34;_blank&#34;&gt;Peganza Pascal Analizer&lt;/a&gt;. Ojo, no se puede comprar online.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/dieletro/tinjecttelegram_delphi&#34; target=&#34;_blank&#34;&gt;Utilizar telegram desde Delphi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;You can keep both 10.3.x and 10.4.x on the same computer or VM. It is only different releases of 10.4 that don&amp;#39;t coexist. Third party components for 10.3 and generally not compatible with 10.4, so you might need to re-install them &lt;a href=&#34;https://t.co/146rD2YDet&#34;&gt;https://t.co/146rD2YDet&lt;/a&gt;&lt;/p&gt;&amp;mdash; MarcoCantu (@marcocantu) &lt;a href=&#34;https://twitter.com/marcocantu/status/1373942771887833089?ref_src=twsrc%5Etfw&#34;&gt;March 22, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Are you using warnings and hints inline in the code editor in RAD Studio 10.4.2? &lt;a href=&#34;https://t.co/Z4Xedxm9tI&#34;&gt;https://t.co/Z4Xedxm9tI&lt;/a&gt;&lt;/p&gt;&amp;mdash; David Millington (@cpp_delphi_dave) &lt;a href=&#34;https://twitter.com/cpp_delphi_dave/status/1374303331733143558?ref_src=twsrc%5Etfw&#34;&gt;March 23, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;es&#34; dir=&#34;ltr&#34;&gt;¡Pues en esta secuencia precisamente trabajé yo! ☺️ Obviamente todos los zombies son digitales y así fue como lo hicimos 👇&lt;a href=&#34;https://twitter.com/hashtag/cine?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#cine&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/VFX?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#VFX&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/WorldWarZ?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#WorldWarZ&lt;/a&gt; &lt;a href=&#34;https://t.co/NhiTS5rcXZ&#34;&gt;pic.twitter.com/NhiTS5rcXZ&lt;/a&gt;&lt;/p&gt;&amp;mdash; Carolina Jiménez G. (@Okinfografia) &lt;a href=&#34;https://twitter.com/Okinfografia/status/1375708428459339782?ref_src=twsrc%5Etfw&#34;&gt;March 27, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;und&#34; dir=&#34;ltr&#34;&gt;&lt;a href=&#34;https://t.co/en9071mPAv&#34;&gt;pic.twitter.com/en9071mPAv&lt;/a&gt;&lt;/p&gt;&amp;mdash; Sarah Drasner (@sarah_edo) &lt;a href=&#34;https://twitter.com/sarah_edo/status/1375816278376505347?ref_src=twsrc%5Etfw&#34;&gt;March 27, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;Ojo a esto, no es de Delphi, pero es un detalle a destacar en la &lt;em&gt;industria de la programación&lt;/em&gt; (eso de desarrollo no me gusta, programación). Se
trata de &lt;strong&gt;UpToDown&lt;/strong&gt;, parece una especie de nueva tienda de apps para Android, pero lo destacable es el logo de uno de los grandes ancos españoles en
la presentación. La programación es €€€€&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;This is an exciting moment. We&amp;#39;re inaugurating what we hope will be a new era for Android. Today we announce what we&amp;#39;ve been secretly working on for over two years. Unity and Uptodown. &lt;a href=&#34;https://t.co/HzfRo11BcA&#34;&gt;pic.twitter.com/HzfRo11BcA&lt;/a&gt;&lt;/p&gt;&amp;mdash; Luis Hernández (@luishg) &lt;a href=&#34;https://twitter.com/luishg/status/1374380040331292673?ref_src=twsrc%5Etfw&#34;&gt;March 23, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;El componente que finalmente (a falta de algunas pruebas más concretas) que me va a permitir abandonar las aplicaciones MDI y pasarme a TDI
es &lt;a href=&#34;https://www.tmssoftware.com/site/aot.asp&#34; target=&#34;_blank&#34;&gt;TAdvOfficeMDITabSet&lt;/a&gt;. Tengo un prototipo montado con el Pagecontrol de
&lt;a href=&#34;https://community.embarcadero.com/blogs/entry/konopka-controls-radiant-shapes-turbopack-and-more-in-getit-for-10-2-tokyo&#34; target=&#34;_blank&#34;&gt;Konopka&lt;/a&gt;,
lo que antes eran &lt;a href=&#34;https://edn.embarcadero.com/article/44519&#34; target=&#34;_blank&#34;&gt;Raize&lt;/a&gt;, pero es que&amp;hellip; instalados vía getit, me encuentro con
la ayuda sin actualizar, sin una página oficial de soporte&amp;hellip; no me resultan fiables, hay riesgo de que se &lt;em&gt;queden olvidados&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.gameinformer.com/2021/03/22/microsoft-could-acquire-discord-if-10-billion-talks-go-through&#34; target=&#34;_blank&#34;&gt;Micrososoft anuncia la posible compra de Discord&lt;/a&gt;.
Nos trae a la memoria el recuerdo de cuando &lt;a href=&#34;https://blog.marcocantu.com/blog/microsoft_skype_delphi.html&#34; target=&#34;_blank&#34;&gt;Microsoft compró Skype&lt;/a&gt;, en 2011. Por cierto,
el Skype original estaba programado en Delphi.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Para administradores de servidores, interesante: &lt;a href=&#34;https://www.microsiervos.com/archivo/internet/truco-archivo-vacio-8-gb.html&#34; target=&#34;_blank&#34;&gt;El truco del archivo vacío de 8Gb&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y esto tiene que ver con la industria, con la programaciòn, con un sector que a veces parece &amp;lsquo;que solamente es cosa de crios&amp;rsquo;: &lt;a href=&#34;https://vandal.elespanol.com/noticia/1350742795/la-fifa-ha-generado-mas-ingresos-con-los-videojuegos-que-con-el-futbol-en-2020/&#34; target=&#34;_blank&#34;&gt;FIFA ingresó más por los videojuegos que por el fútbol en 2020&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-03-15</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-03-15/</link>
      <pubDate>Mon, 15 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-03-15/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 15 de Marzo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;blogs-twitter-redes&#34;&gt;Blogs, Twitter, redes&amp;hellip;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Mormot contínua siendo uno de los frameworks más comentados. Realmente amplio, por ejemplo; estas son
algunas &lt;a href=&#34;https://synopse.info/files/html/api-1.18/SynCommons.html&#34; target=&#34;_blank&#34;&gt;funciones disponibles en Mormot&lt;/a&gt;.
La &lt;a href=&#34;https://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html&#34; target=&#34;_blank&#34;&gt;documentación oficial comienza aquí&lt;/a&gt;.
Tremendamente amplio este framework, básicamente es un &lt;a href=&#34;https://es.wikipedia.org/wiki/Asignaci%C3%B3n_objeto-relacional&#34; target=&#34;_blank&#34;&gt;ORM&lt;/a&gt; pero como ves en la documentación, incluye muchísimas cosas más.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Embarcadero ha escrito un &lt;a href=&#34;https://blogs.embarcadero.com/additional-considerations-and-links-on-rad-studio-10-4-2/&#34; target=&#34;_blank&#34;&gt;repaso de todo lo publicado sobre la Delphi Sydney 10.4.2&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://thundaxsoftware.blogspot.com/2017/07/json-rtti-mapper-with-delphi.html&#34; target=&#34;_blank&#34;&gt;JSON Rtti mapper with Delphi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;unas notas de la diferencia de dependencias en el &lt;a href=&#34;https://blogs.embarcadero.com/delphi-delivers-impressive-zero-dependency-deployment-over-wpf-and-electron/&#34; target=&#34;_blank&#34;&gt;deployment de una aplicación&lt;/a&gt;
entre Delphi y Electron. De paso, no dejes de visitar &lt;a href=&#34;https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies&#34; target=&#34;_blank&#34;&gt;.net framework versions and dependencies&lt;/a&gt; para ver el mundo de dependencias que supone una aplicación basada en .net. Con
lo tranquilos que estamos con nuestros ejecutables Delphi y cero dependencias! (drivers de bases de datos aparte, pero si queremos, con unidac por ejemplo, ni siquiera eso).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Siguen celebrándose los &lt;a href=&#34;https://blog.marcocantu.com/blog/2021-march-tcoffeeandcode.html&#34; target=&#34;_blank&#34;&gt;TCoffeAndCode&lt;/a&gt;. Sin duda interesantes pero se requiere un buen nivel de inglés&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Embarcadero sigue ofreciendo un &lt;a href=&#34;https://www.embarcadero.com/radoffer&#34; target=&#34;_blank&#34;&gt;26% de descuento&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lista de mejoras de los &lt;a href=&#34;https://en.delphipraxis.net/topic/4713-delphi-data-access-components-performance-improvement-and-rad-studio-1042-sydney-support&#34; target=&#34;_blank&#34;&gt;componentes UniDAC actualizados a 10.4.2&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/v9cfaIJivVo&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Este post me lo dejo anotado porque hay que leerlo detenidamente:
&lt;a href=&#34;https://wiert.me/2021/03/18/delphi-invalid-floating-point-operation-calling-trunc-stack-overflow/&#34; target=&#34;_blank&#34;&gt;Invalid floating point operation calling Trunc()&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En uno de los grupos de Telegram se ha estado hablando (otra vez) del tema de los precios, de la versión Community&amp;hellip; es un tema recurrente.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y también se ha hablado de guias de estilo: &lt;a href=&#34;https://github.com/radprogrammer/radteam/wiki/RADProgrammer-Style-Guide&#34; target=&#34;_blank&#34;&gt;RADProgrammer style guide&lt;/a&gt;,
&lt;a href=&#34;https://edn.embarcadero.com/article/10280&#34; target=&#34;_blank&#34;&gt;Object Pascal Style Guide&lt;/a&gt;, &lt;a href=&#34;https://github.com/DelphiWorlds/CodingStandards/wiki/Delphi-coding-standards&#34; target=&#34;_blank&#34;&gt;Delphi coding standars&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Nuestro Delphi cada vez nos permite hacer más cosas: &lt;a href=&#34;https://blogs.embarcadero.com/easily-connect-to-zephyr-hxm-smart-heart-rate-monitor-using-rad-studio/&#34; target=&#34;_blank&#34;&gt;conexión con el pulsómetro Zplyr hxm smart&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;oro puro! &lt;a href=&#34;https://blogs.embarcadero.com/developer-tip-ultimate-way-to-identify-the-windows-firewall-and-its-rules/&#34; target=&#34;_blank&#34;&gt;como identificar las reglas del firewall, por código&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;y para importar/exportar ficheros Excel sin tener Excel instalado, pero
con versiones &lt;em&gt;antiguas&lt;/em&gt; de Delphi (TMS Flexcel requiere versiones superiores a XE) tenemos &lt;a href=&#34;http://www.kluug.net/xlsx-ods-delphi.php&#34; target=&#34;_blank&#34;&gt;OExport Import/Export&lt;/a&gt;. Soporta Delphi 5, 6, 7, 2005, 2006, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1, 10.2, 10.3: Win32, Win64, Mac OSX (not iOS, Android); VCL and FireMonkey
Delphi 10.3.2, 10.3.3, 10.4: Mac OSX 64bit, Linux 64bit; FireMonkey and console applications (OExport_NoGUI.pas)
Lazarus: Win32, Win64, Mac OSX, Linux (Little-Endian platforms only); LCL.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Otra aplicación hecha con Delphi (y componentes &lt;a href=&#34;https://www.tmssoftware.com/&#34; target=&#34;_blank&#34;&gt;TMS&lt;/a&gt;) &lt;a href=&#34;https://blogs.embarcadero.com/impressive-logo-programming-software-pars-logo-is-powered-by-delphi/&#34; target=&#34;_blank&#34;&gt;Pars Logo&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Preview de una nueva version de &lt;a href=&#34;https://www.tmssoftware.com/site/tmswebcoreintro.asp&#34; target=&#34;_blank&#34;&gt;TMS Web Core&lt;/a&gt; para &lt;strong&gt;Visual Studio Code&lt;/strong&gt; (No confundir con Visual Studio). Han conseguido que se pueda instalar/crear componentes! Una maravilla y un serio &lt;strong&gt;Delphi Killer&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;y TMS continúa con sus eventos en su &lt;a href=&#34;https://www.tmssoftware.com/site/tmswebacademy.asp&#34; target=&#34;_blank&#34;&gt;TMS Web Academy&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;artículo denso, para leer despacio y opinable: &lt;a href=&#34;https://delphisorcery.blogspot.com/2021/03/const-parameters-are-implementation.html&#34; target=&#34;_blank&#34;&gt;const parameters are an implementation detail&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;pajaritos&#34;&gt;pajaritos&lt;/h1&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;&lt;a href=&#34;https://twitter.com/hashtag/Robotics?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Robotics&lt;/a&gt; with &lt;a href=&#34;https://twitter.com/hashtag/Pascal?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Pascal&lt;/a&gt;: Generic algorithms implemented with &lt;a href=&#34;https://twitter.com/hashtag/FreePascal?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#FreePascal&lt;/a&gt; in the &lt;a href=&#34;https://twitter.com/hashtag/Lazarus?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Lazarus&lt;/a&gt; IDE allow robotic manipulators to perform complex and versatile tasks. &lt;a href=&#34;https://t.co/tcyTtkK7fV&#34;&gt;https://t.co/tcyTtkK7fV&lt;/a&gt; &lt;a href=&#34;https://t.co/puRGZGrRSm&#34;&gt;pic.twitter.com/puRGZGrRSm&lt;/a&gt;&lt;/p&gt;&amp;mdash; Scientific Pascal (@SciPasTips) &lt;a href=&#34;https://twitter.com/SciPasTips/status/1373342852521033728?ref_src=twsrc%5Etfw&#34;&gt;March 20, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;&amp;quot;We started the process of migrating our systems to micro services and are loving the DMVCFramework &amp;quot;DMVCFramework is definitely part of our lives right now&amp;quot;. -- E. Costa&lt;a href=&#34;https://twitter.com/hashtag/dmvcframework?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#dmvcframework&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/userquote?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#userquote&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#delphi&lt;/a&gt;&lt;a href=&#34;https://t.co/usx6cXWsbv&#34;&gt;https://t.co/usx6cXWsbv&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/news1772?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#news1772&lt;/a&gt; &lt;a href=&#34;https://t.co/vB4jvJfbns&#34;&gt;pic.twitter.com/vB4jvJfbns&lt;/a&gt;&lt;/p&gt;&amp;mdash; bit Time Professionals (@bittimepro) &lt;a href=&#34;https://twitter.com/bittimepro/status/1371370583196319744?ref_src=twsrc%5Etfw&#34;&gt;March 15, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;What do you expected happens when trying to complete this in &lt;a href=&#34;https://twitter.com/hashtag/Delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Delphi&lt;/a&gt; 10.4.2 vs. 10.3?&lt;br&gt;&lt;br&gt;procedure Test;&lt;br&gt;type&lt;br&gt;  TRec = record&lt;br&gt;    IsStart: Boolean;&lt;br&gt;    IsEnd: Boolean;&lt;br&gt;  end;&lt;br&gt;var&lt;br&gt;  R: TRec;&lt;br&gt;begin&lt;br&gt;  if R .Is //&amp;lt;- Invoke CC directly after &amp;quot;Is&amp;quot;&lt;br&gt;end;&lt;/p&gt;&amp;mdash; Uwe Schuster (@UScLE) &lt;a href=&#34;https://twitter.com/UScLE/status/1371837769207713795?ref_src=twsrc%5Etfw&#34;&gt;March 16, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;ojo a este Tweet de Embarcadero, comentando los componentes que seguramente son la mayor competencia a FireDAC:&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;New in &lt;a href=&#34;https://twitter.com/hashtag/Delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Delphi&lt;/a&gt; DAC: Support for RAD Studio 10.4.2 &amp;amp; multiple performance improvements. Devart DAC products are now also compatible with &lt;a href=&#34;https://twitter.com/hashtag/macOS?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#macOS&lt;/a&gt; Big Sur, &lt;a href=&#34;https://twitter.com/hashtag/iOS?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#iOS&lt;/a&gt; 14 &amp;amp; &lt;a href=&#34;https://twitter.com/hashtag/Android?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Android&lt;/a&gt; 11. Learn more about their latest release here: &lt;a href=&#34;https://t.co/SGHmnnwq7Y&#34;&gt;https://t.co/SGHmnnwq7Y&lt;/a&gt;  &lt;a href=&#34;https://twitter.com/hashtag/DAC?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#DAC&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/RADStudio?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#RADStudio&lt;/a&gt; &lt;a href=&#34;https://twitter.com/DevartSoftware?ref_src=twsrc%5Etfw&#34;&gt;@DevartSoftware&lt;/a&gt; &lt;a href=&#34;https://t.co/WtOWYqe87t&#34;&gt;pic.twitter.com/WtOWYqe87t&lt;/a&gt;&lt;/p&gt;&amp;mdash; Embarcadero Tech (@EmbarcaderoTech) &lt;a href=&#34;https://twitter.com/EmbarcaderoTech/status/1372155946718392329?ref_src=twsrc%5Etfw&#34;&gt;March 17, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;y hay una versión especial de Lazarus con TMS Web Core&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Special edition Lazarus IDE for macOS with integrated TMS WEB Core trial version is now available!&lt;a href=&#34;https://t.co/oFRGkjKSCS&#34;&gt;https://t.co/oFRGkjKSCS&lt;/a&gt;&lt;br&gt;&lt;br&gt;Discover more on:&lt;a href=&#34;https://t.co/V2aAXSArIt&#34;&gt;https://t.co/V2aAXSArIt&lt;/a&gt;&lt;a href=&#34;https://t.co/WOgv6ORgYM&#34;&gt;https://t.co/WOgv6ORgYM&lt;/a&gt;&lt;a href=&#34;https://twitter.com/hashtag/development?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#development&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/developers?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#developers&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/lazarus?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#lazarus&lt;/a&gt; &lt;a href=&#34;https://t.co/C0bqMRSqLf&#34;&gt;pic.twitter.com/C0bqMRSqLf&lt;/a&gt;&lt;/p&gt;&amp;mdash; tmssoftware (@TMSsoftwareNews) &lt;a href=&#34;https://twitter.com/TMSsoftwareNews/status/1372189139194482690?ref_src=twsrc%5Etfw&#34;&gt;March 17, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;p&gt;Los lios con usuarios con dos monitores, distintas resoluciones, distinto tamaño de texto (en configuración Windows)&amp;hellip; a partir de que Delphi soporta Per Monitor v2, la cosa es un poco más sencilla, pero hay que leer un poco:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.codedotshow.com/blog/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio/&#34; target=&#34;_blank&#34;&gt;High-res DPI and Per Monitor v2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.microsoft.com/es-es/windows/win32/api/shellscalingapi/nf-shellscalingapi-setprocessdpiawareness&#34; target=&#34;_blank&#34;&gt;setprocessdpiawareness&lt;/a&gt; (DPI Aware en runtime)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://docwiki.embarcadero.com/RADStudio/Sydney/en/Customizing_the_Windows_Application_Manifest_File&#34; target=&#34;_blank&#34;&gt;Personalizando el manifest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;windows 10 and modern HDPI display support&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;https://blogs.embarcadero.com/windows-10-and-modern-high-dpi-display-support-in-delphi-and-c-builder/&#34;&gt;https://blogs.embarcadero.com/windows-10-and-modern-high-dpi-display-support-in-delphi-and-c-builder/&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.delphipower.xyz/guide_8/scaling_forms.html&#34; target=&#34;_blank&#34;&gt;Scaling forms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.marcocantu.com/blog/2018-nov-vcl-permonitorv2_getsystemmetrics.html&#34; target=&#34;_blank&#34;&gt;getSystemMetrics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;style type=&#34;text/css&#34;&gt;.notice{padding:18px;line-height:24px;margin-bottom:24px;border-radius:4px;color:#444;background:#e7f2fa}.notice p:last-child{margin-bottom:0}.notice-title{margin:-18px -18px 12px;padding:4px 18px;border-radius:4px 4px 0 0;font-weight:700;color:#fff;background:#6ab0de}.notice.warning .notice-title{background:rgba(217,83,79,.9)}.notice.warning{background:#fae2e2}.notice.info .notice-title{background:#f0b37e}.notice.info{background:#fff2db}.notice.note .notice-title{background:#6ab0de}.notice.note{background:#e7f2fA}.notice.tip .notice-title{background:rgba(92,184,92,.8)}.notice.tip{background:#e6f9e6}.icon-notice{display:inline-flex;align-self:center;margin-right:8px}.icon-notice img,.icon-notice svg{height:1em;width:1em;fill:currentColor}.icon-notice img,.icon-notice.baseline svg{top:0.125em;position:relative}&lt;/style&gt;
&lt;svg width=&#34;0&#34; height=&#34;0&#34; display=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;symbol id=&#34;tip-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;note-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;warning-notice&#34; viewBox=&#34;0 0 576 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;info-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z&#34;/&gt;&lt;/symbol&gt;&lt;/svg&gt;&lt;div class=&#34;notice info&#34; &gt;
&lt;p class=&#34;first notice-title&#34;&gt;&lt;span class=&#34;icon-notice baseline&#34;&gt;&lt;svg&gt;&lt;use href=&#34;#info-notice&#34;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;Información&lt;/p&gt;&lt;p&gt;Recordar que el soporte Per Monitor V2 no incluye MDI.
&lt;a href=&#34;http://docwiki.embarcadero.com/RADStudio/Sydney/en/Per_Monitor_V2&#34; target=&#34;_blank&#34;&gt;Toda la info de Per Monitor V2&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Nunca me cansaré de resaltar lo importante que es tener un buen criterio para nombrar las unidades, los forms, tus librerías&amp;hellip; (a ver si un dia puedo escribir algo sobre eso)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;uses.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Espectacular web para &lt;a href=&#34;https://learngitbranching.js.org/?locale=es_ES&#34; target=&#34;_blank&#34;&gt;aprender git de forma interactiva/visual&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un proyecto en KickStarter, de un video juego, pero está hecho &lt;strong&gt;a mano&lt;/strong&gt; con técnica stop-motion, es espectacular. &lt;a href=&#34;https://www.kickstarter.com/projects/esbenkongorange/vokabulantis&#34; target=&#34;_blank&#34;&gt;Vokabulantis&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Siempre hay que conocer bien cómo se manejan &lt;em&gt;los números&lt;/em&gt; en las  aplicaciones que hacemos con Delphi: &lt;a href=&#34;http://rvelthuis.de/articles/articles-floats.html&#34; target=&#34;_blank&#34;&gt;floats, reals, doubles&amp;hellip;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Echa un vistazo a la &lt;a href=&#34;https://www.genbeta.com/windows/primer-vistazo-a-gran-actualizacion-windows-10-2021-nueva-gestion-escritorios-virtuales-programas-preinstalados&#34; target=&#34;_blank&#34;&gt;próxima actualización de Windows 10&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A vueltas (como siempre) al interface MDI (multiple document interface): &lt;a href=&#34;https://www.cadetill.com/en/uso-del-tmultiview-multiples-ventanas-form/&#34; target=&#34;_blank&#34;&gt;Uso de TMultiView,  múltiples forms&lt;/a&gt; y trabajar con
&lt;a href=&#34;http://chee-yang.blogspot.com/2009/02/delphi-design-multi-threaded-sdi.html&#34; target=&#34;_blank&#34;&gt;aplicaciones SDI&lt;/a&gt; (single document interface) y por supuesto, no puede faltar el &lt;a href=&#34;https://github.com/norgepaul/TChromeTabs&#34; target=&#34;_blank&#34;&gt;componente Chrome Tabs&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y esto&amp;hellip; me gusta mucho la programación de videojuegos, q está íntimamente ligada a los modelos 3D. No dejes ver el de la &lt;a href=&#34;https://sketchfab.com/3d-models/portada-de-la-virgen-del-dado-photogrammetry-14466c6c832b4461ad5fa20a745de835&#34; target=&#34;_blank&#34;&gt;portada norte de la catedral de Leon&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;una utilidad para hacer documentación de proyectos con Markdown:
&lt;a href=&#34;https://www.mkdocs.org/&#34; target=&#34;_blank&#34;&gt;MkDocs&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;El centro de datos de OVH sufrió otro incendio. El segundo.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-03-08</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-03-08/</link>
      <pubDate>Mon, 08 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-03-08/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 8 de Marzo de 2021.&lt;/p&gt;
&lt;h1 id=&#34;delphi-1042&#34;&gt;Delphi 10.4.2&lt;/h1&gt;
&lt;p&gt;Continuamos con los comentarios y notas sobre la nueva actualización de Delphi.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Continuan los casos de mejora de velocidad de compilación: &lt;a href=&#34;https://www.ideasawakened.com/post/rad-studio-10-4-2-speed-test-against-10-4-1&#34; target=&#34;_blank&#34;&gt;mejora en la velocidad de compilación de Spring4D&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;blogs-foros-las-redes&#34;&gt;Blogs, foros.. las redes&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Se ha creado un hilo muy interesante sobre &lt;a href=&#34;https://en.delphipraxis.net/topic/4649-vcl-and-vcl-styles-bugs-and-future/?tab=comments#comment-40555&#34; target=&#34;_blank&#34;&gt;VCL y VCL Styles&lt;/a&gt;.
Yo utilizo VCL Styles, y además &lt;a href=&#34;https://www.delphistyles.com/&#34; target=&#34;_blank&#34;&gt;estos&lt;/a&gt;. Ya no concibo entregar una aplicación sin los &lt;em&gt;styles&lt;/em&gt; activados,
el interface gana mucho. Además, tengo programado que el usuario pueda cambiar el style a utilizar.&lt;/li&gt;
&lt;li&gt;Zarko Gajic ha posteado una entrada sobre programar el &lt;a href=&#34;http://zarko-gajic.iz.hr/delayed-close-programmatically-dropped-tcombobox-if-mouse-not-over-combo-and-combos-list-using-multi-threading/&#34; target=&#34;_blank&#34;&gt;cierre demorado de un ComboBox&lt;/a&gt;.
&lt;img src=&#34;combo.jpg&#34; alt=&#34;&#34;&gt;&lt;/li&gt;
&lt;li&gt;Unas notas sobre la &lt;a href=&#34;https://wiert.me/2021/03/09/message-directive-delphi/&#34; target=&#34;_blank&#34;&gt;directiva {$Message}&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Tutorial: WireFrame 3D in FireMonkey (Delphi DX 10.4.2 Sydney) on Windows &lt;a href=&#34;https://t.co/6EZrNlBtHG&#34;&gt;https://t.co/6EZrNlBtHG&lt;/a&gt; via &lt;a href=&#34;https://twitter.com/YouTube?ref_src=twsrc%5Etfw&#34;&gt;@YouTube&lt;/a&gt;&lt;/p&gt;&amp;mdash; Quark Cube (@QuarkCube) &lt;a href=&#34;https://twitter.com/QuarkCube/status/1368621428673765382?ref_src=twsrc%5Etfw&#34;&gt;March 7, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;&amp;quot;I&amp;#39;m going to call RAD Studio Delphi 10.42 &amp;quot;the speedy supermodel release&amp;quot;. So many lovely subtle (and overt) tweaks to the UI and BOY DOES IT COMPILE FAST! It&amp;#39;s solid, contains a bunch of quality improvements.&amp;quot; Ian Barker, Embarcadero MVP &lt;a href=&#34;https://twitter.com/punctuation?ref_src=twsrc%5Etfw&#34;&gt;@punctuation&lt;/a&gt; &lt;a href=&#34;https://t.co/Bu6YmG7pD0&#34;&gt;pic.twitter.com/Bu6YmG7pD0&lt;/a&gt;&lt;/p&gt;&amp;mdash; Embarcadero Tech (@EmbarcaderoTech) &lt;a href=&#34;https://twitter.com/EmbarcaderoTech/status/1369075499415244801?ref_src=twsrc%5Etfw&#34;&gt;March 9, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;En el Telegram &lt;a href=&#34;https://t.me/delphidevelopers&#34; target=&#34;_blank&#34;&gt;DelphiDevelopers&lt;/a&gt; dos temas interesantes: Uno sobre &lt;a href=&#34;http://docwiki.embarcadero.com/RADStudio/Sydney/en/Object_Interfaces_Index&#34; target=&#34;_blank&#34;&gt;interfaces&lt;/a&gt;, y otro sobre el uso de variables globales. Las dos conversaciones dieron mucho de sí.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hilo interesante en DelphiPraxis sobre &lt;a href=&#34;https://en.delphipraxis.net/topic/4666-retrieve-delphi-version-used-from-within-an-app&#34; target=&#34;_blank&#34;&gt;constantes con la versión del compilador&lt;/a&gt;.
(&lt;a href=&#34;http://docwiki.embarcadero.com/RADStudio/Sydney/en/Compiler_Versions&#34; target=&#34;_blank&#34;&gt;doc oficial versiones del compilador&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Salieron los &lt;a href=&#34;https://blogs.embarcadero.com/winners-of-the-delphi-26th-showcase-challenge/&#34; target=&#34;_blank&#34;&gt;ganadores del showcase challenge&lt;/a&gt;!! y un
&lt;a href=&#34;https://blogs.embarcadero.com/useful-system-of-student-registration-study-and-exams-developed-in-delphi/&#34; target=&#34;_blank&#34;&gt;caso de uso en Libia&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/execute-scripts-and-view-source-with-tedgebrowser/&#34; target=&#34;_blank&#34;&gt;Execute scripts and view Source with TEdgeBrowser&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ojo a la popularidad de &lt;strong&gt;Delphi DMVC framework&lt;/strong&gt;!!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;&lt;a href=&#34;https://twitter.com/hashtag/dmvcframework?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#dmvcframework&lt;/a&gt; facebook group reached 4000 real users.&lt;a href=&#34;https://t.co/QafSUnGO7Z&#34;&gt;https://t.co/QafSUnGO7Z&lt;/a&gt; &lt;a href=&#34;https://t.co/eY0eDtOfmK&#34;&gt;pic.twitter.com/eY0eDtOfmK&lt;/a&gt;&lt;/p&gt;&amp;mdash; Daniele Teti (@danieleteti) &lt;a href=&#34;https://twitter.com/danieleteti/status/1370316651271426051?ref_src=twsrc%5Etfw&#34;&gt;March 12, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.embarcadero.com/delphi-stories-david-vacanti-discusses-his-prolines-8-software/&#34; target=&#34;_blank&#34;&gt;David Vacanti habla de su software Prolines 8&lt;/a&gt; no te lo pierdas porque nos comenta cosas sobre 3d.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;y han comentado en el blog de Embarcadero el &lt;a href=&#34;https://blogs.embarcadero.com/easily-build-and-deploy-a-powerful-diagram-designer-within-your-windows-apps/&#34; target=&#34;_blank&#34;&gt;TMS Diagram Studio&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y como caso de éxito &lt;a href=&#34;https://www.embarcadero.com/case-study/heidisql-case-study&#34; target=&#34;_blank&#34;&gt;HeidiSQL&lt;/a&gt;, herramienta de administración de bases de datos, ampliamente popular, realizada en Delphi.Hablando de cosas populares escritas en Delphi&amp;hellip;
&lt;a href=&#34;https://blog.marcocantu.com/blog/why_skype_used_delphi.html&#34; target=&#34;_blank&#34;&gt;el Skipe original estaba escrito en Delphi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Object Pascal ha vuelto a subir en el &lt;a href=&#34;https://www.tiobe.com/tiobe-index/&#34; target=&#34;_blank&#34;&gt;índice Tiobe&lt;/a&gt;. Particularmente lo ignoro. Ese índice&amp;hellip; SQL como &lt;em&gt;lenguaje&lt;/em&gt; popular? El caso es
que en los grupos de Instagram se ha comentado bastante. Se llega a la conclusión de que el blog de Embarcadero, los blogs de fabricantes de componentes, la actividad de &lt;a href=&#34;https://www.beginend.net/&#34; target=&#34;_blank&#34;&gt;BeginEnd&lt;/a&gt; puedan tener algo que ver.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;una &lt;a href=&#34;https://github.com/novuslogic/DelphiAWSSDK&#34; target=&#34;_blank&#34;&gt;librería para trabajar con AWS&lt;/a&gt; (Amazon Web Services)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;le seguiremos la pista a un nuevo &lt;a href=&#34;https://github.com/cadetill/Units&#34; target=&#34;_blank&#34;&gt;repositorio de Cadetill&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;es&#34; dir=&#34;ltr&#34;&gt;Los creadores de videojuegos hablan de uno de sus dolores de cabeza: las puertas &lt;a href=&#34;https://t.co/PXwfZf0O2h&#34;&gt;https://t.co/PXwfZf0O2h&lt;/a&gt;&lt;/p&gt;&amp;mdash; Vandal (@VandalOnline) &lt;a href=&#34;https://twitter.com/VandalOnline/status/1370742862321704969?ref_src=twsrc%5Etfw&#34;&gt;March 13, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Cartes du Ciel is free scriptable &lt;a href=&#34;https://twitter.com/hashtag/planetarium?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#planetarium&lt;/a&gt; software for macOS, Windows and Linux. It has been developed in &lt;a href=&#34;https://twitter.com/hashtag/ObjectPascal?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#ObjectPascal&lt;/a&gt; with &lt;a href=&#34;https://twitter.com/hashtag/Lazarus?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Lazarus&lt;/a&gt; / &lt;a href=&#34;https://twitter.com/hashtag/FreePascal?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#FreePascal&lt;/a&gt;. &lt;a href=&#34;https://twitter.com/hashtag/CartesduCiel?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#CartesduCiel&lt;/a&gt; &lt;a href=&#34;https://t.co/jxIEps8XrC&#34;&gt;https://t.co/jxIEps8XrC&lt;/a&gt; &lt;a href=&#34;https://t.co/g8rU4Rit57&#34;&gt;https://t.co/g8rU4Rit57&lt;/a&gt; &lt;a href=&#34;https://t.co/NtxuyiYhNr&#34;&gt;pic.twitter.com/NtxuyiYhNr&lt;/a&gt;&lt;/p&gt;&amp;mdash; Scientific Pascal (@SciPasTips) &lt;a href=&#34;https://twitter.com/SciPasTips/status/1371093836705980419?ref_src=twsrc%5Etfw&#34;&gt;March 14, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;Como casi siempre, estuvimos hablando en Telegram acerca de la edición Community, &lt;strong&gt;no dejes de escuchar este podcast de NoSoloDelphi&lt;/strong&gt; &lt;a href=&#34;https://github.com/cadetill/Units&#34; target=&#34;_blank&#34;&gt;repaso de la EULA de RAD Studio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;tms&#34;&gt;TMS&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Ha salido esta semana una &lt;a href=&#34;https://www.tmssoftware.com/site/tmsvcluipack.asp&#34; target=&#34;_blank&#34;&gt;nueva versión TMS VCL UI Pack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Trasteando con las TVirtualImageList, llegué a un post con una comparativa de &lt;a href=&#34;https://medium.com/@Zawuza/laudable-layout-challenge-in-delphi-10930e4d45c4&#34; target=&#34;_blank&#34;&gt;Form construido en C# y en VCL&lt;/a&gt; y
el uso del TGridPanel&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Por un problema en un close de un form, aterrizé aquí:
&lt;a href=&#34;https://www.thoughtco.com/life-cycle-of-a-delphi-form-1058011&#34; target=&#34;_blank&#34;&gt;ciclo de vida de un form&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y colaboré en un &lt;a href=&#34;https://en.delphipraxis.net/topic/4676-erd-tool-needed&#34; target=&#34;_blank&#34;&gt;hilo sobre herramientas ERD&lt;/a&gt; y en un
&lt;a href=&#34;https://en.delphipraxis.net/topic/4679-delphi-lamp-or-wamp-based-web-application/?tab=comments#comment-40832&#34; target=&#34;_blank&#34;&gt;hilo sobre LAMP&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Descubrí la herramienta de modelado de bases de datos
&lt;a href=&#34;http://www.ibexpert.net/ibe/index.php?n=Doc.DatabaseDesigner&#34; target=&#34;_blank&#34;&gt;IBExpert&lt;/a&gt;, aunque yo utilizo
&lt;a href=&#34;https://www.toadworld.com/products/toad-data-modeler&#34; target=&#34;_blank&#34;&gt;TOAD Data modeler&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;También llegué a &lt;a href=&#34;http://www.jerrydodge.com/JDDocs&#34; target=&#34;_blank&#34;&gt;JDDocs&lt;/a&gt; un editor MarkDown, realizado en Delphi y a un repo github para
&lt;a href=&#34;https://github.com/grahamegrieve/delphi-markdown&#34; target=&#34;_blank&#34;&gt;para procesar textos MarkDown&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Esto lo dejo aquí porque he tenido que usarlo y siempre se me olvida dónde está: Ms SQL Server&amp;hellip; convertir un campo TEXT a Varchar&amp;hellip; error;
&lt;strong&gt;no se pueden realizar cambios que requieran volver a crear tablas&lt;/strong&gt;,
la solución es &lt;strong&gt;deshabilitar&lt;/strong&gt; esta opción, (en herramientas, opciones):
&lt;img src=&#34;sql.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Y ya que estamos con el Sql Server:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;style type=&#34;text/css&#34;&gt;.notice{padding:18px;line-height:24px;margin-bottom:24px;border-radius:4px;color:#444;background:#e7f2fa}.notice p:last-child{margin-bottom:0}.notice-title{margin:-18px -18px 12px;padding:4px 18px;border-radius:4px 4px 0 0;font-weight:700;color:#fff;background:#6ab0de}.notice.warning .notice-title{background:rgba(217,83,79,.9)}.notice.warning{background:#fae2e2}.notice.info .notice-title{background:#f0b37e}.notice.info{background:#fff2db}.notice.note .notice-title{background:#6ab0de}.notice.note{background:#e7f2fA}.notice.tip .notice-title{background:rgba(92,184,92,.8)}.notice.tip{background:#e6f9e6}.icon-notice{display:inline-flex;align-self:center;margin-right:8px}.icon-notice img,.icon-notice svg{height:1em;width:1em;fill:currentColor}.icon-notice img,.icon-notice.baseline svg{top:0.125em;position:relative}&lt;/style&gt;
&lt;svg width=&#34;0&#34; height=&#34;0&#34; display=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;symbol id=&#34;tip-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;note-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;warning-notice&#34; viewBox=&#34;0 0 576 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;info-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z&#34;/&gt;&lt;/symbol&gt;&lt;/svg&gt;&lt;div class=&#34;notice info&#34; &gt;
&lt;p class=&#34;first notice-title&#34;&gt;&lt;span class=&#34;icon-notice baseline&#34;&gt;&lt;svg&gt;&lt;use href=&#34;#info-notice&#34;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;Información&lt;/p&gt;&lt;p&gt;To measure the length of VARCHAR fields the function LEN(varcharfield) is useful. To measure the length of TEXT fields the function is DATALENGTH(textfield). Len will not work for text field.&lt;/p&gt;&lt;/div&gt;

&lt;hr&gt;
&lt;p&gt;La semana trajo dos contratiempos destacables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Hubo un &lt;a href=&#34;https://www.businessinsider.es/ryuk-ransomware-detras-ataque-sepe-ha-fallado-826459&#34; target=&#34;_blank&#34;&gt;ataque ransomware&lt;/a&gt; al &lt;a href=&#34;https://www.sepe.es/&#34; target=&#34;_blank&#34;&gt;SEPE (España)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ha habido un &lt;a href=&#34;&#34; target=&#34;_blank&#34;&gt;incendio en OVH&lt;/a&gt;, un proveedor de hosting &amp;lsquo;de los grandes&amp;rsquo;:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;es&#34; dir=&#34;ltr&#34;&gt;La nube es segura, rápida, eficaz, barata, ... y está que arde...&lt;br&gt;Recuerda: La nube no es más que el ordenador de otro. &lt;a href=&#34;https://twitter.com/hashtag/fsf?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#fsf&lt;/a&gt; &lt;a href=&#34;https://t.co/HiuJFqPcbR&#34;&gt;pic.twitter.com/HiuJFqPcbR&lt;/a&gt;&lt;/p&gt;&amp;mdash; Elio Rojano (@hellc2) &lt;a href=&#34;https://twitter.com/hellc2/status/1369571561020289036?ref_src=twsrc%5Etfw&#34;&gt;March 10, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;como cosa curiosa, viendo que mi biblioteca hace que me rompa el cuello&amp;hellip;
&lt;a href=&#34;http://www.sabercurioso.es/2019/11/18/los-lomos-de-los-libros/&#34; target=&#34;_blank&#34;&gt;el texto en los lomos de los libros&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Links markdown a links html con PhpStorm. target blank</title>
      <link>http://el-programador.com/post/markdown-link-to-html-phpstorm/</link>
      <pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/markdown-link-to-html-phpstorm/</guid>
      <description>&lt;p&gt;Este blog &lt;a href=&#34;http://el-programador.com/post/hugo-markdown/&#34; target=&#34;_blank&#34;&gt;está hecho con Hugo&lt;/a&gt;. Me encontraba con el problema de que en Markdown no se puede poner un link con
target=&amp;rdquo;_blank&amp;rdquo; y por tanto no terminaba de convencerme el asunto de los links&amp;hellip;
En Markdown se puede poner código html directamente, pero yo ya tenía muchas entradas escritas con los links en formato
markdown:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[descripcion del link](url del link)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pero &lt;a href=&#34;https://www.jetbrains.com/es-es/phpstorm/&#34; target=&#34;_blank&#34;&gt;PhpStorm&lt;/a&gt; (el IDE que utilizo para hacer el blog, porque me lo conozco bien, por la integración con Git y porque
los IDEs de IntelliJ son buenísimos!) tiene la opción de reemplazar texto utilizando expresiones regulares, por tanto,
según se dice &lt;a href=&#34;https://dev.to/mattkenefick/regex-convert-markdown-links-to-html-anchors-f7j&#34; target=&#34;_blank&#34;&gt;aquí&lt;/a&gt;,
en PhpStorm hacemos, reemplazar (ctrl-r) e introducimos:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;regex.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;y listo, los links en formato markdown quedan convertidos a links html&lt;/p&gt;
&lt;p&gt;la expresión regular utilizada es esta:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\[([^\]]+)\]\(([^\)]+)\)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;y la reemplazamos por:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;a href=&amp;quot;$2&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;$1&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Finalmente, en &lt;strong&gt;config.toml&lt;/strong&gt; (de Hugo), añadimos:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#DJM Habilitamos render de html directamente
[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    
    <item>
      <title>Componentes instalados en mi Delphi</title>
      <link>http://el-programador.com/post/que-hay-instalado-mi-delphi/</link>
      <pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/que-hay-instalado-mi-delphi/</guid>
      <description>&lt;p&gt;Componentes instalados en mi Delphi y herramientas adicionales utilizadas en mi stack de desarrollo desktop para Windows&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.embarcadero.com/es/products/delphi&#34; target=&#34;_blank&#34;&gt;Delphi 11 Alexandria Profesional&lt;/a&gt; Si, si, el Turbo Pascal de siempre; y no, no
Delphi is not dead.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/VSoftTechnologies/DUnitX/wiki&#34; target=&#34;_blank&#34;&gt;DUnitX&lt;/a&gt; librería para &lt;strong&gt;tests unitarios&lt;/strong&gt;. Viene incorporada con el propio
Delphi pero la versión de GitHub es mas nueva/tiene más cosas (sobre todo un visor VCL). En
&lt;a href=&#34;https://en.delphipraxis.net/topic/721-we-use-dunitx-and-it-discovers-all-our-silly-mistakes-before-release/&#34; target=&#34;_blank&#34;&gt;esta charla&lt;/a&gt; tienes más comentarios sobre
DUnitX / DUnit.
Yo los voy escribiendo para mi librería personal de uso diario
&lt;img src=&#34;unitarios.jpg&#34; alt=&#34;&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aprendí a hacerlo con la &lt;a href=&#34;https://neftali.clubdelphi.com/test-unitarios-introduccin-entrega-1/&#34; target=&#34;_blank&#34;&gt;Serie sobre test unitarios, de Neftalí&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.components4developers.com/products_kbmMemTable.html&#34; target=&#34;_blank&#34;&gt;kbmMemtable Std&lt;/a&gt; una tabla en memoria (memory dataset). Fundamental,
la utilizo muchísimo. Ojo, &lt;a href=&#34;http://docwiki.embarcadero.com/Libraries/Sydney/en/FireDAC.Comp.Client.TFDMemTable&#34; target=&#34;_blank&#34;&gt;FireDac también tiene una tabla en memoria&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.cnpack.org/index.php?lang=en&#34; target=&#34;_blank&#34;&gt;cnPack&lt;/a&gt; El conocido plugin con utilidades para el IDE, sin embargo con Sydney ya no
lo utilizo. No hay &lt;em&gt;last stable release&lt;/em&gt; para Sydney. El código está &lt;a href=&#34;https://github.com/cnpack/cnwizards&#34; target=&#34;_blank&#34;&gt;aquí&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.eurekalog.com/&#34; target=&#34;_blank&#34;&gt;EurekaLog&lt;/a&gt; En mi opinión, imprescindible. Para buscar bugs de esos dificiles pero sobre todo
me gusta dejar activada la opción mediante la cual, ante un error en mis aplicaciones, me llega un email con toda (incluso una
captura de pantalla!) del programa, el call stack, la línea de código dónde se ha producido el error&amp;hellip; ya me ha
sacado de unos cuantos problemas, y además, da mucha tranquilidad. Por ejemplo, ahora que he pasado a Sydney 10.4.2, tengo la &lt;em&gt;tranquilidad&lt;/em&gt; de que
en caso de algún error, me llegará un email con la información. Y ojo, a veces los usuarios cierran la ventana de error y no dicen nada, pero con
Eurekalog&amp;hellip; me llega al email :) Tiene además unas &lt;a href=&#34;https://www.eurekalog.com/help/eurekalog/index.php?how_to_get_caller_information.php&#34; target=&#34;_blank&#34;&gt;funciones para debug muy interesantes&lt;/a&gt;,
incluso todo un conjunto de funcionalidades para enviar EMails sin problemas.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.delphistyles.com/&#34; target=&#34;_blank&#34;&gt;delphistyles.com&lt;/a&gt; simplemente los estilos VCL que incluye Delphi me gustan menos que estos. Y
los usuarios siempre agradecen un interface bonito. En mis aplicaciones tengo incorporada la posibilidad de que el usuario
elija el estilo VCL que quiere utilizar.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://getitnow.embarcadero.com/DOSCommand-1.5-Sydney/&#34; target=&#34;_blank&#34;&gt;DosCommand&lt;/a&gt;, instalado via getit. Captura la salida de una
ejecución en la shell de windows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/tmsvcluipack.asp&#34; target=&#34;_blank&#34;&gt;TMS UI PACK&lt;/a&gt; los componentes TMS. No es que los utilice todos, pero
tiene tantos (mas de 600!) que siempre hay alguno que te soluciona el problema. Hay algunos a los que resulta dificil buscarles
uso (por ejemplo, no soy muy de poner botones &lt;em&gt;glow&lt;/em&gt; en mis interfaces y menos utilizando estilos VCL)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/tmswebcoreintro.asp&#34; target=&#34;_blank&#34;&gt;TMS Web Core&lt;/a&gt; buf.. simplemente excepcional! páginas web hechas con Delphi, pero
en la parte cliente (al contrario de Unigui, que las hace en el back, no en el front). El código Delphi es
pasado automáticamente a javascript con una versión especial de &lt;a href=&#34;https://wiki.freepascal.org/pas2js&#34; target=&#34;_blank&#34;&gt;pas2js&lt;/a&gt;.
No dejes de ver las &lt;a href=&#34;https://www.tmssoftware.com/site/tmswebcoreintro.asp#demos&#34; target=&#34;_blank&#34;&gt;demos&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/flexcel.asp&#34; target=&#34;_blank&#34;&gt;TMS Flexcel&lt;/a&gt; Exportar/Importar ficheros Excel.. sin tener Excel instalado!
Y un generador de informes con Excel. Ojo, la curva de aprendizaje es alta, no es una librería sencilla.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.tmssoftware.com/site/advgridfilters.asp&#34; target=&#34;_blank&#34;&gt;TMS grid filters&lt;/a&gt; esto permite con muy poco código importar a un AdvStringGrid
(de TMS UI Pack) ficheros Excel, sin necesidad de tener Excel instalado.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.digital-metaphors.com/products&#34; target=&#34;_blank&#34;&gt;ReportBuilder&lt;/a&gt; Excepcional generador de informes.
Si comenzase de nuevo utilizaría &lt;a href=&#34;https://www.fast-report.com/es/product/fast-report-vcl/&#34; target=&#34;_blank&#34;&gt;FastReport&lt;/a&gt;, pero la historia de
los generadores de informes &lt;strong&gt;incorporados en Delphi&lt;/strong&gt; no ha sido estable. (recordemos el abandono de QuickReports). Por tanto
hace mucho que decidí utilizar un generador de terceros, y ReportBuilder es excepcional.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.x-files.pl/components/xdbgrid.html&#34; target=&#34;_blank&#34;&gt;XDbGrid&lt;/a&gt; Un grid de precio muy ajustado y que cumple con lo que se necesita.
Si se dispone de presupuesto, y se asume la complejidad adicional, indudablemente hay que elegir &lt;a href=&#34;https://www.devexpress.com/products/vcl/&#34; target=&#34;_blank&#34;&gt;DevExpress&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.lmdinnovative.com/products/vcl/lmddockpack&#34; target=&#34;_blank&#34;&gt;LMD Docking Pack&lt;/a&gt; simplemente a ver si algún día paso de utilizar
interfaces MDI a TDI. Este componente tiene un pageControl que permite que los tabs floten (como el Chrome), que es la
funcionalidad imprescindible que busco en un TDI.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.lmdinnovative.com/products/vcl/lmdshellpack&#34; target=&#34;_blank&#34;&gt;LMD Shell&lt;/a&gt; cuando se trata de interactuar con los ficheros de Windows,
árboles de directorios, etc&amp;hellip; este es el componente a utilizar.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.scalabium.com/&#34; target=&#34;_blank&#34;&gt;Scalabium SMImport, SMExport&lt;/a&gt; Importar/exportar excel (teniendo Excel instalado). Más sencillos de
utilizar que &lt;em&gt;Flexcel Studio&lt;/em&gt;, yo creo que los dos productos (Scalabium y Flexcel) se complementan.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.peganza.com/products_pex.html&#34; target=&#34;_blank&#34;&gt;Peganza Pascal Expert&lt;/a&gt; la versión experto de IDE de Peganza Analizer (mas abajo la comento).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.sqlmanager.net/products/tools/advancedexport&#34; target=&#34;_blank&#34;&gt;EMS Advanced Data Export Component Suite&lt;/a&gt; Otro exportador de datasets.
Esta vez no solamente a Excel. Y es que es muy importante que los usuarios puedan exportar SU información, o al menos a mí
siempre me lo piden!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.devart.com/unidac/&#34; target=&#34;_blank&#34;&gt;UniDAC&lt;/a&gt; En mi opinión, mejores que FireDac. Hay que leerse el manual completo de los dos
productos para llegar a esta conclusión. El modo conexión directa a Sql Server, sin ADO, o clientes adicionales, es una maravilla.
Y finalmente, con UniDac instalado puedes optar por utilizar la licencia Professional de Delphi y no necesitar la Enterprise para
hacer aplicaciones de bases de datos cliente/servidor.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.helpandweb.com/ecmap/en/tecnativemap.htm&#34; target=&#34;_blank&#34;&gt;ECNativeMAP&lt;/a&gt; Componente de mapas, caso particular porque tengo software que
dibuja polígonos (fincas) sobre mapas. Tiene una versión &lt;em&gt;offline&lt;/em&gt; que no usa un WebBrowser! lo hace todo nativo en un canvas.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/ahausladen/PdfiumLib&#34; target=&#34;_blank&#34;&gt;PDFium&lt;/a&gt; para visualizar PDFs. Antes recurría al TWebBrowser pero con esta librería
todo es más limpio, no hay un WebBrowser (q es en realidad un Internet Explorer, el cual está deprecado, etc) por medio.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/cocosistemas/TDJMEdit&#34; target=&#34;_blank&#34;&gt;TDJMEdit&lt;/a&gt; Uso una versión mejorada de este componente que tengo en GitHub.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://getitnow.embarcadero.com/Bookmarks-1.6.2/&#34; target=&#34;_blank&#34;&gt;Bookmarks&lt;/a&gt; junto con
&lt;a href=&#34;https://getitnow.embarcadero.com/navigator/&#34; target=&#34;_blank&#34;&gt;Navigator&lt;/a&gt;. Disponible en Getit, ayuda a la
navegación por el código y además.. minimapa!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/norgepaul/TChromeTabs&#34; target=&#34;_blank&#34;&gt;TChromeTabs&lt;/a&gt; por ver si un día definitivamente tengo tiempo
de pasar los proyectos a TDI. Actualización: El componente TAdvMDITabSet de TMS cumple como primer paso (sigue siendo MDI), para ver
si los usuarios se adaptan bien a un interfaz TDI (los cambios en la aplicación son mínimos, puesto que sigue siendo MDI).&lt;strong&gt;Modificado&lt;/strong&gt;, ya no lo utilizo, me quedo con LMD Docking Pack, citado previamente. :)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/danieleteti/loggerpro&#34; target=&#34;_blank&#34;&gt;LoggerPro&lt;/a&gt; para cuando las cosas se ponen feas. También, igual
de bueno es &lt;a href=&#34;https://github.com/exilon/QuickLogger&#34; target=&#34;_blank&#34;&gt;QuickLogger&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;minimapa.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;utilidades&#34;&gt;utilidades&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.xyplorer.com/&#34; target=&#34;_blank&#34;&gt;XYPlorer&lt;/a&gt; Sustituto al explorador de ficheros de Windows, para mi imprescindible. Si no es este, otro;
pero se necesita algo mejor que el explorador de ficheros (varios paneles, pestañas, colores, utilidades, etc). Actualización: No dejes de mirar
también &lt;a href=&#34;https://www.genbeta.com/windows/files-explorador-windows-10-que-llevabamos-anos-esperando-diseno-moderno-navegacion-pestanas&#34; target=&#34;_blank&#34;&gt;Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://notepad-plus-plus.org/downloads/&#34; target=&#34;_blank&#34;&gt;Notepad++&lt;/a&gt; editor para ficheros de texto&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.helpndoc.com/&#34; target=&#34;_blank&#34;&gt;helpNDoc&lt;/a&gt; Para realizar las ayudas de los programas, manuales, explicaciones.. etc. Genera también
el código Delphi para usar la ayuda desde nuestras aplicaciones.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://peganza.com/&#34; target=&#34;_blank&#34;&gt;Peganza Pascal Analyzer&lt;/a&gt; Un analizador de código. Código no utilizado, código repetido, medidas de software,
índice de métodos, árbol de llamadas&amp;hellip; mucha mucha información sobre nuestro proyecto. De imprescindible uso, si bien no es algo
que se utilice dia a dia. Tiene un experto también, para utilizarlo en el IDE.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.toadworld.com/products/toad-data-modeler&#34; target=&#34;_blank&#34;&gt;toad data modeler&lt;/a&gt; tampoco es de uso diario, pero cuando hay que documentar
esquemas de bases de datos, hacer diagramas.. esta es una buena solución.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://asana.com/&#34; target=&#34;_blank&#34;&gt;Asana&lt;/a&gt; Para gestionar proyectos con los clientes. Similar a Trello, Microsoft Teams etc, pero encuentro
que con Asana están más cómodos que con una plataforma de gestión de tickets como Jira por ejemplo.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://git-fork.com/&#34; target=&#34;_blank&#34;&gt;Fork, cliente git&lt;/a&gt; hasta que el soporte para Git en el IDE de Delphi sea mejor, utilizo
este cliente git.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;fork.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Utilidad para generar iconos y glyphs, porque las aplicaciones deben tener buen aspecto!: &lt;a href=&#34;https://iconion.com/index.html&#34; target=&#34;_blank&#34;&gt;Iconion&lt;/a&gt;. &lt;strong&gt;Modificado&lt;/strong&gt;, me he hecho premium en &lt;a href=&#34;https://www.flaticon.com/&#34; target=&#34;_blank&#34;&gt;FlatIcon&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://melander.dk/reseditor&#34; target=&#34;_blank&#34;&gt;Melander&amp;rsquo;s Resource Editor&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(&amp;hellip;y Microsoft Office, claro)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>El-programador.com Semanario Delphi. 2021-03-01</title>
      <link>http://el-programador.com/post/semanario-delphi-2021-03-01/</link>
      <pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/semanario-delphi-2021-03-01/</guid>
      <description>&lt;p&gt;Algunas novedades, comentarios, movimientos en las redes&amp;hellip; sobre Delphi y programación, semana del 1 de Marzo de 2021.&lt;/p&gt;
&lt;h2 id=&#34;nuevo-número-de-blaise-pascal-magazine&#34;&gt;Nuevo número de Blaise Pascal Magazine&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;blaise.JPG&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Publicado el número 86 de la revista &lt;a href=&#34;https://www.blaisepascalmagazine.eu/&#34; target=&#34;_blank&#34;&gt;Blaise Pascal Magazine&lt;/a&gt;. Como curiosidad, el título de la página 53 está mal, corresponde al número anterior (cosas de la reutilización de plantillas).
Todavía no lo he leído a fondo pero tiene el primer capítulo de una serie sobre servidor y cliente REST, que promete.&lt;/p&gt;
&lt;h2 id=&#34;idera&#34;&gt;Idera&lt;/h2&gt;
&lt;style type=&#34;text/css&#34;&gt;.notice{padding:18px;line-height:24px;margin-bottom:24px;border-radius:4px;color:#444;background:#e7f2fa}.notice p:last-child{margin-bottom:0}.notice-title{margin:-18px -18px 12px;padding:4px 18px;border-radius:4px 4px 0 0;font-weight:700;color:#fff;background:#6ab0de}.notice.warning .notice-title{background:rgba(217,83,79,.9)}.notice.warning{background:#fae2e2}.notice.info .notice-title{background:#f0b37e}.notice.info{background:#fff2db}.notice.note .notice-title{background:#6ab0de}.notice.note{background:#e7f2fA}.notice.tip .notice-title{background:rgba(92,184,92,.8)}.notice.tip{background:#e6f9e6}.icon-notice{display:inline-flex;align-self:center;margin-right:8px}.icon-notice img,.icon-notice svg{height:1em;width:1em;fill:currentColor}.icon-notice img,.icon-notice.baseline svg{top:0.125em;position:relative}&lt;/style&gt;
&lt;svg width=&#34;0&#34; height=&#34;0&#34; display=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;symbol id=&#34;tip-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;note-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;warning-notice&#34; viewBox=&#34;0 0 576 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z&#34;/&gt;&lt;/symbol&gt;&lt;symbol id=&#34;info-notice&#34; viewBox=&#34;0 0 512 512&#34; preserveAspectRatio=&#34;xMidYMid meet&#34;&gt;&lt;path d=&#34;M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z&#34;/&gt;&lt;/symbol&gt;&lt;/svg&gt;&lt;div class=&#34;notice info&#34; &gt;
&lt;p class=&#34;first notice-title&#34;&gt;&lt;span class=&#34;icon-notice baseline&#34;&gt;&lt;svg&gt;&lt;use href=&#34;#info-notice&#34;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;Información&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.idera.com/&#34; target=&#34;_blank&#34;&gt;Idera&lt;/a&gt; ha adquirido &lt;a href=&#34;https://www.businesswire.com/news/home/20210302005147/en/Idera-Inc.-Acquires-PreEmptive-Adding-Security-Tools-Trusted-by-Fortune-500-Businesses-to-DevOps-Business-Unit&#34; target=&#34;_blank&#34;&gt;PreEmptive&lt;/a&gt;,
una empresa de seguridad.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;

&lt;h2 id=&#34;sydney-1042&#34;&gt;Sydney 10.4.2&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;104.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Evidentemente, seguimos con las novedades y comentarios de la nueva actualización de Sydney:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.ideasawakened.com/post/rad-studio-10-4-2-integrates-over-30-ide-fixpack-changes&#34; target=&#34;_blank&#34;&gt;IdeasAwakened, 30 ide fixpack changes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Por mi parte, pese a algunos Access Violation o index out of bound en el IDE mientras se está utilizando
(pocos, un par de ellos al día), es una buena versión. Mucho más rápida, el LSP es más fluido y los warning de elementos
no utilizados ahora son hints sobre el código&amp;hellip; el refactor es más rápido y estable, todo va bastante mejor.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sobre la edición community, Embarcadero tiene una &lt;a href=&#34;https://www.embarcadero.com/products/delphi/starter/faq&#34; target=&#34;_blank&#34;&gt;FAQ&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En la imagen se puede ver cómo son ahora los warnings proporcionados por el nuevo code insight
(o es el error insight el que se encarga de las revisiones?)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;warning.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Ya funciona tan bien que puedo hacer doble click en los warnings e ir directamente a la línea que produce el warning (en versiones anteriores
esto funcionaba regular)&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;queryfecha.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A propósito de los strings y los índices&amp;hellip; &lt;a href=&#34; https://stackoverflow.com/questions/37688491/how-to-solve-w1047-w1068-warnings-when-assigning-char-to-string&#34; target=&#34;_blank&#34;&gt;how to solve w1047 warnings&lt;/a&gt;
, &lt;a href=&#34;http://docwiki.embarcadero.com/RADStudio/Sydney/en/Migrating_Delphi_Code_to_Mobile_from_Desktop#Use_0-Based_Strings&#34; target=&#34;_blank&#34;&gt;migrating Delphi Code to mobile from desktop&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La promoción del producto &lt;a href=&#34;https://www.embarcadero.com/radoffer?utm_source=Eloqua&amp;utm_medium=email&amp;utm_content=Promotion-210304-10.4.2-Extension&#34; target=&#34;_blank&#34;&gt;ha sido extendida hasta el 20 de marzo&lt;/a&gt;,
un 26% de descuento! (Danysoft está ofreciendo un 31%)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;en-las-redes-se-va-comentando-la-nueva-versión--sydney-1042&#34;&gt;En las redes se va comentando la nueva versión,  Sydney 10.4.2&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Pese a que Delphi 10.4.2 es una gran versión, parece que hay algunas puntualizaciones:
&lt;a href=&#34;https://www.ideasawakened.com/post/rad-studio-10-4-2-is-great-but-here-are-some-notes&#34; target=&#34;_blank&#34;&gt;IdeasAwakened, Delphi 10.4.2 notes&lt;/a&gt;
Yo no he tenido problemas con la actualización, según comentan en el link, parece ser que la clave está en
&lt;strong&gt;dejar que la actualización desinstale la versión anterior&lt;/strong&gt;, no desinstalar manualmente. Ese post tiene notas muy
interesantes sobre la instalación, vale la pena leerlo.
Entre otras cosas, link para &lt;a href=&#34;https://quality.embarcadero.com/browse/RSP-33122?jql=project%20%3D%20RSP%20AND%20created%3E%3D-1w%20and%20affectedVersion%20%3D%20%2210.4%20Sydney%20Release%202%22%20ORDER%20BY%20created%20DESC&#34; target=&#34;_blank&#34;&gt;consultar los últimos bugs reportados para 10.4.2&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Parece que posiblemente algo habría cambiado (error 2411) con respecto al &lt;a href=&#34;https://en.delphipraxis.net/topic/4611-delphi-104-update-2-getting-error-e2411-packaged-units-must-refer-only-to-packaged-units/?tab=comments#comment-40261&#34; target=&#34;_blank&#34;&gt;orden de los PAQUETES al compilar&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;vídeo-interfaces-fluent&#34;&gt;Vídeo interfaces fluent&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Visto en la Welcome Page de Delphi 10.4.2: &lt;a href=&#34;https://www.youtube.com/watch?v=uOpbLLDh1hc&#34; target=&#34;_blank&#34;&gt;vídeo sobre Delphi Fluent Interface&lt;/a&gt;
Ojo, se refiere a fluent GUI, no a &lt;a href=&#34;https://en.wikipedia.org/wiki/Fluent_interface&#34; target=&#34;_blank&#34;&gt;notación fluent&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;extensiones-de-ficheros-relacionados-con-delphi&#34;&gt;Extensiones de ficheros relacionados con Delphi&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Al pasar los proyectos a Delphi Sydney 10.4.2, me he encontrado unos ficheros con la extensión &lt;strong&gt;.tvsconfig&lt;/strong&gt;.
Nunca me había fijado en ellos, pero no hay problema: &lt;a href=&#34;http://docwiki.embarcadero.com/RADStudio/Sydney/en/File_Extensions_of_Files_Generated_by_RAD_Studio&#34; target=&#34;_blank&#34;&gt;tipos de ficheros generados por Delphi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;telegram-twitter&#34;&gt;Telegram, twitter&amp;hellip;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;En el grupo de Telegram &lt;a href=&#34;https://t.me/delphidevelopers&#34; target=&#34;_blank&#34;&gt;Delphi Developers&lt;/a&gt; compartieron este canal de Youtube, en
portugués, &lt;a href=&#34;https://www.youtube.com/delphicodex&#34; target=&#34;_blank&#34;&gt;DelphiCodex&lt;/a&gt;. Que si quieres un grupo de Telegram en español, tienes
&lt;a href=&#34;https://t.me/nosolodelphi&#34; target=&#34;_blank&#34;&gt;NoSoloDelphi&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En este grupo &lt;a href=&#34;https://t.me/nosolodelphi&#34;&gt;No solo Delphi&lt;/a&gt; hemos tenido una charla muy interesante sobre sí chequeamos cosas como
que no se introduzcan facturas de fecha de dentro de 5 años por ejemplo. Parece ser que no siempre lo hacemos y que hay casos de empleados maliciosos
que lo han aprovechado para sustraer dinero, así que hay que darle una pensada a ese asunto. (tip: Configurable, nº de dias de margen a admitir en una fecha
de factura). Otros tienen estas comprobaciones en triggers en las tablas de la base de datos.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Y ya que estamos con redes sociales, twit interesante de Marco Cantú,  el gráfico de los bugs que se han corregido en la nueva versión 10.4.2:&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;&lt;a href=&#34;https://twitter.com/EmbarcaderoTech?ref_src=twsrc%5Etfw&#34;&gt;@EmbarcaderoTech&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/Delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Delphi&lt;/a&gt; and &lt;a href=&#34;https://twitter.com/hashtag/RADStudio?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#RADStudio&lt;/a&gt; 10.4.2 revolve a large number of customer reported issues. Snapshot from Quality Portal  today: &lt;a href=&#34;https://t.co/eCVlwwAgfd&#34;&gt;pic.twitter.com/eCVlwwAgfd&lt;/a&gt;&lt;/p&gt;&amp;mdash; MarcoCantu (@marcocantu) &lt;a href=&#34;https://twitter.com/marcocantu/status/1365207097571483648?ref_src=twsrc%5Etfw&#34;&gt;February 26, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Un vídeo  mencionado en &lt;a href=&#34;https://t.me/delphidevelopers&#34; target=&#34;_blank&#34;&gt;Telegram, Delphi developers&lt;/a&gt;, sobre el patrón MVVM; &lt;a href=&#34;https://www.youtube.com/watch?v=sGn3-CsCYYM&#34; target=&#34;_blank&#34;&gt;Build an MVVM App in Twenty Minutes with Nick Hodges&lt;/a&gt;.
Se refiere a XE6, pero las bases siguen siendo válidas.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;se ha comentado también que el proyecto &lt;a href=&#34;https://github.com/mendrix/DelphiCodeCoverage&#34; target=&#34;_blank&#34;&gt;Delphi Code Coverage&lt;/a&gt; se ha activado
de nuevo!!! utilidad a la que hay que seguir la pista de cerca porque es más que interesante! por ahora, depende bastante de la Jedi VCL,
algunos lios con los .incl, no he sido capaz de compilarlo.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En el grupo, ante una duda de un miembro, se (Javier) recomendó &lt;a href=&#34;http://docwiki.embarcadero.com/Libraries/Sydney/en/DesignIntf&#34; target=&#34;_blank&#34;&gt;utilizar -LUDesignIDE para utilizar DesignIntf desde una DLL&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;kit-de-demos&#34;&gt;Kit de demos&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Embarcadero twiteó la disponibilidad de un repositorio con un &lt;a href=&#34;https://github.com/Embarcadero/RADStudio-DemoKit&#34; target=&#34;_blank&#34;&gt;kit de demos&lt;/a&gt; para Delhi Sydney 10.4.2&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;By popular request, the &lt;a href=&#34;https://twitter.com/hashtag/1042Sydney?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#1042Sydney&lt;/a&gt; and &lt;a href=&#34;https://twitter.com/hashtag/104Sydney?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#104Sydney&lt;/a&gt; demo kit samples are now published on GitHub &lt;a href=&#34;https://t.co/BvFVfa5pD3&#34;&gt;https://t.co/BvFVfa5pD3&lt;/a&gt; for &lt;a href=&#34;https://twitter.com/hashtag/Delphi?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Delphi&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/CppBuilder?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#CppBuilder&lt;/a&gt; and &lt;a href=&#34;https://twitter.com/hashtag/RADStudio?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#RADStudio&lt;/a&gt;&lt;/p&gt;&amp;mdash; Jim McKeeth (@JimMcKeeth) &lt;a href=&#34;https://twitter.com/JimMcKeeth/status/1367218190003040258?ref_src=twsrc%5Etfw&#34;&gt;March 3, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;p&gt;Estos son los proyectos que incluye el &amp;ldquo;kit&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;demos.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;En concreto la demo &lt;em&gt;VersionInfo&lt;/em&gt; es interesante:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;version.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Y el nuevo TControlList es impresionante. La demo tiene 10 millones de items!, yo uso un ratón con mouse-wheel desbloqueable (es de gamer,
en resumen, la rueda gira como loca) y el ControlList responde sin problemas, fino fino.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;list.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;es un control a tener en cuenta, puesto que puede haber varios items por fila&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;items.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Embarcadero ha escrito un blog mencionando un vídeo dónde se muestra la &lt;a href=&#34;https://blogs.embarcadero.com/delphi-10-4-2-compiler-speed-improvements/&#34; target=&#34;_blank&#34;&gt;Velocidad de compilación de HeidiSQL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;nueva-versión-de-unidac&#34;&gt;Nueva versión de Unidac&lt;/h2&gt;
&lt;p&gt;Hay disponible nueva versión de &lt;a href=&#34;https://www.devart.com/unidac/&#34; target=&#34;_blank&#34;&gt;Unidac&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;unidac.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;blogs-y-más-comentarios&#34;&gt;Blogs y más comentarios&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Se ha publicado un post corto pero muy interesante
&lt;a href=&#34;https://dalijap.blogspot.com/2021/03/overprotecting-multithreaded-code.html?spref=tw&#34; target=&#34;_blank&#34;&gt;sobre multitarea y su relación con el UI&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En &lt;a href=&#34;https://en.delphipraxis.net/topic/4592-possible-d1042-issue/&#34; target=&#34;_blank&#34;&gt;Delphi Praxis hay un hilo muy interesante&lt;/a&gt; sobre este código:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;TRemovePartsForm.Create(Self).ShowModal;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;He colaborado en este
&lt;a href=&#34;https://en.delphipraxis.net/topic/4605-annoying-ide-behavior-changes-in-1042/?tab=comments#comment-40198&#34; target=&#34;_blank&#34;&gt;
hilo de Delphi Praxis&lt;/a&gt;, sobre unas cosillas (posibles bugs) de Delphi Sydney 10.4.2.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Embarcadero ha hecho mención a &lt;a href=&#34;https://www.embarcadero.com/case-study/volker-diefenbach-case-study&#34; target=&#34;_blank&#34;&gt;ArtGen&lt;/a&gt;. Una
aplicación&amp;hellip; &lt;em&gt;artística&lt;/em&gt; hecha con Delphi, mejor mira el post, y la &lt;a href=&#34;https://www.embarcadero.com/es/case-study/diefenbach-artgen-case-study/image-gallery&#34; target=&#34;_blank&#34;&gt;galería de patrones realizados con esta aplicación&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;También en el blog de Embarcadero, Un caso de éxito &lt;a href=&#34;https://www.embarcadero.com/case-study/opuscapita-case-study&#34; target=&#34;_blank&#34;&gt;OpusCapita&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Este está en francés, pero Chrome te lo traducirá: &lt;a href=&#34;https://developpeur-pascal.fr/p/_20005-utiliser-un-mac-loue-chez-macincloud-pour-le-developpement-macos-avec-delphi.html&#34; target=&#34;_blank&#34;&gt;utilizar MacInCloud para programar para OSX/iOS&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;learndelphi&#34;&gt;LearnDelphi&lt;/h2&gt;
&lt;p&gt;Del canal learnDelphi.tv tenemos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un pequeño &lt;a href=&#34;https://www.youtube.com/watch?v=CuPS1kGyIUM&#34; targert=&#34;_blank&#34;&gt;vídeo acerca de TImageList.grayScaleFactor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Una revisión del &lt;a href=&#34;https://www.youtube.com/watch?v=PfHV9AhV2NM&#34; target=&#34;_blank&#34;&gt;nuevo control TControlList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=v4vsvSkZVxg&#34; target=&#34;_blank&#34;&gt;Algunas cosas sobre InputQuery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Y problemas con la &lt;a href=&#34;https://www.youtube.com/watch?v=aYyyp_vN8oY&#34; target=&#34;_blank&#34;&gt;Transparencia en SpeedButtons&lt;/a&gt; (&lt;strong&gt;interesante!&lt;/strong&gt;)
La solución pasa por utilizar los &lt;a href=&#34;https://getitnow.embarcadero.com/PNGComponents-1.4-Sydney/&#34; target=&#34;_blank&#34;&gt;PNGComponents&lt;/a&gt;,
disponibles en GetIt y en el &lt;a href=&#34;https://github.com/TurboPack/PNGComponents&#34; target=&#34;_blank&#34;&gt;GitHub de TurboPack&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;tms&#34;&gt;TMS&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;TMS Software ha anunciado la &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=761&#34; target=&#34;_blank&#34;&gt;disponibilidad de componentes para utilizar sus TMS FNC con Flexcel&lt;/a&gt;.
Básicamente, exportar/importar un grid a/desde Excel sin necesidad de tener Excel instalado. Multiplataforma. Tambien&lt;br&gt;
&lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=762&#34; target=&#34;_blank&#34;&gt;ha anunciado&lt;/a&gt; la disponibilidad de una herramienta
de uno de sus partners, un &lt;a href=&#34;https://swiftexpat.com/rttk/index.html&#34; target=&#34;_blank&#34;&gt;Runtime Toolkit&lt;/a&gt;. Viene a ser un
inspector de objetos en tiempo de ejecución. TMS comenta que es para que los usuarios colaboren en los tests, pudiendo modificar
la aplicación&amp;hellip; yo tengo dudas sobre si un usuario normalmente está preparado para eso. Pero para desarrolladores, parece una
herramienta promotedora.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En su blog nos cuentan como &lt;a href=&#34;https://www.tmssoftware.com/site/blog.asp?post=763&#34; target=&#34;_blank&#34;&gt;activar HoverButtons en su grid&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;hover.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;libros&#34;&gt;libros&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;El libro de Marco, Object Pascal HandBook, &lt;a href=&#34;https://t.co/hJNyvKBQX2?amp=1&#34; target=&#34;_blank&#34;&gt;ya está disponible en Amazon en papel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;otras-cosas&#34;&gt;Otras cosas&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;La Bonilista, escrita esta vez por Guillermo Montoya &amp;hellip; autónomos, pymes&amp;hellip; Muchos usuarios de Delphi son (somos)
autónomos (freelances) y Pymes, así que siempre hay que estar atento a los &lt;a href=&#34;https://mailchi.mp/bonillaware/la-bonilista-de-guillermo&#34; target=&#34;_blank&#34;&gt;consejos de otros profesionales&lt;/a&gt;
La Bonilista es una newsletter, te la recomiendo&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Por temas de un software que tengo que ocupa información GIS, el último libro (técnico) que me he acercado a leer es:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;librogis.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Todo por aquello de la gran popularidad que tiene Python etc.
Resultado: Pues ya la instalación es un calvario, que si para Windows no, que la versión del compilador C++ (??), que si Python 2 vs Python 3&amp;hellip; añadir paths al path de Windows (que ya sabemos, no es muy largo,
&lt;a href=&#34;https://www.google.com/search?q=windows+10+path+environment+variable+length+limit&#34; target=&#34;_blank&#34;&gt;2047 caracteres&lt;/a&gt; cuanto menos se ponga ahí, mejor)&amp;hellip; nada demasiado productivo. Si se consigue instalar todo (yo abandoné)
el resto del libro se dedica a construir un visor/editor
de &lt;a href=&#34;https://es.wikipedia.org/wiki/Shapefile&#34; target=&#34;_blank&#34;&gt;ficheros SHP de ESRI&lt;/a&gt;.
Con Delphi, yo tengo hecho eso en mi software gracias al
componente &lt;a href=&#34;http://www.helpandweb.com/ecmap/en/tecnativemap.htm&#34; target=&#34;_blank&#34;&gt;TEcNativeMap&lt;/a&gt; La parte de leer los SHP la he
tenido que programar yo, pero la visualización de polígonos sobre el mapa con este componente es trivial. Por cierto, su autor responde! tuve algunas dudas y me atendió rápidamente.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;El software&amp;hellip; avanza&amp;hellip; un ejemplo que esta semana está dando mucho que hablar:
&lt;a href=&#34;https://www.myheritage.es/deep-nostalgia&#34; target=&#34;_blank&#34;&gt;DeepNostalgia&lt;/a&gt; Me gustaría hacer algo así con Delphi.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A los programadores estos titulares nos parecen así un poco&amp;hellip; no sé:
&lt;a href=&#34;https://tendencias21.levante-emv.com/un-codigo-binario-gestiona-la-memoria-en-el-cerebro.html&#34; target=&#34;_blank&#34;&gt;Un código binario gestiona la memoria del cerebro&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Por cosas de este blog que estás leyendo,
he necesitado &lt;a href=&#34;http://localhost:1313/post/markdown-link-to-html-phpstorm/&#34; target=&#34;_blank&#34;&gt;convertir links markdown a html&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;y miren como anda el tema del desarrollo de videojuegos:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;es&#34; dir=&#34;ltr&#34;&gt;Toca cambiar los coches de Asphalt Speed Racing.&lt;br&gt;Acabo de descubrir que los modelos que compré en la asset store son robados de una web piratilla que comparte modelos sacados de juegos conocidos.&lt;br&gt;No me gusta robar el contenido de nadie y menos meterme con empresas potentes :(&lt;/p&gt;&amp;mdash; IvanSD76 (@IvanSD76) &lt;a href=&#34;https://twitter.com/IvanSD76/status/1367804475713478658?ref_src=twsrc%5Etfw&#34;&gt;March 5, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;

&lt;ul&gt;
&lt;li&gt;esta semana tuve que darle un par de vueltas a la creación de
&lt;a href=&#34;https://stackoverflow.com/questions/21493178/need-a-datetime-field-in-ms-sql-that-automatically-updates-when-the-record-is-mo&#34; target=&#34;_blank&#34;&gt;campos createdAt y updatedAt en Ms SqlServer&lt;/a&gt;
y &lt;a href=&#34;https://vladmihalcea.com/sql-server-audit-logging-triggers/&#34; target=&#34;_blank&#34;&gt;audit login triggers&lt;/a&gt;. El término exacto es
&lt;a href=&#34;https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/bb522489(v=sql.105)&#34; target=&#34;_blank&#34;&gt;Change Data Capture&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Páginas sobre Delphi para visitar a diario</title>
      <link>http://el-programador.com/post/paginas-visitar-diario/</link>
      <pubDate>Tue, 12 Jan 2021 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/paginas-visitar-diario/</guid>
      <description>&lt;p&gt;Para estar al dia de lo que se mueve en Delphi, es recomendable visitar (si puedes, diariamente):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/search?o=desc&amp;amp;q=delphi&amp;amp;s=updated&amp;amp;type=Repositories&#34;&gt;Proyectos Delphi en github&lt;/a&gt; ordenados por el más reciente.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.beginend.net/&#34;&gt;begin end - Object Pascal and Delphi News&lt;/a&gt; Es una recopilación de noticias, artículos y preguntas sobre Delphi, por tanto;
con esta página tenemos cubiertas varias necesidades de información sobre Delphi. Hay otra página parecida: &lt;a href=&#34;http://www.delphifeeds.com/&#34;&gt;DelphiFeeds.com - All Delphi blogs in one place - Delphi community and news&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://clubdelphi.com/&#34;&gt;Club Delphi&lt;/a&gt; el foro Delphi de referencia en español.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esas son mis preferidas. De vez en cuando visito también:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://torry.net/news.php?id=26&#34;&gt;News of Torry&amp;rsquo;s Delphi Pages&lt;/a&gt; (componentes, gratuitos y de pago, la conocida &amp;lsquo;Torry&amp;rsquo;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.delphipraxis.net/&#34;&gt;Forums - Delphi-PRAXiS [en]&lt;/a&gt; Aunque está recogida en &lt;a href=&#34;https://www.beginend.net/&#34;&gt;begin end - Object Pascal and Delphi News&lt;/a&gt;, si hay mucho movimiento nos
podemos perder algo, así que de vez en cuando, vistazo general.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://delphiaccess.com/foros/&#34;&gt;Comunidad DelphiAccess&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y si te interesa &lt;strong&gt;FireMonkey&lt;/strong&gt;, los proyectos para FireMonkey en github los puedes encontrar directamente en &lt;a href=&#34;https://github.com/topics/fmx&#34;&gt;fmx · GitHub Topics&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Si lo tuyo son los &lt;strong&gt;podcasts&lt;/strong&gt;, los líderes indiscutibles: &lt;a href=&#34;https://nosolodelphi.com/&#34;&gt;No Sólo Delphi - Hablamos, entre otras cosas, de Delphi&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Actualización&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Para ver de vez en cuando, como no, stack overflow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://stackoverflow.com/questions/tagged/delphi&#34;&gt;Recently Active &amp;lsquo;delphi&amp;rsquo; Questions - Stack Overflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>14 de febrero de 2020, 25 años de Delphi!</title>
      <link>http://el-programador.com/post/delphi-25-years/</link>
      <pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/delphi-25-years/</guid>
      <description>&lt;p&gt;14 de febrero, 2020; Delphi cumple 25 años! como pasa el tiempo&amp;hellip;&lt;/p&gt;
&lt;p&gt;No voy a relatar la historia de Delphi, pero sí quería dar unas pinceladas en tan importante evento.&lt;/p&gt;
&lt;p&gt;25 años ya, actualmente Delphi genera aplicaciones Windows, IOs, OSX, Android y genera tambien webs (unigui y/o tms web core).
Todo con el mismo código. Tiene un IDE hiper-productivo. APIs REST, aplicaciones de bajo nivel (capturadores de pantalla,
reproductores de sonido, keyloggers&amp;hellip;. lo que ustedes quieran) en resumen, de todo.&lt;/p&gt;
&lt;p&gt;En fin, la historia de Delphi, sus creadores, white papers etc, en&lt;br&gt;
&lt;a href=&#34;https://delphi.embarcadero.com&#34;&gt;Delphi 25 years, Embarcadero official site&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Entrevista en NoSoloDelphi. El podcast.</title>
      <link>http://el-programador.com/post/nosolodelphi/</link>
      <pubDate>Thu, 10 Oct 2019 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/nosolodelphi/</guid>
      <description>&lt;p&gt;Recientemente tuve el honor de que Emilio me entrevistase en su podcast &lt;strong&gt;NoSoloDelphi&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Emilio Perez es MVP de Embarcadero y hunto con Jhony Suarez forman &lt;strong&gt;NoSoloDelphi&lt;/strong&gt;, el podcast de referencia (creo que el único) sobre
Delphi en la comunidad de habla hispana.&lt;/p&gt;
&lt;p&gt;Aquí está el link a la entrevista: &lt;a href=&#34;https://nosolodelphi.com/62-el-programador-delphi/&#34;&gt;62. El Programador Delphi - No Sólo Delphi&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;No es la primera vez, ya tuve el honor de ser mencionado en GenBeta una vez: * &lt;a href=&#34;https://www.genbeta.com/desarrollo/las-herramientas-del-programador-y-tu-cual-usas&#34;&gt;Las herramientas del programador ¿Y tú cuál usas?&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Notación Húngara en Delphi</title>
      <link>http://el-programador.com/post/notacion-hungara/</link>
      <pubDate>Wed, 02 Oct 2019 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/notacion-hungara/</guid>
      <description>&lt;p&gt;No puedo vivir sin usar &lt;strong&gt;notación húngara&lt;/strong&gt; en mis programas Delphi. Es que &amp;ldquo;me sale solo&amp;rdquo;, como &amp;ldquo;si no me pudiera aguantar&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Intentaré explicar aquí por qué la utilizo y qué es. Señoras, y señores, con ustedes: &lt;strong&gt;La notación Húngara&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Permitirme comenzar por el final, vamos con una línea de código Delphi:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        oContrato.Procesar(iContrato, sContrato, dContrato, nContrato)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Primero, observar que no he puesto la declaración de variables. Después, observar esa inicial que tienen todas las variables al principio. 
Eso es &lt;strong&gt;notación húngara&lt;/strong&gt;, iniciar el nombre de las variables con un prefijo predeterminado y que todo el equipo participante en el proyecto conozca.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;¿y esto sirve para algo?&lt;/strong&gt; Pues creo que sí, vamos a comenzar a ver ventajas:&lt;/p&gt;
&lt;p&gt;Primero, mi criterio es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;o para objetos&lt;/li&gt;
&lt;li&gt;i para integers&lt;/li&gt;
&lt;li&gt;s para strings&lt;/li&gt;
&lt;li&gt;d para fechas (date)&lt;/li&gt;
&lt;li&gt;n para números (double y similares)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pues bien, &lt;strong&gt;sin haber visto la declaración de variables&lt;/strong&gt; observar la línea de código del ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sabemos que estamos llamando al método Procesar del objeto Contrato. Y que es un objeto, no es un método de un record o similares.&lt;/li&gt;
&lt;li&gt;Que el primer parámetro es un entero, luego se refiere al nº de contrato. Es solo un ejemplo, pero desde luego no se refiere a la fecha de contrato&lt;/li&gt;
&lt;li&gt;Igualmente, sContrato es un texto. No debe quedar otra que referirse (por ejmplo) a la descripción del contrato&lt;/li&gt;
&lt;li&gt;dContrato directamente, la fecha del contrato&lt;/li&gt;
&lt;li&gt;y finalmente nContrato es el importe contratado. No hay otra, no es la descripción, ni la fecha de contrato. Es un número, pues el importe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cuanta información en una sola línea, solamente por haber puesto un prefijo a las variables!!!&lt;/p&gt;
&lt;p&gt;En el día a día, ventaja adicional, no te vas a ver inducido a teclear iContrato:=sContrato directamente sabes que eso no puede ser, no coinciden los tipos.
De nuevo, sin ver nada más, sabes que esa línea está mal.&lt;/p&gt;
&lt;p&gt;Más efectos colaterales: Unificación de criterios en el equipo. Varios programadores, y comienza la fiesta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FechaContrato&lt;/li&gt;
&lt;li&gt;FContrato&lt;/li&gt;
&lt;li&gt;Fecha_de_contrato&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cada uno nombrando las variables según se le va ocurriendo. Con la notación húngara directamente dContrato, no tendrá sentido nombrar dFechaContrato, tenemos
un criterio que va a unificar el código entre todos los programadores del proyecto (o al menos lo va a intentar).&lt;/p&gt;
&lt;p&gt;Vamos a seguir, modificamos la línea de código anterior:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;         oContrato.Procesar(iContrato, sContrato, dContrato, nContrato, btnAceptar)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pum! efectivamente, estamos pasando un botón, y será el que sea llamado (a su onclick por ejemplo) cuando el método termine (es un ejemplo, es un ejemplo). De nuevo sin 
ver la declaración, sabemos qué está ocurriendo.&lt;/p&gt;
&lt;p&gt;De hecho el propio Delphi en varias partes de la VCL hace esto mismo, los T* de las clases, los var* de algunos tipos, etc. (aunque no es exactamente así al 100%; 
puedes revisar la &lt;a href=&#34;https://edn.embarcadero.com/article/10280&#34;&gt;Object Pascal Style Guide&lt;/a&gt; )&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nota &amp;ldquo;seria&amp;rdquo;: La notación húngara fue creada por el Dr. Charles Simonyi, aunque esto lo puedes ver en &lt;a href=&#34;https://es.wikipedia.org/wiki/Notaci%C3%B3n_h%C3%BAngara&#34;&gt;Notación húngara - Wikipedia, la enciclopedia libre&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;No existe una lista de prefijos predeterminados (las hay, pero no es un estandar), puedes inventarte la tuya; yo más o menos utilizo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;i integers&lt;/li&gt;
&lt;li&gt;n números (double, float, extended, lo que vienen a ser &amp;lsquo;importes&amp;rsquo;)&lt;/li&gt;
&lt;li&gt;d fechas&lt;/li&gt;
&lt;li&gt;c caracteres&lt;/li&gt;
&lt;li&gt;s strings&lt;/li&gt;
&lt;li&gt;w word (el de Office no, el tipo Word)&lt;/li&gt;
&lt;li&gt;btn botones&lt;/li&gt;
&lt;li&gt;lv listview&lt;/li&gt;
&lt;li&gt;lb checkbox&lt;/li&gt;
&lt;li&gt;rb radio button&lt;/li&gt;
&lt;li&gt;gp group box&lt;/li&gt;
&lt;li&gt;Gb si una variable es global (si ya, hemos matado un gatito por tener variables globales, qué se le va a hacer), además del prefijo normal, le pongo un Gb.&lt;/li&gt;
&lt;li&gt;cmb combobox&lt;/li&gt;
&lt;li&gt;grd grids&lt;/li&gt;
&lt;li&gt;ds datasource&lt;/li&gt;
&lt;li&gt;tb TTable&lt;/li&gt;
&lt;li&gt;q TQuery&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;etc&amp;hellip;. como digo, crea tu propio criterio.&lt;/p&gt;
&lt;p&gt;Finalmente, comentar que a poco que busques te vas a encontrar bastantes detractores de la notación húngara. Bueno, ahí está el debate; a mí en particular me ofrece muchas
más ventajas que desventajas; que realmente desventaja es que todavía no le he encontrado ninguna. Quizás la desventaja que más pesa es ¿qué ocurre si cambio el tipo de 
una variable? tendría que renombrar la variable en todo el código! pues sí, cierto; pero hoy en dia con las herramientas de refactorización y la potencia
de los editores de código:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ese trabajo de renombrar variables ya no es un problema.&lt;/li&gt;
&lt;li&gt;incluso al refactorizar, te va a mostrar previamente los cambios a realizar, con lo cual &amp;lsquo;podrás echar un vistazo&amp;rsquo; a lo que va a suponer el cambio de tipo
de tu variable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pues ya está, esta ha sido mi pequeña revisión de la notación húngara (en mi caso utilizada en Delphi)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Este sitio está hecho con Hugo, markdown...</title>
      <link>http://el-programador.com/post/hugo-markdown/</link>
      <pubDate>Sat, 21 Sep 2019 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/hugo-markdown/</guid>
      <description>&lt;p&gt;Esta es la historia de este pequeño sitio que estas visitando. Se trata de un &lt;strong&gt;blog estático&lt;/strong&gt;. Eso significa que las páginas no se generan por un proceso&lt;/p&gt;
&lt;p&gt;(programado en php o en cualquier otro lenguaje), es decir; no son &lt;strong&gt;dinámicas&lt;/strong&gt;. Son páginas &lt;strong&gt;estáticas&lt;/strong&gt;, es decir, las he creado yo en mi equipo y han sido 
puestas en el servidor; el cual las muestra sin apenas modificaciones.&lt;/p&gt;
&lt;p&gt;Este sistema tiene sus pros y sus contras, como todo. A mí me gusta básicamente porque quería un sitio sin complicaciones. Al ser un sitio con páginas estáticas, no hay 
procesos construyendo las páginas, no hay base de datos, no hay plugins&amp;hellip; no hay nada. Páginas html, css, imágenes y poco más.&lt;/p&gt;
&lt;p&gt;Por otra parte, quería un sistema de escritura de entradas en el blog que fuera rápido y cómodo&amp;hellip; y para ello nada mejor que &lt;strong&gt;MarkDown&lt;/strong&gt;. Markdown es una sintaxis (ojo que hay 
gente que le llama lenguaje, yo creo que no lo es). Básicamente se creó para poder hacer textos con formato (negritas, subrayados, listas, colores, links&amp;hellip;) pero sin 
necesidad de utilizar editores complejos/pesados tipo Ms Word. Además se quería que simplemente leyendo el texto, ya se supiera que formato tiene.
Y se consiguió, con &lt;strong&gt;MarkDown&lt;/strong&gt;.&lt;/p&gt;
&lt;h1 id=&#34;tu-primer-texto-markdown&#34;&gt;Tu primer texto Markdown&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Abre un editor, como el block de notas de Windows o el TextEdit de OSX, por ejemplo.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Escribe lo siguiente:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;      Hola **mundo**
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Guardalo como HolaMundo.md&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ya está. Este texto entre ** significa que está en negrita. Y con un programa de edición markdown, se verá en negrita. Poner listas como estas de más arriba se ponen simplemente
con un guion (-), la cursiva con *, y los títulos con #, ##, etc. Es todo muy sencillo.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Te dejo unos links de referencia:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.genbeta.com/guia-de-inicio/que-es-markdown-para-que-sirve-y-como-usarlo&#34;&gt;Qué es Markdown, para qué sirve y cómo usarlo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hipertextual.com/archivo/2013/04/que-es-markdown/&#34;&gt;Qué es Markdown y cómo aprovecharlo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://es.wikipedia.org/wiki/Markdown&#34;&gt;Markdown - Wikipedia, la enciclopedia libre&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://elandroidelibre.elespanol.com/2018/06/markdown-lenguaje-permite-escribir-dar-estilo.html&#34;&gt;Qué es Markdown, el lenguaje que te permite escribir y dar estilo a la vez&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/budparr/awesome-hugo&#34;&gt;budparr/awesome-hugo: A curated list of awesome things related to Hugo, The world&amp;rsquo;s fastest framework for building websites.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Puedes incluso utilizar MarkDown a diario, para tus ficheros de notas (yo lo hago así). Por otra parte, su uso está muy extendido y cada vez más herramientas te permiten 
teclear textos en MarkDown. Recuerda, esta entrada que estas leyendo, está escrita en un fichero &lt;strong&gt;MarkDown&lt;/strong&gt;, te voy a poner una captura del texto markdown original:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;markdown.jpg&#34; alt=&#34;texto markdown&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Bien, nos falta la otra parte&amp;hellip; construir el sitio a partir de los ficheros MarkDown (uno por cada entrada del post). Eso se consigue con un generador de blogs
estáticos; hay muchos pero yo he elegido * &lt;a href=&#34;https://gohugo.io/&#34;&gt;The world’s fastest framework for building websites | Hugo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La ayuda la tienes aquí &lt;a href=&#34;https://gohugo.io/documentation/&#34;&gt;Hugo Documentation | Hugo&lt;/a&gt;. Básicamente hay que instalar las utilidades de Hugo para generar el sitio. Los ficheros
de las entradas del blog van en el directorio /content, y tecleando &lt;em&gt;hugo&lt;/em&gt; en el terminal/consola/shell, generamos el sitio. Luego mediante ftp lo subimnos
al servidor. Todo eso de forma muy resumida, claro está; pero el proceso es ese. En la documentación de Hugo está todo, y hay infinidad de tutoriales en la red:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.adrianistan.eu/tutorial-hugo-espanol-generador-sitios-estaticos&#34;&gt;Tutorial de Hugo en español, generador de sitios estáticos - Adrianistán&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://code.tutsplus.com/es/tutorials/make-creating-websites-fun-again-with-hugo-the-static-website-generator-written-in-go--cms-27319&#34;&gt;Haz Divertida la Creación de Sitios Web con Hugo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://voragine.net/weblogs/hugo-guia-rapida&#34;&gt;Guía rápida para crear un sitio web con Hugo | Autonomía digital y tecnológica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://carlosbaeza.cl/hugo-framework-tu-primer-proyecto.html&#34;&gt;Hugo Framework: Primer Proyecto, Instalación, Configuración y Puesta en Marcha&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://opensource.com/article/18/3/start-blog-30-minutes-hugo&#34;&gt;Start a blog in 30 minutes with Hugo, a static site generator written in Go | Opensource.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Al final, el resultado es un blog de los estáticos, sin muchas preocupaciones y con unas entradas que se escriben de una forma muy sencilla. Recuerda: Hugo y MarkDown.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Para editar los ficheros y gestionar el sitio, uso como IDE PhpStorm &lt;a href=&#34;https://www.jetbrains.com/phpstorm/&#34;&gt;PhpStorm: The Lightning-Smart IDE for PHP Programming by JetBrains&lt;/a&gt;, que es
el IDE que uso para los temas web, a parte de Delphi para los asuntos desktop.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>Delphi. Creación de ficheros normas SEPA 19.14 y 34.14.</title>
      <link>http://el-programador.com/post/delphi-ficheros-norma-sepa-19-34/</link>
      <pubDate>Sun, 01 Sep 2019 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/delphi-ficheros-norma-sepa-19-34/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Código Delphi publicado en github: &lt;a href=&#34;https://github.com/cocosistemas/Delphi-SEPA-XML-ES&#34;&gt;cocosistemas/Delphi-SEPA-XML-ES: Delphi: Creación de ficheros normas 19.14 y 34.14 (básico, XML)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Actualización 2019: Mucha gente me pregunta si este proyecto sigue siendo válido, tras ver que lleva años sin actualizarse. Sí, yo sigo utilizandolo en proyectos que generan ficheros SEPA a diario. Simplemente es que la normativa no ha cambiado, y no ha sido necesario actualizarlos. Con respecto a utilizarlo en las versiones más nuevas de Delphi, no debes tener problema, no se utilizan features del lenguaje novedosas.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Estas unidades contienen dos objetos para la creación de los siguientes ficheros:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Norma 19.14 SEPA XML. Es un fichero de órdenes de cobro. El &lt;strong&gt;ordenante&lt;/strong&gt; cobra al &lt;strong&gt;deudor&lt;/strong&gt;. Internamente tenemos un array de ordenantes, cada uno con sus órdenes de cobro. Basta utilizar AddOrdenante, AddCobro. Como cada ordenante tiene una cuenta de abono para todos los cobros, internamente el objeto se encarga de colocar cada cobro en su ordenante. &lt;strong&gt;Ver el test&lt;/strong&gt; está ahí explicado el uso de los objetos.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Norma 34.14 SEPA XML. Es un fichero de órdenes de pago. El &lt;strong&gt;ordenante&lt;/strong&gt; paga al &lt;strong&gt;beneficiario&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cosas a tener en cuenta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Leer la normativa de los dos ficheros&lt;/strong&gt;. Son complejos. Hay campos opcionales que no se han añadido aquí y puede que su banco se lo pida. Los identificadores únicos de cada elemento son importantes, hay que leer su significado y tomar la decisión de cómo formarlos. Por si fuera poco, cada banco tiene su interpretación y puede que le pida alguna variación en algún elemento del fichero (esto ya lo he comprobado con la versión anterior los 19.14 y 34.14 en formato plano). &lt;strong&gt;Esto no es un componente &amp;ldquo;listo para usar&amp;rdquo; sin más&lt;/strong&gt;. Hay que entender de qué estamos hablando. Lo que si facilita es la estructuración y la escritura de las etiquetas.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Como guardamos la info en arrays, hay unos límites de órdenes y ordenantes. Supongo que serán suficientes pero es fácilmente modificable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;En la normativa hay muchos campos opcionales, no se ha añadido ninguno.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Se trata de los esquemas básicos, no los b2b.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Solamente se contemplan transferencias en euros, nada de cheques.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No se contemplan órdenes de devoluciones, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No se hace ningún chequeo de contenidos (IBAN, BIC, etc)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vea el proyecto test de ejemplo.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Basado en este otro componente: &lt;a href=&#34;https://github.com/aspettl/delphi-sepa-xml&#34;&gt;https://github.com/aspettl/delphi-sepa-xml&lt;/a&gt; las diferencias son amplias, pero es justo mencionar ese git.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La normativa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Para la norma 34.14, buscar &lt;strong&gt;Órdenes en formato ISO 20022 para emisión de transferencias y cheques en euros&lt;/strong&gt; por ejemplo &lt;a href=&#34;https://empresa.lacaixa.es/deployedfiles/empresas/Estaticos/pdf/Transferenciasyficheros/Cuaderno_34_XML_Noviembre_2015.pdf&#34;&gt;https://empresa.lacaixa.es/deployedfiles/empresas/Estaticos/pdf/Transferenciasyficheros/Cuaderno_34_XML_Noviembre_2015.pdf&lt;/a&gt; Si quiere puede ir directamente al &lt;strong&gt;ANEXO 1&lt;/strong&gt;. Es la parte interesante etiqueta a etiqueta. La programación de este proyecto se realizó siguiendo este ANEXO 1 etiqueta a etiqueta. Ojo! hay documentos que están desactualizados, ojo a las fechas! El último que he encontrado es de Noviembre 2015&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Para la norma 19.14 buscar &lt;strong&gt;Órdenes en formato ISO 20022 para emisión de adeudos directos SEPA en euros&lt;/strong&gt; por ejemplo &lt;a href=&#34;https://empresa.lacaixa.es/deployedfiles/empresas/Estaticos/pdf/Transferenciasyficheros/CuadernoXMLSDDCoreFebrero2014.pdf&#34;&gt;https://empresa.lacaixa.es/deployedfiles/empresas/Estaticos/pdf/Transferenciasyficheros/CuadernoXMLSDDCoreFebrero2014.pdf&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Actualización (febrero 2016): Ya está testeado en 3 bancos españoles. Tanto la norma 19.14 como la 34.14 y los ficheros han sido aceptados.&lt;/p&gt;
&lt;p&gt;Actualización (abril 2016): Hacemos público (en Norma 19.14) el array de ordenantes. Para poder recorrerlo y mostrarle al usuario el resumen de importes, algo así:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; for iOrdenantes:=1 to oNorma1914XML.iOrdenantes do begin
     mmFicheros.Lines.add(oNorma1914XML.listOrdenantes[iOrdenantes].sNombreOrdenante+&#39; &#39;+
          oNorma1914XML.listOrdenantes[iOrdenantes].sIBANOrdenante+&#39; &#39;+
                          uFmt_Numero2Str2(oNorma1914XML.listOrdenantes[iOrdenantes].mSumaImportes)+&#39;€&#39;);
 end;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Espero que sea de utilidad.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Delphi. Un TEdit mejorado.</title>
      <link>http://el-programador.com/post/tdjmedit-un-tedit-mejorado-delphi/</link>
      <pubDate>Sun, 01 Sep 2019 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/tdjmedit-un-tedit-mejorado-delphi/</guid>
      <description>&lt;h1 id=&#34;componentes-para-delphi-vcl-tdjmedit-y-tdjmeditbutton&#34;&gt;Componentes para Delphi VCL: TDJMEdit y TDJMEditButton&lt;/h1&gt;
&lt;p&gt;He publicado en &lt;a href=&#34;https://github.com/cocosistemas/TDJMEdit&#34;&gt;cocosistemas/TDJMEdit: un Edit mejorado para Delphi VCL&lt;/a&gt; el componente
TEdit que he programado y utilizo en mis proyectos. Tiene formato de números, moneda, fechas, etc. Es el &lt;em&gt;primer toque&lt;/em&gt; distintivo de una aplicación, que los
números se le muestren en pantalla en un formato agradable (y.. elegante?).&lt;/p&gt;
&lt;p&gt;Sirvan estos componentes también para ver una vez más la potencia de Delphi y/o ver cómo se programan componentes (no son muy complejos así que puedes
estudiar el código).&lt;/p&gt;
&lt;h1 id=&#34;tdjmedit&#34;&gt;TDJMEdit&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;capTest001.JPG&#34; alt=&#34;captura del programa demo&#34;&gt;&lt;/p&gt;
&lt;p&gt;Heredado de TEdit, sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;strings&lt;/li&gt;
&lt;li&gt;fechas&lt;/li&gt;
&lt;li&gt;números&lt;/li&gt;
&lt;li&gt;tiempo (hh:mm)&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;IMPORTANTE!!! PUEDES PROBARLO SIN NECESIDAD DE INSTALARLO, INCLUYE DEMO!!&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Se incluye paquetes para instalarlo en Delphi XE2 y para instalarlo en Delphi Berlin. Cualquier versión igual o superior a la XE2 no debe dar mayor problema. Con la versión Delphi 7 no funciona (tiene cosas del lenguaje que Delphi 7 no tiene)&lt;/p&gt;
&lt;h1 id=&#34;la-demo&#34;&gt;La demo&lt;/h1&gt;
&lt;p&gt;Los proyectos de test crean los componentes en tiempo de ejecución, así que puedes probarlo sin necesidad de instalar el componente. Son los proyectos de los directorios &lt;em&gt;TestBerlin&lt;/em&gt; y &lt;em&gt;TestXE2&lt;/em&gt;&lt;/p&gt;
&lt;h1 id=&#34;características-y-propiedades&#34;&gt;Características y propiedades&lt;/h1&gt;
&lt;h1 id=&#34;edittype&#34;&gt;editType&lt;/h1&gt;
&lt;p&gt;Evidentemente, la propiedad más importante:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;etString&lt;/strong&gt; el Edit actúa como un edit de texto, normal&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;etInteger&lt;/strong&gt; solamente acepta números enteros, (ver más adelante la sección formato de números).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;etFloat&lt;/strong&gt; admite números con decimales. Los que sean, no redondea, no corta decimales, deja el número tal y como haya sido tecleado&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;etFloatRounded&lt;/strong&gt; admite números con decimales. Redondea (y rellena) a &lt;strong&gt;decimals&lt;/strong&gt; decimales.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;etFloatRoundedEx&lt;/strong&gt; como &lt;em&gt;etFloatRounded&lt;/em&gt; pero **si el número tiene más decimales de lo indicado en &lt;strong&gt;decimals&lt;/strong&gt;, no redondea.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;etDate&lt;/strong&gt; admite fechas&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;etTime&lt;/strong&gt; admite horas:minutos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;por favor, sigue leyendo para ver las diferencias entre los distintos tipos de Edit&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id=&#34;etfloat-etfloatrounded-y-etfloatroundedex&#34;&gt;etFloat, etFloatRounded y etFloatRoundedEx&lt;/h1&gt;
&lt;p&gt;Quizás sea la característica de este componente que lo diferencie de los otros cientos de componentes que puedas encontrar en internet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;etFloat&lt;/strong&gt; Respeta todos los decimales que tenga el número. &amp;ldquo;no le hace nada&amp;rdquo;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;//nº = 1234,123713279123 -&amp;gt; 1234,123713279123
//nº = 1234,1237         -&amp;gt; 1234,1237
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;etFloatRounded&lt;/strong&gt; redondea a &amp;ldquo;decimals&amp;rdquo; decimales. Si el número tiene menos, añade los necesarios.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;//nº = 1234,123713279123, decimals = 3 -&amp;gt; 1234,124
//nº = 1234,12,           decimals = 3 -&amp;gt; 1234,120
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;etFloatRoundedEx&lt;/strong&gt; como etFloatRounded pero si el nº tiene más decimales, no lo corta/redondea&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;//nº = 1234,123713279123, decimals = 3 -&amp;gt; 1234,123713279123
//nº = 1234,12,           decimals = 3 -&amp;gt; 1234,120
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;el uso de etFloatRoundedEx está pensado para trabajar por ejemplo con tres decimales, que el usuario teclee normalmente tres decimales y hasta ahí, sea como etFloatRounded, pero si, por ejemplo; estamos visualizando datos grabados en la base de datos y hubiera algún importe con más de tres decimales, que no lo redondee. Esta es la diferencia. Es algo así como &amp;lsquo;vamos a trabajar con x decimales, pero si tuvieramos alguno mal guardado, lo vamos a visualizar, no vamos a engañar al usuario&amp;rsquo;. Es un concepto importante. Yo soy de la opinión de mostrar en pantalla siempre lo que tenga en la base de datos, eso ahorra problemas. Por eso si estoy visualizando datos de la base de datos con este edit (ojo, a &amp;ldquo;mano&amp;rdquo;, el componente no es data-aware), si tengo alguno incorrecto, con más decimales, quiero verlo, no ocultarlos. Ese es el motivo de la existencia de &lt;strong&gt;etFloatRoundedEx&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id=&#34;formato-de-números&#34;&gt;formato de números&lt;/h1&gt;
&lt;p&gt;Con las propiedades &lt;strong&gt;DecimalSeparator&lt;/strong&gt; y &lt;strong&gt;THousandSeparator&lt;/strong&gt; puedes controlar los caracteres utilizados para el signo de decimales y el de miles. Inicialmente el componente los toma de lo que tengas puesto en &lt;strong&gt;formatSettings&lt;/strong&gt; &lt;a href=&#34;http://docwiki.embarcadero.com/Libraries/Rio/en/System.SysUtils.FormatSettings&#34; target=&#34;_blank&#34;&gt;&lt;a href=&#34;http://docwiki.embarcadero.com/Libraries/Rio/en/System.SysUtils.FormatSettings&#34;&gt;http://docwiki.embarcadero.com/Libraries/Rio/en/System.SysUtils.FormatSettings&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;etInteger y todos los etFloat* tienen formato de números con los separadores decimal y de miles.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;./capTest001.JPG&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;obteniendoasignando-valores&#34;&gt;obteniendo/asignando valores&lt;/h1&gt;
&lt;p&gt;las propiedades &lt;em&gt;valueFloat, valueInteger, valueDate, valueTime&lt;/em&gt; son las que debes utilizar para obtener/asignar los valores del Edit en tu programa. Mira la demo para ver como se utilizan. Para &lt;em&gt;etString&lt;/em&gt; utiliza &lt;em&gt;text&lt;/em&gt;, como siempre.&lt;/p&gt;
&lt;p&gt;Utiliza la función &lt;strong&gt;isEmpty&lt;/strong&gt; para ver si hay un string vacío, una fecha nula o una hora vacía. Para números esto no tiene sentido (0 no es vacío, es cero, utiliza valueFloat o valueInteger para eso).&lt;/p&gt;
&lt;h1 id=&#34;tecleando-números-y-fechas&#34;&gt;tecleando números y fechas&lt;/h1&gt;
&lt;p&gt;El usuario no debe (ni puede) teclear los separadores, esto es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;12.345,65 lo teclea con 12345,65 (etFloat*, etInteger)&lt;/li&gt;
&lt;li&gt;30/01/2010 lo teclea con 30012010 (etDate)&lt;/li&gt;
&lt;li&gt;10:30 lo teclea con 1030 (etTime)&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;teclas-especiales&#34;&gt;teclas especiales&lt;/h1&gt;
&lt;p&gt;Si se teclea &lt;strong&gt;ESC&lt;/strong&gt;, el componente recupera el valor que tenía antes de OnEnter. Es como un &lt;em&gt;undo de emergencia&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Los caracteres . y , se intercambian. Da igual lo que teclee el usuario, se convierten a &lt;strong&gt;DecimalSeparator&lt;/strong&gt;. Esto es por comodidad, el usuario no debe preocuparse por teclear . o ,.&lt;/p&gt;
&lt;p&gt;En el caso de &lt;em&gt;etDate&lt;/em&gt;, &lt;strong&gt;F2 muestra un calendario&lt;/strong&gt; y &lt;strong&gt;F3 toma el dia de hoy&lt;/strong&gt;. (creo que eso es mucho mejor que un datepicker)&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;./capTestCalendario.JPG&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;las fechas van en formato dd/mm/yyyy&lt;/strong&gt; por ahora no tengo previsto considerar otros formatos.&lt;/p&gt;
&lt;p&gt;Con la propiedad &lt;strong&gt;EditKeyByTab&lt;/strong&gt; puedes indicar qué caracter quieres que se utilize para salir del edit y pasar al siguiente control. Inicialmente se crea como el caracter &lt;em&gt;intro&lt;/em&gt;. Es decir, por defecto, &lt;strong&gt;estos edits pasan de control en control con la tecla intro&lt;/strong&gt;.&lt;/p&gt;
&lt;h1 id=&#34;auto-completado&#34;&gt;auto-completado&lt;/h1&gt;
&lt;p&gt;En &lt;em&gt;etDate&lt;/em&gt; y &lt;em&gt;etTime&lt;/em&gt; el componente intenta auto-completar todo lo que pueda. Así si en una fecha solo se teclea un 2 (por ejemplo), se toma el dia 2 del mes actual del año actual. Lo mismo hace con &lt;em&gt;etTime&lt;/em&gt;&lt;/p&gt;
&lt;h1 id=&#34;colores&#34;&gt;colores&lt;/h1&gt;
&lt;p&gt;El componente tiene &lt;strong&gt;ColorOnFocus, ColorOnNotFocus, FontColorOnFocus y FontColorOnNotFocus&lt;/strong&gt; para cambiar el color del fondo y el texto cuando se obtiene/abandona el foco.&lt;/p&gt;
&lt;h1 id=&#34;numbersalignedright&#34;&gt;NumbersAlignedRight&lt;/h1&gt;
&lt;p&gt;Esta propiedad indica que los etFloat* y etInteger están alineados a la derecha.&lt;/p&gt;
&lt;h1 id=&#34;currencysymbol&#34;&gt;CurrencySymbol&lt;/h1&gt;
&lt;p&gt;El símbolo &lt;em&gt;de moneda&lt;/em&gt;. Se puede dejar en blanco y entonces no se utilizará.&lt;/p&gt;
&lt;h1 id=&#34;personalizar&#34;&gt;personalizar&lt;/h1&gt;
&lt;p&gt;En el caso de que los colores no sean de tu gusto, los separadores&amp;hellip; etc, no vayas modificando cada uno de los TDJMEdit de tu proyecto, pueden llegar a ser muchos. Te aconsejo que te hagas tu propio componente, heredado de este, y en el constructor le pongas tu personalización. Creo que esa es la forma correcta de hacerlo.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;por favor, si vas a modificar algo, hazme un pull request, no es necesario que hagas un fork. Si puedo incorporar tus sugerencias, lo haré. Y para los bugs, abres un issue :)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;djmeditbutton&#34;&gt;DJMEditButton&lt;/h1&gt;
&lt;p&gt;Es el mismo edit, pero además tiene un speedbutton asociado. Podemos definir el tipo de imagen que aparecerá en el botón (lupa, carpeta, etc). Dispone de un evento OnClickButton donde podremos actuar en consecuencia. Muy útil para botones de búsqueda, seleccionar directorios, abrir ventanas modales de petición de datos.. cosas así.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;./capEditButton.JPG&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Actualización Windows 10. Mayo 2019</title>
      <link>http://el-programador.com/post/update-windows-mayo-2019/</link>
      <pubDate>Wed, 01 May 2019 00:00:00 +0000</pubDate>
      <guid>http://el-programador.com/post/update-windows-mayo-2019/</guid>
      <description>&lt;p&gt;Los programadores Delphi debemos estar bien informados de las novedades de nuestro entorno de desarrollo: Windows.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;En mayo 2019 tenemos una nueva update. &lt;a href=&#34;https://www.genbeta.com/windows/cinco-mejores-caracteristicas-windows-10-may-2019-update&#34;&gt;Windows 10: las cinco mejores características de la May 2019 Update&lt;/a&gt; Si no
quieres actualizar: &lt;a href=&#34;https://www.genbeta.com/paso-a-paso/como-posponer-windows-10-may-2019-update-version-1903-como-sea-posible&#34;&gt;Windows 10: cómo retrasar la actualización de la nueva versión&lt;/a&gt;
Y a partir de ahora, windows va a ser más respetuoso con las actualizaciones &lt;a href=&#34;https://www.genbeta.com/windows/windows-10-may-2019-update-comenzara-a-llegar-proxima-semana-devolviendo-control-actualizaciones-a-usuarios&#34;&gt;La Windows 10 May 2019 Update comenzará a llegar la próxima semana devolviendo el control de las actualizaciones a los usuarios&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
  </channel>
</rss>
