domingo, 31 de diciembre de 2017

Números aleatorios y probabilidades en C++

Cómo obtener la probabilidad para de manera aleatoria? Esto te podría servir para tomar ciertas decisiones en tu aplicación o sistema, como por ejemplo actualizar una barra de progreso a fin que no sean tan demandante la interacción con el UI.


miércoles, 9 de agosto de 2017

RAD Studio 10.2 Tokyo Release 1 (Nuevas funciones, mejoras y correcciones de errores)



Aquí les transcribo en español un extracto de la actualización de RAD Studio 10.2 Tokyo Release 1.

Este lanzamiento (release) es una actualización a la versión 10.2 Tokyo que incluye Delphi 10.2 Tokyo, C++ Builder 10.2 Tokyo y Rad Studio 10.2 Tokyo. La misma que está disponible para clientes con suscripción activa.

Entrar para ver detalle y vínculos de descarga.

lunes, 17 de julio de 2017

¿Cómo procesar/parse un objeto JSON ya creado?

Siguiendo el ejemplo anterior ¿Cómo crear objetos JSON de cero? ahora vamos a suponer que tenemos el siguiente objeto o string JSON:

{
 "Book-1":{
  "id":2587,
  "titulo":"Dalila la bella",
  "subtitulo":"Poesia sobre Dalila.",
  "autor":"Sr. Juan Perez",
  "isbn":"777345934500023",
  "categoria":["arte","poesia"]
 },
 "Book-2":{
  "id":3700,
  "titulo":"Simbad el Marino",
  "subtitulo":"Aventuras de Simbad.",
  "autor":"Agustin Sanchez Aguilar",
  "isbn":"9788431668594",
  "categoria":["arte","historietas"]
 }
}

Y queremos procesar, navegar o "parse" su contenido elemento por elemento: libro por libro y atributo por atributo.


viernes, 30 de junio de 2017

¿Cómo crear objetos JSON de cero?

Antes de seguir les recomiendo dar una leída a la información del sitio oficial de esta estructura de datos: JSON.

Notarás que en resumen, un objeto del tipo JSON puede contener los siguientes:

Y esto es recursivo, es decir cada nuevo valor del objeto puede a su ver contener cualquiera de los valores mostrados en la imagen anterior.

Haremos un ejemplo en C++, que como siempre es multiplataforma :D


miércoles, 31 de mayo de 2017

Raspberry Pi - RAD Studio - Delphi - C++

Raspberry Pi - RAD Studio - Delphi - C++


Raspberry Pi es un ejemplo de una computadora en una tarjeta :D.

Éstos hobbies de bajo costo o proyectos de computadora son un ejemplo básico del IoT (Internet of Things). Raspberry Pi es más potente que un Arduido, pero a la vez no es una computadora desktop completa (Obviamente!). Usualmente suelen tener limitaciones o hardware (partes) específicas algo diferentes, pero por otro lado, su tamaño "pequeño" y de "bajo" costo los hacen ideales para el desarrollo de aplicaciones empotradas (embedded) en otros entornos, industriales o no, o sistemas en general. RAD Studio soporta procesadores ARM e Intel con una variedad de sistemas operativos (OS). Este video webinar explorará la combinación de hardware y sistema operato ideales para Delphi y C++. Luego también se muestra algunos ejemplos básicos y proporciona recursos para que puedas realizar tus pruebas ya mismo!

viernes, 26 de mayo de 2017

Cómo simular mensajes Toast en Android, iOS, Windows y OSX usando C++

Si vienes de programar en Java para Android seguramente buscarás alguna función similar en Delphi o C++ Builder. Sin embargo ésta función no existe de manera predeterminada. Lo que encontrarás son los típicos mensajes de pantalla al estilo de Windows como por ejemplo ShowMessage("..."); los mismos que requieren que el usuario los atiendan, para ello muestran uno o más botones (dependiendo del tipo de función utilizado para generar el mensaje) para que el usuario presione (clic) en algún botón para que así puedan desaparecer.

En cambio, los mensajes Toast de Android son muy buenos ya que muestran información corta al usuario y se desvanecen automáticamente, lo cual, en ciertas situaciones los hacen muy prácticos y de mucha utilidad.

Hoy veremos cómo hacer esto en C++ de manera muy fácil para que desde cualquier aplicación que estés desarrollando los puedas instanciar como a cualquier objeto y, con una línea de código podrás mandar mensajes tipo Toast a la pantalla del usuario.

Mira la imagen de la izquierda, el texto se auto ajusta al ancho y alto del mensaje enviado sin requerir mayor código. Inclusive si agregas algunas propiedades adicionales a este ejemplo podrías cambiar el fondo del mensaje, el borde, el color del texto así como el tipo de letra y otras de sus propiedades.


Además al utilizar C++/Delphi de embarcadero.com este código prácticamente funcionará en cualquier plataforma 😀😀😀


martes, 18 de abril de 2017

Enviar una URL a otra App en Android/iOS usando C++

Algunos protocolos comunes que se asocian a esta acción:
  • http, tel, sms, fb, mailto, twitter, geo, etc.
Ejemplos soportados según cada plataforme:
Android:
  • content://contacts/people/
  • content://contacts/people/1
  • geo://0,0?q=5617 Scotts Valley Drive, Scotts Valley, CA 95066
  • geo://46.191200, -122.194400 
iOS:
  • http://maps.apple.com?q=5617 Scotts Valley Drive, Scotts Valley, CA 95066

sábado, 11 de marzo de 2017

Herramienta Multiplataforma para Desarrolladores

Después de 10 años, ya sé sobre qué escribiré...
(Si has visto mi primera entrada de blog sabrás a que me refiero)

A los que nos apasiona escribir y escribir líneas de código, a los que nos gusta hacerlo como hobby o quizá lo hacemos por encargo de algún trabajo, sabemos que las horas frente al computador pueden ser largas y a pesar de disfrutarlas no nos gusta hacer lo mismo dos veces. En realidad cada situación que vemos en nuestras vidas realmente queremos automatizarlas jajajja o no? (...) me ha pasado mucho! Pero por falta de tiempo generalmente no podemos cumplir nuestros deseos. Imaginemos que ya tienes tu Sistema o App ya terminada para una plataforma X, e imagina si te piden exactamente la misma App para otra plataforma, esto no es nada inusual. Pues bien, el sólo hecho de pensarlo nos da mucha flojera, se nos cambia la cara... y por supuesto lo primero que se nos viene a la mente es cierta tranquilidad porque sabemos que muchas cosas podremos reutilizarlas y en otros casos no, pero al menos nos queda la lógica ya escrita y sobre ello tocará traducirla para que funcione en la otra plataforma solicitada. Por ejemplo si pasamos de Java para Android a Objective C de iOS, o viceversa.