CodeRage XI en español ya está aquí con una agenda muy interesante para profundizar en nuestros conocimientos con nuestra herramienta favorita, RAD Studio, donde veremos como mejorar tanto en Delphi como en C++ Builder.
CodeRage XI comienza el 7 de diciembre con una apuesta muy fuerte, la Migración de aplicaciones a FIREDAC, presentado por Antonio Cabanillas, seguido de Aplicaciones distribuidas con REST presentado por Jose García. Posteriormente, Eliseo González presenta Berlin 10.1 Update 2 – Desktop Bridge y Windows Store, una ponencia extraordinaria donde podemos ver las últimas novedades que han venido con Berlin 10.1 Update 2. Para finalizar la primera jornada, Jhonny Arley Suárez nos presenta Cómo modernizar su estilo de programación, cita imprescindible para todo programador Delphi, sobre todo aquellos que llevamos muchos años en esto y nos suena raro eso de Generics en Delphi.
Al día siguiente, 8 de diciembre, festivo en España, la agenda viene muy cargada de nuevas sesiones donde me estreno como ponente donde hablo sobre Delphi MVC Framework y Firedac, espero que os guste y espero vuestros comentarios!!!!!!. Después de mi pequeño granito de arena, vienen otros compañeros mostrando temas muy interesantes como Luis Felipe González Torres, que nos habla de Por qué usar C++ Builder seguido de José Castillo Reyes y una sesión muy interesante para el mundo móvil Desarrollando Apps Móviles con Delphi y SQL Lite. Para finalizar la jornada, Juan Antonio Castillo hablará de Creando un cliente de una API REST fluida con la biblioteca cliente REST de Delphi.
Las sesiones comienzan todas a las 16:00 hora España, 9:00 hora México, 10:00 hora Colombia y 12:00 hora Argentina y tienen una hora de duración cada sesión.
Como pueden comprobar, todos nos decantamos por las novedades que incluyen desde RAD Studio, haciendo uso de FIREDAC y de las nuevas herramientas relacionadas con REST y JSON.
A continuación os dejo alguno de los códigos utilizados durante mi presentación:
unit Unit5;
interface
uses
MVCFramework;
type
[MVCPath('/')]
TControlador = class(TMVCController)
public
[MVCPath('/')]
[MVCHTTPMethod([httpGET])]
procedure Index;
[MVCPath('/empleado')]
[MVCHTTPMethod([httpGET])]
procedure GetEmpleado;
[MVCPath('/hellos/($FirstName)')]
[MVCHTTPMethod([httpGET])]
procedure GetSpecializedHello(const FirstName: String);
procedure OnBeforeAction(Context: TWebContext; const AActionName: string; var Handled: Boolean); override;
procedure OnAfterAction(Context: TWebContext; const AActionName: string); override;
end;
implementation
uses
MVCFramework.Logger, System.JSON, System.SysUtils, Unit6;
procedure TControlador.Index;
begin
//use Context property to access to the HTTP request and response
Render('Hola, este es un video de CodeRage');
end;
procedure TControlador.GetEmpleado;
var
arrayJ: TJSONArray;
objetoJ: TJSONObject;
I: Integer;
w : TModuloWeb;
begin
Context.Response.SetCustomHeader('Access-Control-Allow-Origin','*');
{
arrayJ:=TJSONArray.Create;
for I := 0 to 4 do
begin
objetoJ:=TJSONObject.Create;
objetoJ.AddPair('id', inttostr( i) );
objetoJ.AddPair('nombre', 'nombre A');
arrayJ.AddElement(objetoJ);
end;
}
w:= GetCurrentWebModule as TModuloWeb;
w.EmployeesTable.Active:=true;
Render(w.EmployeesTable);
end;
procedure TControlador.GetSpecializedHello(const FirstName: String);
begin
Render('Hello ' + FirstName);
end;
procedure TControlador.OnAfterAction(Context: TWebContext; const AActionName: string);
begin
{ Executed after each action }
inherited;
end;
procedure TControlador.OnBeforeAction(Context: TWebContext; const AActionName: string; var Handled: Boolean);
begin
{ Executed before each action
if handled is true (or an exception is raised) the actual
action will not be called }
inherited;
end;
end.
Abraham Vivian dice
Gracias por su tutorial y vídeo que nos brinda un saludo cordial.
emiliopm dice
Gracias a tí por visitar mi web y tomarte la molestia de escribir, te lo agradezco mucho