Archivo

Entradas Etiquetadas ‘Delphi’

Lanzamiento de RAD Studio 10.2–Tokio

miércoles, 22 de marzo de 2017 Sin comentarios
Share Button

Si habéis estado atentos a las redes últimamente y/o a la comunidad de Embarcadero seguro que ya os suena el nombre de "Tokio". Este es con el que conocemos a la nueva versión de RAD Studio 10.2 que está a punto de salir.

descargaAl igual que lo que pasó con versiones anteriores cuando se añadió FMX o el soporte para Android, esta versión trae una característica especial que sobresale sobre el resto. La inclusión de Linux como nueva plataforma "target" para las aplicaciones.

Decir que esta nueva característica no está enfocada a realizar aplicaciones gráficas (es lo primero que pregunta gente en el blog y en los foros) sino que está dirigida al desarrollo de aplicaciones servidor. Independientemente de si esta primera versión trae más características o menos, en mi opinión es que nos abre las puertas a poder desarrollar nuevas soluciones de cara a un futuro.

Por ahora el soporte incluye Ubuntu LTS Version 16.04 and RedHat Enterprise Version 7.

He dicho que esta es la característica más llamativa, pero no la única.

Se incluyen otras mejoras relacionadas con soporte para Android en Jelly Bean (4.1, 4.2, 4.3), Kit Kat (4.4), Lollipop (5.x), Marshmallow (6.x) and Nougat (7.x).
Mejoras en los componentes para VCL (32 y 64 bits).
Mejor soporte en multi-threading para TBitmap, TCanvas y TContext3D.
Mejoras en el soporte para AppTethering para VCL y FMX.
Mejoras referentes a High-DPI y soporte para monitores 4K.

El Webminar de Lanzamiento es el 27 de Marzo y podéis revisar más información e inscribiros en el siguiente enlace.

Official Launch Webinar for RAD Studio 10.2 Tokyo

 

Tokyo-Release-Webinar

 

Las varias horas para la presentación; El horario aquí en España es el siguiente:

  • Mon, Mar 27, 2017 3:00 PM – 4:00 PM CEST
  • Mon, Mar 27, 2017 8:00 PM – 9:00 PM CEST
  • Tue, Mar 28, 2017 1:00 AM – 2:00 AM CEST

Un saludo y hasta la próxima

Categories: Delphi, Tokio Tags: , ,

#FunWithDelphi: La foto del día

martes, 31 de enero de 2017 2 comentarios
Share Button

NASA_DelphiBueno, pues ya está publicada la mía!! Y si todavía no os habéis animado os animo a que lo hagáis.

Desde hace unos días está en marcha la competición #FunWithDelphi que ha promovido Embarcadero y que se basa en la API de la NASA.

La descripción completa de la competición la tenéis en estos links; Esta entrada de Marco Cantú, y esta otra donde se explican algunos detalles más técnicos.

Y las reglas y los pasos prácticos a seguir, en este otro enlace:
https://community.embarcadero.com/competitions/14-fun-with-delphi-nasa-api-mash-up

Al final de la página también tenéis la lista de las publicadas hasta ahora, con las opciones para acceder a ellas y votar.

Básicamente, se trata de hacer una aplicación que utilice la API de la NASA y que muestre características de las últimas versiones de RAD Studio. Cualquier plataforma disponible y con el único límite de la imaginación.

Os muestro un vídeo de la mía en funcionamiento (Windows + Android)

Link al video (https://www.youtube.com/watch?v=CBqpnR6hwlo)

Y os dejo algunas imágenes:

Se puede descargar el binario para windows desde el repositorio de github. El código completo de la aplicación lo publicaré en el blog y en el repositorio, una vez que acabe la competición

Sólo me queda esperar que os guste y si es así que la votéis.

Un saludo.

Visualizando y utilizando Mapas (Componente TMapView)

miércoles, 21 de diciembre de 2016 44 comentarios
Share Button


En Delphi podemos utilizar diferentes componentes que nos permitan visualizar mapas en nuestras aplicaciones. El más básico, es el componente TWebBrowser del que ya he hablado otras veces en el blog. Al final un la visualización de un Mapa (utilizando los diferentes servicios existentes) no es más que la visualización de una página web.

Si queréis ver entradas anteriores relacionadas con esto, aquí os dejo una lista:

Aparte de esto, si queréis más información sobre el tema, os puedo recomendar las webs de:

Leer más…

CodeRage XI en Español, 7 y 8 de Diciembre

lunes, 28 de noviembre de 2016 4 comentarios
Share Button

 

Header-CR

 

ACTUALIZACIÓN  09/12/2016: Ya están disponibles los «replays» de las conferencias, aquí:   http://embt.co/CRXIEspanolReplay

Esta conferencia en línea totalmente gratis se realizará el 7 y 8 de diciembre de 2016 y, como siempre, estará llena de sesiones donde se tratarán temas técnicos en profundidad para todos los niveles y todo sobre el desarrollo con RAD Studio.
Se está finalizando la selección de oradores de este año, ¡que incluirá también a los principales expertos de las comunidades hispanohablantes!

ACTUALIZACIÓN (01/12/2016)

Aquí está la agenda con los diferentes seminarios programados.

AGENDA
Fecha: 7 de Diciembre
9:00 México
10:00 Colombia
12:00 Argentina
16:00 España
Migración de aplicaciones a FireDAC Antonio Cabanillas
10:00 México
11:00 Colombia
13:00 Argentina
17:00 España
Aplicaciones distribuidas con REST Jose García
11:00 México
12:00 Colombia
14:00 Argentina
18:00 España
TBD TBD
12:00 México
13:00 Colombia
15:00 Argentina
19:00 España
Cómo modernizar su estilo de programación Jhonny Arley Suárez
Fecha: 8 de Diciembre
9:00 México
10:00 Colombia
12:00 Argentina
16:00 España
Delphi MVC Framework y FireDAC Emilio Pérez
10:00 México
11:00 Colombia
13:00 Argentina
17:00 España
Por qué usar C++Builder Luis Felipe Gonzalez Torres
11:00 México
12:00 Colombia
14:00 Argentina
18:00 España
Desarrollando Apps Móviles con Delphi y SQLite José Castillo Reyes
12:00 México
13:00 Colombia
15:00 Argentina
19:00 España
Creando un cliente de una API REST Fluida con la biblioteca cliente REST de Delphi Juan Antonio Castillo

Delphi Boot Camp with 100% off Delphi (REPLAYS)

lunes, 12 de septiembre de 2016 Sin comentarios
Share Button

Bueno, si no te has enterado, ya llegas tarde.  ;-D  (aunque tienes otra oportunidad).

La semana pasada del 5 al 9 de Septiembre se han realizado las 5 sesiones online gratuitas de 2 horas cada una, sobre la última versión de Delphi (15:00 y 20:00 hora española).

2e1ax_embarcadero_entry_DelphiBootCamp (1)

Desde la propia página del Boot Camp donde estaba toda la información, tienes ahora acceso al replay de todas las sesiones realizadas.

Delphi Boot Camp

También puedes acceder a ellas directamente desde Youtube.

Categories: Código, Delphi, Embarcadero Tags:

Gratis, Delphi 10.1 Berlin Starter Edition

martes, 23 de agosto de 2016 2 comentarios
Share Button

PROMOCIÓN ESPECIAL!!!

Como ya hizo en su día con la versión de C++ Builder, Embarcadero ofrece para descarga hasta el 9 de Septiembre del 2016, de forma gratuita de la versión Starter de Delphi 10.1 Berlin.

El acceso a la página de descarga es este.

 

Si queréis saber más sobre la versión Starter, aquí hay información.

Categories: Delphi, Embarcadero Tags: ,

NASA, la foto del día…

viernes, 3 de junio de 2016 9 comentarios
Share Button

Hace bastante tiempo (cuando estábamos en la facultad) con mis amigos,  nos acostumbramos a visitar la web de  “la foto del día”. Había y sigue habiendo webs de muchas temáticas, pero una de las más conocidas en aquella época era la de la NASA. Las fotos de este tipo que hoy son más habituales, entonces era difícil encontrarlas (con aquella calidad).

ImagenDelDia

Actualmente la URL para acceder a “la foto del día” es esta.

http://apod.nasa.gov/apod/astropix.html

Leer más…

Yo ya tengo el mío…

miércoles, 2 de marzo de 2016 3 comentarios
Share Button

Pues eso, tal y como reza el título, yo ya tengo el mío.  :-DTapa_libro

No hace muchos días, de la mano de Danysoft (partner oficial de Embarcadero en España), se publicó el último libro de Francisco Charte; «Programación de aplicaciones Delphi con acceso a Bases de Datos».  Pues ayer ya llegó mi copia.

No puedo opiniar todavía en profundidad, pues apenas lo he ojeado por encima, pero la verdad es que tiene una pinta fantástica.

Está centrado en la librería de acceso a datos que viene actualmente con las versiones de delphi, FireDAC y que nos da acceso multiplataforma a  las Bases de Datos más utilizadas en el mercado. Más que las explicaciones que yo pueda dar, os recomiendo que reviséis el índice completo del libro que se puede descargar en PDF desde aquí.

Personalmente me han llamado la atención algunos puntos, pero que supongo que a vosotros os pueden interesar muchos otros de los que se tratan:

  • Aplicaciones con Interbase embebido
  • Bases de Datos en memoria con FireDAC
  • Bases de Datos y Unicode
  • Servicios REST
  • Todo lo refrente a multiplataforma
  • Configuración de FireDAC

Personalmente no he trabajado casi nada con FireDAC (en lo que se refiere a proyectos «en serio») así que aunque imagino que en su mayor parte se utilizan de forma similar a otras librerías de acceso a datos, siempre está bien tener un punto de referencia para llegar un poco más allá y profundizar un poco.

Si alguien tiene opiniones y comentarios sobre el libro y desea expresarlos, pues sois libres de participar y dar vuestra opinión aquí.

Un saludo y hasta la próxima.

IMG_20160226_174910

IMG_20160226_175022

Categories: Bases de Datos, Danysoft, Delphi Tags: ,

Hablando del tiempo… (OpenWeatherMap) 2/2

lunes, 21 de diciembre de 2015 2 comentarios
Share Button

Para complementar la entrada anterior (Hablando del tiempo… (OpenWeatherMap) 1/2)  y «acabarla» me queda publicar el desarrollo móvil correspondiente a la aplicación que vimos anteriormente.
Como ya os comenté en la entrada anterior, el código a utilizar es prácticamente el mismo que hemos utilizado en las aplicaciones para windows (VCL). La mayor diferencia que me he encontrado en el tratamiento de la respuesta JSON que obtenemos del servidor.

Para versiones antiguas de Delphi, podéis utilizar si lo necesitáis la misma librería que ya he recomendado aquí otras veces. Se trata de lkJSON que podéis encontrar en Sourceforge.
En las nuevas versiones de Delphi ya está disponible la unit System.JSON, con lo necesario para no utilizar librerías externas.

function TForm1.ParseTiempoCiudadesHist(AObjResp: TlkJSONobject; var ATiempoProxHoras: TTiempoProxHoras): Boolean;
var
  i, j, num, index:integer;
  oHorasList, OWList:TlkJSONlist;
  oHora, oCoord, oMain, oWind, oWeather:TlkJSONobject;
  Str:String;
begin
  // ini
  Result := False;
  // Si no está asignado salimos..
  if not Assigned(AobjResp) then begin
    Exit;
  end;
    // Si hay error no parseamos
    if IsErrorResponse(AObjResp, errCode, ErrMsg) then begin
    Exit;
  end;
 
  // proteccion para el parseo
  try
    // cod. devuelto (datos principales
    ATiempoProxHoras.Cod := errCode;
 
    num := AObjResp.IndexOfName('count');
    if (num <> -1) then begin
      num := GetAsInteger(AObjResp.Field['count'].Value);
    end;
 
    // si no hay ciudades
    if (num = 0) then begin
      MessageDlg('No hay ninguna ciudad que coincida con ese código [nombre,pais].', mtWarning, [mbOK], 0);
      Exit;
    end;
 
    // Lista de horas (Lista)
    TlkJSONBase(oHorasList) := AObjResp.Field['list'];
    // array de elementos
    SetLength(ATiempoProxHoras.TiempoHora, oHorasList.Count);
    // Quedarse con el primier elemento de la lista...
    for i := 0 to (oHorasList.Count - 1) do begin
      // datos de la primera ciudad
      TlkJSONBase(oHora) := oHorasList.Child[i];
      // datos básicos
      ATiempoProxHoras.TiempoHora[i].dt_text := GetAsString(oHora.Field['dt_txt'].Value);
      // convertir fecha-Hora
      Str := ATiempoProxHoras.TiempoHora[i].dt_text;
      ATiempoProxHoras.TiempoHora[i].dt := EncodeDateTime(
        StrToIntdef(Copy(Str, 1, 4), 0),
        StrToIntdef(Copy(Str, 6, 2), 0),
        StrToIntdef(Copy(Str, 9, 2), 0),
        StrToIntdef(Copy(Str, 12, 2), 0),
        StrToIntdef(Copy(Str, 15, 2), 0),
        StrToIntdef(Copy(Str, 18, 2), 0), 0);
 
      // Load Main
      TlkJSONBase(oMain) := oHora.Field['main'];
      ATiempoProxHoras.TiempoHora[i].Main.temp := GetAsFloat(oMain.Field['temp'].Value);
      ATiempoProxHoras.TiempoHora[i].Main.tempmin := GetAsFloat(oMain.Field['temp_min'].Value);
      ATiempoProxHoras.TiempoHora[i].Main.tempmax := GetAsFloat(oMain.Field['temp_max'].Value);
      ATiempoProxHoras.TiempoHora[i].Main.pressure := GetAsFloat(oMain.Field['pressure'].Value);
      ATiempoProxHoras.TiempoHora[i].Main.humidity := GetAsInteger(oMain.Field['humidity'].Value);
 
      // Load weather
      TlkJSONBase(OWList) := oHora.Field['weather'];
      TlkJSONBase(oWeather) := oWList.Child[0];
      ATiempoProxHoras.TiempoHora[i].Weather.id := GetAsInteger(oWeather.Field['id'].Value);
      ATiempoProxHoras.TiempoHora[i].Weather.main := GetAsString(oWeather.Field['main'].Value);
      ATiempoProxHoras.TiempoHora[i].Weather.desc := GetAsString(oWeather.Field['description'].Value);
      ATiempoProxHoras.TiempoHora[i].Weather.icon := GetAsString(oWeather.Field['icon'].Value);
    end;
 
    Result := True;
  except
    // si hay error, FALSe
    Result := False;
  end;
end;

Leer más…

Categories: Android, Código, Delphi, iOS, JSON Tags: , , ,

Replay de las sesiones de la DelphiWeek 2015

martes, 7 de abril de 2015 Sin comentarios
Share Button

Si te perdiste las sesiones de la DelphiWeek 2015, ya están disponibles todas las sesiones en esta lista de reproducción de Embarcadero Technologies.

Vale la pena revisarlas, porque algunas son muy interesantes. Hay un poco de todo, de carácter general, técnicas, algunas más “offtopic” y otras referentes a partners y componentes comerciales.

Delphi banner

 

Aquí tenéis una lista completa de las sesiones:

Espero que las encontréis interesantes.

 

Un saludo y hasta la próxima.