First Commit

Setup repo and website
This commit is contained in:
2024-11-21 09:29:25 +01:00
commit a6f764245d
524 changed files with 357923 additions and 0 deletions

View File

@@ -0,0 +1,508 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Web API con Delphi y DMVCFramework</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Web API con Delphi y DMVCFramework</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 490 € (IVA no incluido)
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Delphi Tokyo o superior, OOP y HTTP.<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
La disponibilidad de datos corporativos de forma remota no es una opción. Sus empleados necesitan acceso a información vital, incluso cuando no están en su puesto. En este curso, descubrirá lo simple (y poderoso) que es usar Delphi para escribir servicios RESTful / JSON usando DelphiMVCFramework. En este curso analizaremos todas las peculiaridades de DelphiMVCFramework, el framework apreciado en todo el mundo por su rapidez y sencillez. ¡El taller incluye el desarrollo real de un servidor RESTful completo y un cliente web javascript! ¡Este es el curso perfecto para aquellos que desean aprender a desarrollar web API con Delphi de forma rápida y sencilla!
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Introducción a DelphiMVCFramework</b></li>
<li><b>¿Por qué DMVCFramework es el framework más popular en Github? ¿Qué lo hace único?</b></li>
<li><b>Desarrollar web API con Delphi.</b></li>
<li><b>Los controladores</b></li>
<li><b>Las acciones</b></li>
<li><b>Los filtros de acción</b></li>
<li><b>Enrutamiento</b>
<ul>
<li>
Parámetros mapeados de URL
</li>
<li>
Parámetros fuertemente tipados
</li>
<li>
Parámetros de cadena de consulta
</li>
</ul>
</li>
<li><b>Los atributos que hacen que DMVCFramework sea fácil de usar</b>
<ul>
<li>MVCPath. Soporte para expresiones regulares en MVCPath</li>
<li>MVCHTTPMethod</li>
<li>MVCProduces</li>
<li>MVCConsumes</li>
<li>MVCDoc</li>
</ul>
</li>
<li><b>Inyección de parámetros</b>
<ul>
<li>MVCFromBody</li>
<li>MVCFromQueryString</li>
<li>MVCFromHeader</li>
<li>MVCFromCookie</li>
</ul>
</li>
<li><b>¿Cómo preparar la respuesta para el cliente?</b>
<ul>
<li>JSON</li>
<li>DataSet</li>
<li>Binario</li>
<li>Texto</li>
<li>Stream</li>
<li>HTML</li>
<li>Personalizado</li>
</ul>
</li>
<li><b>Acciones funcionales</b></li>
<li><b>Métodos de renderizado</b></li>
<li><b>Diseñar una aplicación DMVCFramework</b></li>
<li><b>Diseño de web API RESTful</b></li>
<li><b>Notificaciones PUSH y eventos enviados por el servidor</b></li>
<li><b>Middleware</b></li>
<li><b>Autenticación básica</b></li>
<li><b>Autenticación JWT</b>
<ul>
<li>Implementar la caducidad del token con el nuevo middleware TMVCJWTBlackListMiddleware</li>
</ul>
</li>
<li><b>Crear un mecanismo de autenticación y autorización personalizada.</b></li>
<li><b>Server Side View</b>
<ul>
<li>¿Cuándo y cómo utilizar las vistas del lado del servidor?</li>
<li>Introducción a TemplatePro (Sintaxis, Escenarios de uso, Integración con DMVCFramework)</li>
<li>Desarrollo de aplicaciones y webs del lado del servidor con DMVCFramework y TemplatePro</li>
</ul>
</li>
<li><b>Integración con HTMX</b>
<ul>
<li>¿Qué es HTMX y por qué es un gran complemento para DMVCFramework?</li>
<li>Desarrollo de aplicaciones web modernas sin (casi) usar javascript</li>
</ul>
</li>
<li><b>Analizar el rendimiento</b></li>
<li><b>TMVCActiveRecord: ¡La programación orientada a objetos y lo relacional finalmente se llevan bien!</b>
<ul>
<li>Persistencia y mapeo</li>
<li>CRUD</li>
<li>Manejar fusiones complejas con TMVCActiveRecord.Merge y UOW</li>
<li>Consultas con RQL</li>
<li>Consultas complejas con SQL</li>
<li>Gestionar las relaciones</li>
<li>Simplifique el código transaccional con TransactionContext</li>
</ul>
</li>
<li><b>Inyección de dependencia con MVCInject</b>
<ul>
<li>Definir un servicio inyectable</li>
<li>Inyectar servicios en controladores</li>
<li>Inyectar servicios en otros servicios</li>
<li>Buenas prácticas</li>
</ul>
</li>
<li><b>Sqids: qué son y cómo utilizarlos eficazmente en DMVCFramework</b>
<ul>
<li>El atributo MVCSerializeAsSqids</li>
</ul>
</li>
<li><b>Configuración automática con .env</b>
<ul>
<li>¿Cómo funciona .env?</li>
<li>¿Qué ofrece DMVCFramework?</li>
<li>Todas las configuraciones predeterminadas reconocidas por DMVCFramework</li>
<li>¿Cómo utilizar .env en cualquier tipo de proyecto?</li>
</ul>
</li>
<li><b>Escenarios de uso: de micro a macro</b>
<ul>
<li>Servicios RESTful y/o JSON-RPC</li>
<li>Utilice el atributo MVCJSONRPCAllowGET para permitir que los servicios JSON-RPC aprovechen el caché</li>
<li>Comunicación 360°: desde mi máquina a Internet pasando por LAN</li>
</ul>
</li>
<li><b>Escribir un cliente WEB con javascript</b></li>
<li><b>Escribir un cliente móvil con Delphi</b></li>
<li><b>Convertir un servicio SOAP en un servicio RESTful</b></li>
<li><b>Convertir un servicio SOAP en un servicio JSON-RPC</b></li>
<li><b>Analizar el rendimiento con Profiler.Start</b></li>
<li><b>Crear perfiles de porciones de código con Profiler.Trace</b></li>
<li><b>Simplifique la deserialización de datos complejos y compuestos mediante el nuevo atributo MVCOwned</b></li>
<li><b>Mejores prácticas para acelerar y optimizar el desarrollo con DMVCFramework</b></li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<a href="contact-us">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/C.+Buen+Retiro,+3,+46035+Valencia/@39.4904368,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/C.+Buen+Retiro,+3,+46035+Valencia/@39.4904368,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674</a>
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2024 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,555 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>C ++ Builder 10.3 Rio Parte 1</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>C ++ Builder 10.3 Rio Parte 1</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Cursos relacionados:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>
<a href="CppBuilder2.html">
C ++ Builder 10.3 Rio Parte 2
</a>
</li>
</ul>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
El curso es apto para aquellos que inician con C++ Builder.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Un recorrido por C++ Builder</b>
<ul>
<li>
Resumen de C++ Builder
</li>
<li>
El entorno de C++ Builder
</li>
<li>
Configuración del entorno
</li>
</ul>
</li>
<li><b>Projects, Headers,CPP y Forms</b>
<ul>
<li>
CPP y Forms
</li>
<li>
Project Options
</li>
<li>
Compiling and Linking
</li>
</ul>
</li>
<li><b>Form Designer</b>
<ul>
<li>
Overview
</li>
<li>
Visual User Interface Design
</li>
<li>
Configuring the Form Designer
</li>
<li>
Naming Conventions
</li>
<li>
Creating a Simple Form
</li>
<li>
Using the Object Inspector to Set Properties
</li>
<li>
Programming Events
</li>
<li>
Running a Form
</li>
<li>
Multi Device designer
</li>
</ul>
</li>
<li><b>Muestra de componentes</b>
<ul>
<li>Overview</li>
<li>Gestión de vistas</li>
<li>Creación de una interfaz File System</li>
</ul>
</li>
<li><b>Menús</b>
<ul>
<li>Características comunes del menú</li>
</ul>
</li>
<li><b>El lenguaje C++</b>
<ul>
<li>
Overview
</li>
<li>
Bases del lenguaje
</li>
<li>
Elementos de control fundamentales
</li>
<li>
Tipos de datos
</li>
<li>
Estructuras de datos
</li>
</ul>
</li>
<li><b>Estructura del programa y alcance</b>
<ul>
<li>
Programa: estructura y sintaxis
</li>
<li>
Unidad: estructura y sintaxis
</li>
</ul>
</li>
<li><b>Programación Orientada a Objetos en C++</b>
<ul>
<li>
Code Explorer y Class Completion
</li>
</ul>
</li>
<li><b>OOP avanzado</b>
<ul>
<li>Polimorfismo</li>
<li>Herencia y herencia múltiple</li>
<li>Método Overloading</li>
<li>Objetos Typecasting</li>
</ul>
</li>
<li><b>Resumen de VCL</b>
<ul>
<li>Arquitectura VCL</li>
<li>Componentes VCL</li>
<li>Trabajando con Componentes</li>
</ul>
</li>
<li><b>Resumen de Firemonkey</b>
<ul>
<li>Arquitectura Firemonkey</li>
<li>Componentes Firemonkey</li>
<li>Firemonkey vs. VCL</li>
<li>Trabajando con Componentes Firemonkey</li>
<li>Escribiendo aplicaciones multiplataforma(Cross Plarform).</li>
<li>Windows</li>
<li>MacOSX</li>
<li>iOS</li>
<li>Animaciones y efectos</li>
<li>FireUI</li>
</ul>
</li>
<li><b>LiveBindings</b>
<ul>
<li>Introducción</li>
<li>Usando LiveBindings en aplicaciones del mundo real</li>
<li>Dominando LiveBindings en FireMonkey y VCL</li>
</ul>
</li>
<li><b>Usando el depurador(Debugger)</b>
<ul>
<li>Resumen</li>
<li>Debugger Options</li>
</ul>
</li>
<li><b>Excepciones en C++</b>
<ul>
<li>Manejando errores en Run-time</li>
<li>Exception Syntax</li>
<li>Try…catch</li>
<li>Excepciones definidas por el usuario</li>
</ul>
</li>
<li><b>Template y el ObjectRepository</b>
<ul>
<li>Creación de Templates</li>
<li>Template Strategies</li>
<li>Reglas generales de diseño de Templates</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,497 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>C ++ Builder 10.3 Rio Parte 2</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>C ++ Builder 10.3 Rio Parte 2</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
El curso es apto para aquellos que inician con C++ Builder.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Programación dirigida por eventos</b>
<ul>
<li>
La esencia de EDP
</li>
<li>
La Orden de los Eventos
</li>
<li>
Programming Event Handlers
</li>
<li>
Opening Forms
</li>
</ul>
</li>
<li><b>Tecnologías de acceso a datos</b>
<ul>
<li>
Technologies Overview
</li>
<li>
Elegir una tecnología de acceso a datos
</li>
</ul>
</li>
<li><b>Creación de aplicaciones de base de datos</b>
<ul>
<li>
Conexión a bases de datos en C ++ Builder
</li>
<li>
Creación de una simple form de base de datos
</li>
<li>
Agregando más controles Data-Aware
</li>
<li>
Creando un Detail Form
</li>
</ul>
</li>
<li><b>Usando Objetos TField</b>
<ul>
<li>Field Properties y el componente TField</li>
<li>Formateando campos con Edit Masks</li>
<li>Creación de campos calculados</li>
<li>Campos de búsqueda</li>
<li>validaciones</li>
</ul>
</li>
<li><b>MenúUsando componentes FireDACs</b>
<ul>
<li>El componente TFDQuery</li>
<li>Parámetros de TFDQuery</li>
<li>La propiedad TFDQuery DataSource</li>
<li>Edición de Registros</li>
<li>Localizando registros en consultas</li>
<li>El componente TFDQuery</li>
<li>Open vs. ExecSQL</li>
</ul>
</li>
<li><b>Aspectos básicos de DataSnap</b>
<ul>
<li>
¿Cuándo debe usarse DataSnap?
</li>
<li>
Componentes DataSnap en la paleta de componentes
</li>
</ul>
</li>
<li><b>Técnicas de interfaz de usuario I</b>
<ul>
<li>
Técnicas de interfaz comunes
</li>
<li>
Creación y liberación de forms
</li>
<li>
Controlando los Cursores
</li>
</ul>
</li>
<li><b>Técnicas de interfaz de usuario II</b></li>
<li><b>Form Parenting</b></li>
<li><b>Packages</b>
<ul>
<li>Utilizando Packages</li>
<li>Creando un Package</li>
</ul>
</li>
<li><b>Threading</b>
<ul>
<li>Introduction</li>
<li>Creación de Thread Objects</li>
<li>Setting Thread Priorities</li>
<li>Creación de Threads Anónimos</li>
</ul>
</li>
<li><b>Creación de componentes en Run-Time</b>
<ul>
<li>Cuando crear componentes en Run-Time</li>
<li>Basing Components on Information Available Only at Run-time</li>
<li>Case Study: Data-driven Component Instantiation</li>
</ul>
</li>
<li><b>Using the SVN Integration Overview</b>
<ul>
<li>Cómo interactúa C ++ Builder con SVN</li>
</ul>
</li>
<li><b>C ++ Builder 10 características de Rio</b>
<ul>
<li>Refactoring</li>
<li>Symbol Rename</li>
<li>Método de extracción</li>
<li>Declare Var</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,497 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Aplicar realmente la OOP y el design pattern</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Aplicar realmente la OOP y el design pattern</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 3 días | <b>Precio</b>: 900 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>Conocimientos básicos de la OOP (herencia, polimorfismo, encapsulación).</li>
<li>Buen conocimiento de Delphi o PHP o JAVA (comunicarse en el momento de la
inscripción)</li>
<li>Una PC para cada participante con una versión de Delphi instalada por encima de
7, o un intérprete de PHP, o un entorno de desarrollo para Java 1.5 o superior</li>
</ul>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
"Este curso cambia tu vida" - cit. un participante
En este curso, apreciado por docenas de programadores en los últimos años, se abordan
las fallas más obvias en el
diseño "clásico" y las relativas soluciones ofrecidas por los principios SOLID y de
design pattern.
El curso incluye numerosos ejemplos y ejercicios.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<b>Introducción</b>
<ul>
<li>¿Qué hace que un sistema sea caro de gestionar?</li>
<li>¿Alguna vez dijiste "mejor lo reescribimos en lugar de desperdiciar todo este
tiempo"?</li>
<li>Los Síntomas de un diseño "podrido"
<ul>
<li>Rigidez</li>
<li>Fragilidad</li>
<li>Inmovilidad</li>
<li>Viscosidad</li>
</ul>
</li>
<li>Limitar las dependencias
<ul>
<li>Dependencias reales</li>
<li>Dependencias artificiales</li>
</ul>
</li>
<li>Las técnicas para evitar botar trabajo (de los próximos años)
<ul>
<li>El sistema existente: ¡cómo salvar lo salvable!</li>
</ul>
</li>
</ul>
<b>Los principios de SOLID</b>
<ul>
<li>Single responsibility</li>
<li>Open-closed</li>
<li>Liskov substitution</li>
<li>Interface segregation</li>
<li>Dependency inversion</li>
</ul>
<b>Design Pattern GoF, el más utilizado</b>
<ul>
<li>¿Por qué los design pattern?
<ul>
<li>¿Quién lo necesitaba?</li>
<li>¿Por qué han revolucionado el mundo del desarrollo de software?</li>
</ul>
</li>
<li>Para cada pattern se discutirán los siguientes puntos:
<ul>
<li>Propósito</li>
<li>Motivación</li>
<li>Aplicabilidad</li>
<li>Colaboraciones entre pattern</li>
<li>Consecuencias</li>
<li>implementaciones</li>
</ul>
</li>
<li>Creacional
<ul>
<li>Abstract Factory</li>
<li>Builder</li>
<li>Factory Method</li>
<li>Singleton</li>
</ul>
</li>
<li>Estructural
<ul>
<li>Adaptador</li>
<li>Compuesto</li>
<li>Adaptador</li>
<li>Proxy (protección, remoto, virtual)</li>
</ul>
</li>
<li>Comportamientos
<ul>
<li>Chain of responsibility</li>
<li>Command</li>
<li>Mediator</li>
<li>Observer</li>
<li>Strategy</li>
<li>Template method</li>
<li>State
<ul>
<li>Guiado por código</li>
<li>Guiado por tabla de transiciones</li>
</ul>
</li>
</ul>
</li>
</ul>
<b>Design Pattern Enterprise</b>
<ul>
<li>Pattern de base</li>
<li>Pattern para la domain logic
<ul>
<li>Transaction Script</li>
<li>Table Module
<li>Domain Model
</ul>
</il>
<li>Pattern para el acceso a la base de datos
<ul>
<li>Table Data Gateway</li>
<li>Row Data Gateway</li>
<li>Active Record</li>
<li>Data Mapper</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,422 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Desarrolla API con PHP</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Desarrolla API con PHP</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 1 días | <b>Precio</b>: 300 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
HTTP, Base de PHP<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Cursos relacionados:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>
<a href="angular.html">
Angular
</a>
</li>
</ul>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Independientemente de la plataforma, es necesario crear API para servir datos entre
diferentes aplicaciones Client
y los Endpoint. Se necesitan buenas API para los proyectos web y móviles, especialmente
con enfoques mobile-first.
Este curso de capacitación proporciona los conocimientos fundamentales necesarios para
hacer posibles
interacciones altamente interconectadas entre aplicaciones utilizando API RESTful.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Introducción a SlimFramework</b>
<ul>
<li>Routing</li>
<li>Mapping de parametros</li>
<li>Formato de solicitud/respuesta</li>
<li>Acceso a datos utilizando PDO.</li>
</ul>
</li>
<li><b>JSON</b>
<ul>
<li>types</li>
<li>objects</li>
<li>arrays</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,453 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Angular</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Angular</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 3 días | <b>Precio</b>: 900 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Javascript, OOP, conceptos básicos de HTML, conceptos básicos de CSS<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Cursos relacionados:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>
<a href="dmvcFramework.html">
DelphiMVCFramework
</a>
</li>
<li>
<a href="backendDelphi.html">
BackEnd Delphi
</a>
</li>
<li>
<a href="PHP.html">
BackEnd PHP
</a>
</li>
</ul>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Un curso intensivo de desarrollo de tres días con Angular y Typescript, para conocer
todas las noticias y
los potenciales del nuevo framework de Google. Es absolutamente recomendable tener una
PC/notebook personal
con usted para utilizarlo durante los ejercicios.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<i>Cada día se organiza con lecciones teóricas en la clasificación de los temas y
ejercicios guiados diseñados
específicamente, que tienen como objetivo de llevar a cada desarrollador hacia el
dominio del instrumento.
El curso está configurado de tal modo para ser una inmersión completa e intensiva
de tres días de desarrollo con Angular
y Typescript, para conocer todas las novedades y el potencial del nuevo framework
de Google.
</i>
<ul>
<li>Introducción a Angular</li>
<li>Principales novedades introducidas y diferencias con la versión anterior.</li>
<li>El lenguaje TypeScript</li>
<li>Arquitectura de una aplicación angular.</li>
<li>Programación reactiva</li>
<li>Sintaxis de los templates</li>
<li>Componentes</li>
<li>Property binding</li>
<li>Eventos</li>
<li>Inyección de dependencia</li>
<li>Directivas y Componentes</li>
<li>Propiedades de entrada y salida</li>
<li>Ciclo de vida de los componentes</li>
<li>Providers</li>
<li>Host</li>
<li>ngIf, ngFor y ngSwitch</li>
<li>Templates</li>
<li>Estilos</li>
<li>Servicios</li>
<li>Forms y validación</li>
<li>Pipes and built-in pipes</li>
<li>Routing</li>
<li>Navegación y parámetros</li>
<li>Componentes anidados</li>
<li>Async routes y HTTP</li>
<li>Sistema de detección de cambios</li>
<li>Web workers</li>
<li>Server-side Rendering</li>
<li>Migración de una aplicación de AngularJS a Angular</li>
<ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

View File

@@ -0,0 +1,469 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>BackEnd Delphi</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>BackEnd Delphi</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 1 días | <b>Precio</b>: 300 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Conocimiento de Delphi y el paradigma OOP.<br>
Haber asistido a los cursos "Delphi Part 1" y "Delphi Part 2"<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Cursos relacionados:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>
<a href="delphi1.html">
Curso Delphi Parte 1
</a>
</li>
<li>
<a href="delphi2.html">
Curso Delphi Parte 2
</a>
</li>
<li>
<a href="angular.html">
Angular
</a>
</li>
</ul>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Aprenda a explotar la potencia del fantástico framework angular de Google para escribir
Thin Clients Web para tus servicios RESTful Delphi.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Usar las librerías Delphi JSON</b>
<ul>
<li>
JSON types
</li>
<li>
JSON objects
</li>
<li>
JSON arrays
</li>
</ul>
</li>
<li><b>WebBroker y DataSnap</b>
<ul>
<li>
¿Qué es WebBroker?
<ul>
<li>
Construir un servidor simple con WebBroker REST
</li>
</ul>
</li>
<li>
¿Qué es DataSnap?
<ul>
<li>
Construir un servidor simple con DataSnap REST
</li>
</ul>
</li>
<li>
Explorar las alternativas
</li>
</ul>
</li>
<li><b>DelphiMVCFramework</b>
<ul>
<li>
Controller
</li>
<li>
Routing
</li>
<li>
Render
</li>
<li>
Filters
</li>
<li>
eLua views
</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,753 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title id="title"></title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1 id="heading"></h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12" id="course">
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+de+les+Garrigues,+17,+46001+Val%C3%A8ncia,+Spagna/@39.4712608,-0.3784316,17z/data=!4m5!3m4!1s0xd604f4c1c838a5d:0x8e12d7a464472964!8m2!3d39.4710745!4d-0.3793221"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+de+les+Garrigues,+17,+46001+Val%C3%A8ncia,+Spagna/@39.4712608,-0.3784316,17z/data=!4m5!3m4!1s0xd604f4c1c838a5d:0x8e12d7a464472964!8m2!3d39.4710745!4d-0.3793221"
target="_blank">
Carrer de les Garrigues, 17</a>
<br>46001 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
<script>
const courses = {
elastic: {
title: 'Curso ELK Stack (Elasticsearch, Logstash, Kibana)',
duration: {
days: '2',
price: '900'
},
paragraphs: {
Requisitos_previos: `Los estudiantes necesitarán una computadora portátil equipada con Linux o Windows
7+,
al
menos 5 GB de espacio libre,
la versión de Java 1.7u55 o más nueva y Google Chrome.`,
Descripción: `Este curso proporciona una introducción al uso de la pila ELK (Elasticsearch,
Logstash,
Kibana) para leer,
normalizar, procesar, indexar y mostrar datos y series temporales. Se presentarán
los
componentes fundamentales
de la suite Elastic, con un enfoque práctico y ejercicios, analizando sus
aplicaciones
y
examinando casos de uso reales
que para cada componente ejemplifican su configuración y funcionalidad.
Elasticsearch,
el
producto principal de la suite,
es un motor de búsqueda profesional capaz de administrar Big Data de manera
efectiva en
cualquier aplicación / sitio web.
Hoy en día parece ser el motor de búsqueda más difundido en el mundo. Elasticsearch
soporta
de forma nativa agrupaciones y
arquitecturas distribuidas, proporcionando capacidades de búsqueda de texto
completo
con
una interfaz REST,
que es independiente del lenguaje de programación con el que se consume, utilizando
JSON
para la representación de
datos y HTTP como protocolo de comunicación. Elasticsearch se puede utilizar para
buscar
cualquier tipo de documento
y proporciona un sistema de búsqueda escalable, casi en tiempo real con soporte de
multitenencia.
Kibana es la herramienta de la suite que le permite navegar y ver los datos
contenidos
en
los índices de Elasticsearch.
Aprovechando las capacidades y la velocidad de búsqueda y agregación de datos
ofrecidos
por
Elasticsearch, Kibana le
permite crear gráficos y paneles para el análisis de Big Data de una manera
sencilla e
intuitiva.
Logstash es el componente de pila que se ocupa de recuperar, filtrar, normalizar y
enviar
datos de fuentes heterogéneas
a Elasticsearch. Su arquitectura de complementos le permite trabajar con diferentes
fuentes
de datos con un mínimo
esfuerzo.`,
Introducción: ` Descripción Elastic Stack (ELK)`,
Elasticsearch: `¿Qué es y cuándo usarlo?<br>
Terminología: Documentos, Índices, Fragmentos, Nodos, Clústeres;<br>
Configuración e instalación;<br>
Distribuir datos en múltiples nodos;<br>
Backup.`,
Logtash: `¿Qué es y cuándo usarlo?<br>
Configuración<br>
Input, filtro y output<br>
Instalación y configuración<br>
Backup y recu<br>
Cómo importar automáticamente datos desde una base de datos relacional<br>
Cómo importar datos desde un registro casi en tiempo real<br>
Mejores practicas`,
Kibana: `Ajustes de configuracion<br>
Investigación y filtros<br>
Las vistas Descubrir, Visualizar y Tablero<br>
Instalación y configuración<br>
Copia de seguridad y recuperación de datos<br>
Integrar las vistas de Kibana en aplicaciones web y de escritorio<br>
Best Practices<br>`,
A_quien_se_dirige: `El curso está dirigido a desarrolladores y arquitectos de software que necesitan crear
sistemas
de
búsqueda en tiempo real y soluciones de análisis, incluso de big data.`
}
},
linuxDelphi: {
title: 'Desarollo Linux con Delphi',
duration: {
days: '1',
price: '399'
},
paragraphs: {
Requisitos_previos: `Conocimiento de Delphi y HTTP`,
Descripción: `Si desea desarrollar finalmente en el sistema operativo mas difundido en ambiente
servidor,
este curso es para usted. En este curso intensivo, analizaremos los fundamentos del
sistema operativo Linux GNU
necesario para el desarrollo nativo con Delphi. ¡Los servicios RESTful y servidores de
todo tipo finalmente pueden
ejecutarse en el sistema operativo del pinguino con la familiaridad y el rendimiento de
Delphi!
Nota: El curso se basa en la última versión de Ubuntu LTS. Necesitará tener una máquina
virtual VirtualBox ejecutándose
con la última versión de Ubuntu Desktop LTS.`,
Contenido: `<ul>
<li>Introducción a Linux</li>
<li>La Shell de Linux</li>
<li>Los comandos principales</li>
<li>Administración basica</li>
<li>Manejar los deamon</li>
<li>Configurar Apache</li>
<li>Instalar Firebird / MySQL</li>
<li>Desarrollo Delphi</li>
<li>Configuración del entorno</li>
<li>El PAServer</li>
<li>Crear servicios TCP / IP</li>
<li>Utilizar webbroker</li>
<li>Conocer DelphiMVCFramework para Linux</li>
<li>Diseñe una API RESTful con DelphiMVCFramework para Linux</li>
<li>Depuración de server como aplicaciones de consola.</li>
<li>Crea un formulario apache.</li>
<li>Estrategias para el deploy y actualización.</li>
<li>Optimizar el rendimiento con REDIS</li>
</ul>`
}
},
delphi1: {
title: 'Delphi 1',
duration: {
days: '2',
price: '600'
},
paragraphs: {
Cursos_relacionados: `<ul>
<li>
<a href="delphi2.html">
Curso Delphi Parte 2
</a>
</li>
<li>
<a href="dmvcFramework.html">
DelphiMVCFramework
</a>
</li>
<li>
<a href="backendDelphi.html">
BackEnd Delphi
</a>
</li>
</ul>`,
Descripción: `Un curso clásico, uno de los más apreciados por los programadores de Delphi.
No te pierdas la actualización a Delphi 10.3 Rio, una de las mejores versiones de la
historia.`,
Contenido: `<ul>
<li><b>IDE</b>
<ul>
<li>
Project Options
</li>
<li>
Project Manager
</li>
<li>
Project Configuration Manager
</li>
<li>
IDE Insight
</li>
<li>
Code Formatting
</li>
<li>
Multi platform designer
</li>
</ul>
</li>
<li><b>Regular Expressions</b>
<ul>
<li>
¿Que cosa son?
</li>
<li>
¿Cuándo usarlos?
</li>
<li>
¿Como usarlos?
</li>
</ul>
</li>
<li><b>¿Qué es Unicode?</b>
<ul>
<li>
El Standard Unicode
</li>
<li>
Los tipos de cadenas Unicode.
</li>
</ul>
</li>
<li><b>Los genéricos</b>
<ul>
<li>
¿Qué son los genéricos?
</li>
<ul>
<li>
Uso
</li>
<li>
Sintaxis
</li>
<li>
Crear un tipo genérico
</li>
<li>
Aplicabilidad
</li>
</ul>
<li>
Soporte en RTL
</li>
<li>
Generics y Generics.Collections
</li>
<li>
Reglas de compatibilidad entre tipos;
</li>
<li>
Clases con los genéricos;
</li>
<li>
Constraints
</li>
<ul>
<li>
Clase Costraints
</li>
<li>
Interfaz Costraints
</li>
</ul>
<li>
Generic Containers
</li>
<ul>
<li>
TList, Tqueue, TStack, TDictionary
</li>
<li>
Contenedores y métodos anónimos.
</li>
</ul>
<li>
Interfaces genéricas
</li>
<ul>
<li>
Utilice TComparer, TEqualityComparer, etc.
</li>
</ul>
</ul>
</li>
<li><b>Métodos anónimos</b>
<ul>
<li>
¿Qué son los métodos anónimos?
</li>
<ul>
<li>
Sintaxis y semantica
</li>
<li>
Utilizar métodos anónimos como variables.
</li>
<li>
Métodos anónimos como parametric.
</li>
<li>
Métodos anónimos y variables locales (visibilidad y duración).
</li>
<li>
Reference Types
</li>
<li>
métodos anónimos y hilos(threads)
</li>
</ul>
</ul>
</li>
<li><b>Enumerator</b>
<ul>
<li>
for-in loop
</li>
<li>
Enumerators
</li>
</ul>
</li>
<li><b>Sobrecarga del Operador por Registros</b>
<ul>
<li>
Clase Helpers
</li>
<li>
Record Helpers y Record Helpers para SimpleTypes
</li>
</ul>
</li>
<li><b>Extended RTTI</b>
<ul>
<li>
Unidad RTTI
</li>
<ul>
<li>
Inspecting types
</li>
<li>
Clase TValue
</li>
</ul>
</ul>
</li>
<li><b>Atributos</b>
<ul>
<li>
Clase TCustomAttribute
</li>
</ul>
</li>
</ul>`
}
},
python: {
title: 'python',
duration: {
days: '1',
price: '300'
},
paragraphs: {
Descripción: ``,
Related_courses: ``,
Contenido: ``
}
},
pythonFlask: {
title: '',
duration: {
days: '1',
price: '400'
},
paragraphs: {
ciao: 'sonoio',
Descripcìon: `Independientemente de la plataforma, es necesario crear API para servir datos entre
diferentes aplicaciones Client
y los Endpoint. Se necesitan buenas API para los proyectos web y móviles, especialmente
con enfoques como mobile-first.
Este curso de capacitación proporciona los conocimientos fundamentales necesarios para
hacer posibles interacciones
altamente interconectadas entre las aplicaciones utilizando API RESTful.`
}
}
}
</script>
<script>
$(window).ready(() => {
const url = window.location.href;
const course = url.split('#')[1];
document.getElementById('title').innerText = courses[course].title;
document.getElementById('heading').innerText = courses[course].title;
document.getElementById('course').innerHTML = `
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: ` + courses[course].duration.days + ' ' + (courses[course].duration.days > 1 ? 'días' : 'día') + ` | <b>Precio</b>: ` + courses[course].duration.price + `
</p>
</div>
`;
Object.keys(courses[course].paragraphs).forEach((paragraph) => {
paragraph_title = paragraph.replace(/_/g, ' ');
document.getElementById('course').innerHTML += `
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
` + paragraph_title + `:
</h2>
<p class="mb-0" id=tm-section-4>
` + courses[course].paragraphs[paragraph] + `
</p>
</div><br>
</div>
`;
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,582 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Delphi Parte 1</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Delphi Parte 1</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Cursos relacionados:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>
<a href="delphi2.html">
Curso Delphi Parte 2
</a>
</li>
<li>
<a href="dmvcFramework.html">
DelphiMVCFramework
</a>
</li>
<li>
<a href="backendDelphi.html">
BackEnd Delphi
</a>
</li>
</ul>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Un curso clásico, uno de los más apreciados por los programadores de Delphi.
No te pierdas la actualización a Delphi 10.3 Rio, una de las mejores versiones de la
historia.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>IDE</b>
<ul>
<li>
Project Options
</li>
<li>
Project Manager
</li>
<li>
Project Configuration Manager
</li>
<li>
IDE Insight
</li>
<li>
Code Formatting
</li>
<li>
Multi platform designer
</li>
</ul>
</li>
<li><b>Regular Expressions</b>
<ul>
<li>
¿Que cosa son?
</li>
<li>
¿Cuándo usarlos?
</li>
<li>
¿Como usarlos?
</li>
</ul>
</li>
<li><b>¿Qué es Unicode?</b>
<ul>
<li>
El Standard Unicode
</li>
<li>
Los tipos de cadenas Unicode.
</li>
</ul>
</li>
<li><b>Los genéricos</b>
<ul>
<li>
¿Qué son los genéricos?
</li>
<ul>
<li>
Uso
</li>
<li>
Sintaxis
</li>
<li>
Crear un tipo genérico
</li>
<li>
Aplicabilidad
</li>
</ul>
<li>
Soporte en RTL
</li>
<li>
Generics y Generics.Collections
</li>
<li>
Reglas de compatibilidad entre tipos;
</li>
<li>
Clases con los genéricos;
</li>
<li>
Constraints
</li>
<ul>
<li>
Clase Costraints
</li>
<li>
Interfaz Costraints
</li>
</ul>
<li>
Generic Containers
</li>
<ul>
<li>
TList, Tqueue, TStack, TDictionary
</li>
<li>
Contenedores y métodos anónimos.
</li>
</ul>
<li>
Interfaces genéricas
</li>
<ul>
<li>
Utilice TComparer, TEqualityComparer, etc.
</li>
</ul>
</ul>
</li>
<li><b>Métodos anónimos</b>
<ul>
<li>
¿Qué son los métodos anónimos?
</li>
<ul>
<li>
Sintaxis y semantica
</li>
<li>
Utilizar métodos anónimos como variables.
</li>
<li>
Métodos anónimos como parametric.
</li>
<li>
Métodos anónimos y variables locales (visibilidad y duración).
</li>
<li>
Reference Types
</li>
<li>
métodos anónimos y hilos(threads)
</li>
</ul>
</ul>
</li>
<li><b>Enumerator</b>
<ul>
<li>
for-in loop
</li>
<li>
Enumerators
</li>
</ul>
</li>
<li><b>Sobrecarga del Operador por Registros</b>
<ul>
<li>
Clase Helpers
</li>
<li>
Record Helpers y Record Helpers para SimpleTypes
</li>
</ul>
</li>
<li><b>Extended RTTI</b>
<ul>
<li>
Unidad RTTI
</li>
<ul>
<li>
Inspecting types
</li>
<li>
Clase TValue
</li>
</ul>
</ul>
</li>
<li><b>Atributos</b>
<ul>
<li>
Clase TCustomAttribute
</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,530 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Delphi Parte 2</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Delphi Parte 2</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Haber asistido al curso "Curso Delphi Parte 1"<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Cursos relacionados:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>
<a href="dmvcFramework.html">
DelphiMVCFramework
</a>
</li>
<li>
<a href="backendDelphi.html">
BackEnd Delphi
</a>
</li>
</ul>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Un curso clásico, uno de los más apreciados por los programadores de Delphi. No te
pierdas la actualización a Delphi 10.3 Rio,
una de las mejores versiones de la historia.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Serialización</b>
<ul>
<li>
Marshal y unmarshal de los tipos.
</li>
</ul>
</li>
<li><b>JSON</b>
<ul>
<li>
Uso del parser integrado
</li>
<li>
Ejemplos prácticos de uso.
</li>
</ul>
</li>
<li><b>DataSnap</b>
<ul>
<li>
Desarrollo de servidores nativos y HTTP.
</li>
<ul>
<li>
Aplicación de consola
</li>
<li>
Servicio de Windows
</li>
<li>
ISAPI DLL
</li>
<li>
Módulo apache
</li>
</ul>
<li>
Filtros
</li>
<li>
Lightweight callbacks
</li>
<li>
Heavyweight callbacks
</li>
</ul>
</li>
<li><b>DATASET y FireDAC</b>
<ul>
<li>
Unicode client datasets
</li>
<li>
Nuevos tipos de campos
</li>
<li>
Virtual Datasets
</li>
</ul>
</li>
<li><b>THREADING y PARALLEL PROGRAMMING LIBRARY</b>
<ul>
<li>
Sincronización y métodos anónimos.
</li>
<li>
Depuración de hilos
</li>
<li>
Visualizador de hilos
</li>
<li>
Nombrar hilos
</li>
<li>
Sincronización de hilos
</li>
<ul>
<li>
TCricalSections
</li>
<li>
TEvent
</li>
<li>
Mensajes de hilo
</li>
<li>
TMonitor
</li>
<li>
Congelación y lanzamiento de hilos.
</li>
<li>
Hilos anónimos
</li>
</ul>
<li>
ITask
</li>
<li>
IFuture
</li>
<li>
Parallel For
</li>
</ul>
</li>
<li><b>RTL</b>
<ul>
<li>
TStringBuilder
</li>
<li>
I/O simplificada con IOUtils.pas
</li>
</ul>
</li>
<li>
<b>CodeSite</b>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,451 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>DelphiMVCFramework</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>DelphiMVCFramework</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Delphi Seattle o superior, OOP y HTTP<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
La disponibilidad de datos de la empresa de forma remota ya no es una opción. Sus
necesidades necesitan acceso a información clave, incluso cuando no están disponibles.
En este curso, descubrirá lo sencillo (y funcional) que es usar Delphi para escribir
servicios RESTful / JSON utilizando DelphiMVCFramework.
En este curso analizaremos todas las peculiaridades de DelphiMVCFramework, el marco
apreciado en todo el mundo por su velocidad y simplicidad. ¡El taller incluye el
desarrollo real de un completo servidor RESTful y un cliente web javascript!
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Introducción a DelphiMVCFramework</b></li>
<li><b>Los controladores</b></li>
<li><b>Los actions</b></li>
<li><b>El routing</b>
<ul>
<li>
Parámetros de URL asignados
</li>
<li>
Parámetros Strongly Typed
</li>
<li>
Parámetros QueryString
</li>
</ul>
</li>
<li><b>Los atributos que hacen que DMVCFramework sea fácil de usar</b>
<ul>
<li>MVCPath</li>
<li>MVCHTTPMethod</li>
<li>MVCProduces</li>
<li>MVCConsumes</li>
</ul>
</li>
<li><b>Los renders</b>
<ul>
<li>JSON</li>
<li>DataSet</li>
<li>Binary</li>
<li>Text</li>
<li>HTML</li>
<li>Custom</li>
</ul>
</li>
<li><b>Diseñar una aplicación DMVCFramework</b></li>
<li><b>Diseñar la API RESTful</b></li>
<li><b>Notificaciones PUSH</b>
<ul>
<li>Introducción a STOMP</li>
<li>Introducción a RabbitMQ</li>
<li>Usa la extensión de mensajería.</li>
<li>Evitar el polling</li>
</ul>
</li>
<li><b>Middleware</b></li>
<li><b>Autenticación básica</b></li>
<li><b>Crear un mecanismo de autenticación y autorización personalizada.</b></li>
<li><b>Mustache server page</b>
<ul>
<li>Que es el Mustache</li>
<li>Cuándo y cómo usar las Mustache server page.</li>
</ul>
</li>
<li><b>Ejemplo: utilizar DMVCFramework como servidor remoto de impresión</b></li>
<li><b>Analizar la performance</b></li>
<li><b>Escribir un client WEB</b></li>
<li><b>Escribir un client móvil para Android y iOS</b></li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<a href="contact-us">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/C.+Buen+Retiro,+3,+46035+Valencia/@39.4904368,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/C.+Buen+Retiro,+3,+46035+Valencia/@39.4904368,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674</a>
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,449 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>DelphiMVCFramework</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>DelphiMVCFramework</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Delphi Seattle o superior, OOP y HTTP<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
La disponibilidad de datos de la empresa de forma remota ya no es una opción. Sus
necesidades necesitan acceso a información clave, incluso cuando no están disponibles.
En este curso, descubrirá lo sencillo (y funcional) que es usar Delphi para escribir
servicios RESTful / JSON utilizando DelphiMVCFramework.
En este curso analizaremos todas las peculiaridades de DelphiMVCFramework, el marco
apreciado en todo el mundo por su velocidad y simplicidad. ¡El taller incluye el
desarrollo real de un completo servidor RESTful y un cliente web javascript!
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Introducción a DelphiMVCFramework</b></li>
<li><b>Los controladores</b></li>
<li><b>Los actions</b></li>
<li><b>El routing</b>
<ul>
<li>
Parámetros de URL asignados
</li>
<li>
Parámetros Strongly Typed
</li>
<li>
Parámetros QueryString
</li>
</ul>
</li>
<li><b>Los atributos que hacen que DMVCFramework sea fácil de usar</b>
<ul>
<li>MVCPath</li>
<li>MVCHTTPMethod</li>
<li>MVCProduces</li>
<li>MVCConsumes</li>
</ul>
</li>
<li><b>Los renders</b>
<ul>
<li>JSON</li>
<li>DataSet</li>
<li>Binary</li>
<li>Text</li>
<li>HTML</li>
<li>Custom</li>
</ul>
</li>
<li><b>Diseñar una aplicación DMVCFramework</b></li>
<li><b>Diseñar la API RESTful</b></li>
<li><b>Notificaciones PUSH</b>
<ul>
<li>Introducción a STOMP</li>
<li>Introducción a RabbitMQ</li>
<li>Usa la extensión de mensajería.</li>
<li>Evitar el polling</li>
</ul>
</li>
<li><b>Middleware</b></li>
<li><b>Autenticación básica</b></li>
<li><b>Crear un mecanismo de autenticación y autorización personalizada.</b></li>
<li><b>Mustache server page</b>
<ul>
<li>Que es el Mustache</li>
<li>Cuándo y cómo usar las Mustache server page.</li>
</ul>
</li>
<li><b>Ejemplo: utilizar DMVCFramework como servidor remoto de impresión</b></li>
<li><b>Analizar la performance</b></li>
<li><b>Escribir un client WEB</b></li>
<li><b>Escribir un client móvil para Android y iOS</b></li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+de+les+Garrigues,+17,+46001+Val%C3%A8ncia,+Spagna/@39.4712608,-0.3784316,17z/data=!4m5!3m4!1s0xd604f4c1c838a5d:0x8e12d7a464472964!8m2!3d39.4710745!4d-0.3793221"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+de+les+Garrigues,+17,+46001+Val%C3%A8ncia,+Spagna/@39.4712608,-0.3784316,17z/data=!4m5!3m4!1s0xd604f4c1c838a5d:0x8e12d7a464472964!8m2!3d39.4710745!4d-0.3793221"
target="_blank">
Carrer de les Garrigues, 17</a>
<br>46001 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,508 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Curso ELK Stack (Elasticsearch, Logstash, Kibana)</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Curso ELK Stack (Elasticsearch, Logstash, Kibana)</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 900 € (Descuento para mas personas de la misma empresa: 30%).
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id="tm-section-4">
Los estudiantes necesitarán una computadora portátil equipada con Linux o Windows
7+,
al
menos 5 GB de espacio libre,
la versión de Java 1.7u55 o más nueva y Google Chrome
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id="tm-section-4">
Este curso proporciona una introducción al uso de la pila ELK (Elasticsearch,
Logstash,
Kibana) para leer,
normalizar, procesar, indexar y mostrar datos y series temporales. Se presentarán
los
componentes fundamentales
de la suite Elastic, con un enfoque práctico y ejercicios, analizando sus
aplicaciones
y
examinando casos de uso reales
que para cada componente ejemplifican su configuración y funcionalidad.
Elasticsearch,
el
producto principal de la suite,
es un motor de búsqueda profesional capaz de administrar Big Data de manera
efectiva en
cualquier aplicación / sitio web.
Hoy en día parece ser el motor de búsqueda más difundido en el mundo. Elasticsearch
soporta
de forma nativa agrupaciones y
arquitecturas distribuidas, proporcionando capacidades de búsqueda de texto
completo
con
una interfaz REST,
que es independiente del lenguaje de programación con el que se consume, utilizando
JSON
para la representación de
datos y HTTP como protocolo de comunicación. Elasticsearch se puede utilizar para
buscar
cualquier tipo de documento
y proporciona un sistema de búsqueda escalable, casi en tiempo real con soporte de
multitenencia.
Kibana es la herramienta de la suite que le permite navegar y ver los datos
contenidos
en
los índices de Elasticsearch.
Aprovechando las capacidades y la velocidad de búsqueda y agregación de datos
ofrecidos
por
Elasticsearch, Kibana le
permite crear gráficos y paneles para el análisis de Big Data de una manera
sencilla e
intuitiva.
Logstash es el componente de pila que se ocupa de recuperar, filtrar, normalizar y
enviar
datos de fuentes heterogéneas
a Elasticsearch. Su arquitectura de complementos le permite trabajar con diferentes
fuentes
de datos con un mínimo
esfuerzo.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h3>
Contenido:
</h3>
<br>
<h2>
introducción
</h2>
<p class="mb-0" id="tm-section-4">
Descripción Elastic Stack (ELK)
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Elasticsearch
</h2>
<p class="mb-0" id="tm-section-4">
Qué es y cuándo usarlo<br>
Terminología: Documentos, Índices, Fragmentos, Nodos, Clústeres<br>
Configuración e instalación<br>
Distribuir datos en múltiples nodos<br>
Backup
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Logstash
</h2>
<p class="mb-0" id="tm-section-4">
Qué es y cuándo usarlo<br>
Configuración<br>
Input, filtro y output<br>
Instalación y configuración<br>
Backup y recu<br>
Cómo importar automáticamente datos desde una base de datos relacional<br>
Cómo importar datos desde un registro casi en tiempo real<br>
Mejores practicas
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Kibana
</h2>
<p class="mb-0" id="tm-section-4">
Ajustes de configuracion<br>
Investigación y filtros<br>
Las vistas Descubrir, Visualizar y Tablero<br>
Instalación y configuración<br>
Copia de seguridad y recuperación de datos<br>
Integrar las vistas de Kibana en aplicaciones web y de escritorio<br>
Best Practices<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
A quien se dirige
</h2>
<p class="mb-0" id="tm-section-4">
El curso está dirigido a desarrolladores y arquitectos de software que necesitan crear
sistemas
de
búsqueda en tiempo real y soluciones de análisis, incluso de big data.
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Retiro, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,405 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>FireDAC</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>FireDAC</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Delphi, OOP, arquitectura TDataset<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
El curso está dirigido a todos los programadores y analistas de Delphi. Todas las
características de FireDAC
serán analizadas. Los ejercicios prácticos ilustrarán el uso de cada componente para
mejorar la productividad,
la calidad, la solidez y la elegancia del código y de la aplicación producida. Los
objetivos del curso son los siguientes:
Familiarizarse con los componentes de la suite FireDAC, conocer en profundidad las
diversas opciones de personalización
y utilizarlas en los escenarios más difundidos.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
Components Overview DataSets, Queries, Commands and Transactions Developing common
patterns applications
Single table CRUD Join CRUD Master/Details with CRUD Multiple statements Options
Inheritance Automatic
Connection Recovery Disconnected Mode Cached Updates Dataset Persistence International
Applications DB Services
(Backup, Restore, etc) Local SQL Engine From BDE to FireDAC From dbExpress to FireDAC
UnifiedAPI Rowset Fetching
Command Batches Asynchronous Command Execution Update command generation
Auto-incrementing fields SQL dialect
abstraction Data Type Unification DB Events Multiple SQL script dialects The FireDAC
Options System
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,390 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Desarrollo FireMonkey móvil para programadores VCL</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Desarrollo FireMonkey móvil para programadores VCL</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 3 días | <b>Precio</b>: 900 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Conocimiento en programación Delphi VCL.<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
¿Eres un programador Delphi desde hace mucho tiempo y te gustaría entender lo que se
necesita para escribir
correctamente una aplicación con FireMonkey? ¿Deseas evitar perder tiempo y dinero
tratando de resolver los
problemas habituales relacionados con los dispositivos móviles? Este curso está hecho
para ti!
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
Solicitar información actualizada al momento de la inscripción.
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,534 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Desarrollo de Android con el SDK de Google.</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Desarrollo de Android con el SDK de Google.</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 3 días | <b>Precio</b>: 990 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Para aquellos que quieren desarrollar aplicaciones para Android con Java y el SDK de
Google.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul> 
<li><b>Introducción al mundo Android.</b>
<ul> 
<li>¿Que es Android?</li>
<li>¿Quien esta detras de Android?</li>
<li>¿Como funciona?</li>
<li>Estadísticas</li>
<li>¿Por qué elegir Android?</li>
<li>Introducción al framework de desarrollo.</li>
</ul> 
</li>
<li><b>Conceptos claves</b>
<ul> 
<li>Actividad</li>
<li>Servicio</li>
<li>Content provider</li>
<li>Intent</li>
<li>Broadcast Receiver</li>
<li>Notificaciones</li>
<li>Interfaz de usuario</li>
<li>Demostración y ejercicio: hello world</li>
</ul> 
</li>
<li><b>Actividad</b>
<ul> 
<li>Ciclo de vida de la actividad</li>
<li>Demostración: ciclo de vida de la actividad</li>
</ul> 
</li>
<li><b>Layout Manager</b>
<ul> 
<li>Fundamentos de la interfaz de usuario de Android</li>
<li>Descripción general de los widgets</li>
<li>Demostración y ejercicio: las 3 formas de hacer clic en un botón.</li>
<li>Layout Manager</li>
<li>Demostración y ejercicio: Hello Linear Layout (ejemplo de desarrollador
de
Android)</li>
</ul> 
</li>
<li><b>Recursos</b>
<ul> 
<li>¿Que son? </li>
<li>¿Como utilizarlos?</li>
<li>Externalización</li>
<li>Demostración y ejercicio: Milan02</li>
<li>Demo: LocalizationUpdater</li>
</ul> 
</li>
<li><b>Android y ListView</b>
<ul> 
<li>ListView
<ul> 
<li>Ejercicio y demostración: SimpleListView</li>
</ul> 
</li>
<li>Adapter e CustomAdapter
<ul> 
<li>Ejercicio y demostración: CompleteListView</li>
</ul> 
</li>
<li>ExpandableListView
<ul> 
<li>Ejercicio y demostración: ExpandableList</li>
</ul> 
</li>
</ul> 
</li>
<li><b>Alert y Toast</b>
<ul> 
<li>Introducción al sistema de notificación de Android.</li>
<li>Toast</li>
<li>Alert</li>
<li>Demostración: MonitoringActivity</li>
<li>Demostración y ejercicio: DialogsSamples</li>
</ul> 
</li>
<li><b>Intents</b>
<ul> 
<li>Introducción a los Intents</li>
<li>Intent filters</li>
<li>Demostración y ejercicio: IntentSample2</li>
<li>Broadcast Receiver</li>
<li>Demostraciones y ejercicios: Milano05BroadcastReceiver -
Milano05SendCustomIntent - SMSListener</li>
<li>Notificación</li>
<li>Demostración y ejercicio: NotificationSample</li>
</ul> 
</li>
<li><b>Menú</b>
<ul> 
<li>Creación y uso</li>
<li>Demostración y ejercicio: Menu Sample</li>
</ul> 
</li>
<li><b>Almacenamiento</b>
<ul> 
<li>Tipos de almacenamiento de datos en Android</li>
<li>SharedPreferences
<ul>
<li>Demostración y ejercicio: SharedPreferencesSample</li>
</ul> 
</li>
<li>Almacenamiento interno</li>
<li>Almacenamiento externo</li>
<li>Demostración y ejercicio: SQLiteSample</li>
</ul> 
</li>
<li><b>Trabajando en el background</b>
<ul> 
<li>Servicios</li>
<li>Background Thread</li>
<li>AsyncTask</li>
<li>Demostración y ejercicio: ServiceAndThreadingSample</li>
</ul> 
</li>
<li><b>Introducción de la interfaz de usuario Honeycomb</b>
<ul> 
<li>¿Porque Honeycomb?</li>
<li>ActionBar</li>
<li>Demostración y ejercicio: ActionBar</li>
<li>Fragmentos</li>
<li>Demostración y ejercicio: EU4You</li>
</ul> 
</li>
<li><b>Construyendo componentes personalizados</b>
<ul> 
<li>Vista personalizada</li>
<li>Demostración y ejercicio: CustomView Sample</li>
<li>WebView</li>
<li>Demostraciones y ejercicios:
SimpleWebView-WebViewClientTest-WebViewSample</li>
</ul> 
</li>
<li><b>App Widget</b>
<ul> 
<li>Creación y gestión de AppWidget</li>
<li>Demostración y ejercicio: IW Bank Demo</li>
</ul> 
</li>
<li><b>Animaciones</b>
<ul> 
<li>¿Que son ellos?</li>
<li>¿Como usarlos?</li>
<li>Demostración y ejercicio</li>
</ul> 
</li>
<li><b>GPS</b>
<ul> 
<li>Utilizar el servicio location-based</li>
<li>Elección de un Provider</li>
<li>Como encontrar tu posición</li>
<li>Descripción general de las API de Google Maps</li>
<li>Demostración y ejercicio</li>
</ul> 
</li>
<li>Cierre del curso</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,445 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Desarollo Linux con Delphi</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Desarollo Linux con Delphi</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 1 días | <b>Precio</b>: 399 € (25% de descuento para grupos de mínimo
2 personas).
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Conocimiento de Delphi y HTTP<br>
</p>
</div>
</div>
<!--<hr style="border: 1px solid rgb(0, 153, 255, 0.5)"><br>-->
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Cursos relacionados:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>
<a href="firemonkey.html">
Desarrollo de FireMonkey móvil para desarrolladores de VCL.
</a>
</li>
<li>
<a href="dmvcFramework.html">
DelphiMVCFramework
</a>
</li>
<li>
<a href="angular.html">
Angular
</a>
</li>
</ul>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Si desea desarrollar finalmente en el sistema operativo mas difundido en ambiente
servidor,
este curso es para usted. En este curso intensivo, analizaremos los fundamentos del
sistema operativo Linux GNU
necesario para el desarrollo nativo con Delphi. ¡Los servicios RESTful y servidores de
todo tipo finalmente pueden
ejecutarse en el sistema operativo del pinguino con la familiaridad y el rendimiento de
Delphi!
Nota: El curso se basa en la última versión de Ubuntu LTS. Necesitará tener una máquina
virtual VirtualBox ejecutándose
con la última versión de Ubuntu Desktop LTS.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>Introducción a Linux</li>
<li>La Shell de Linux</li>
<li>Los comandos principales</li>
<li>Administración basica</li>
<li>Manejar los deamon</li>
<li>Configurar Apache</li>
<li>Instalar Firebird / MySQL</li>
<li>Desarrollo Delphi</li>
<li>Configuración del entorno</li>
<li>El PAServer</li>
<li>Crear servicios TCP / IP</li>
<li>Utilizar webbroker</li>
<li>Conocer DelphiMVCFramework para Linux</li>
<li>Diseñe una API RESTful con DelphiMVCFramework para Linux</li>
<li>Depuración de server como aplicaciones de consola.</li>
<li>Crea un formulario apache.</li>
<li>Estrategias para el deploy y actualización.</li>
<li>Optimizar el rendimiento con REDIS</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
<input type="hidden" id="course_name" name="course_name"
value="linuxDelphi"
/>
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,409 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Microsoft SQL Server: vuelva a escribir sus consultas(querys) para un mejor rendimiento</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Microsoft SQL Server: vuelva a escribir sus consultas(querys) para un mejor rendimiento</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 1 día | <b>Precio</b>: 300 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
En comparación con otros lenguajes de programación, T-SQL no es un lenguaje difícil de
aprender, y al neto de cualquier
error sintáctico puede ser muy tolerante. Sin embargo, tendemos a aprender solo las
declaraciones fundamentales del
lenguaje: SELECT, INSERT, UPDATE e DELETE; solo aquellos que invierten más tiempo,
descubren la naturaleza declarativa
de este lenguaje y pueden obtener el máximo rendimiento y poder de sus
consultas(querys).
Este worlshop proporciona una introducción a los Planes de Ejecución y los DMV en SQL
Server, trata en modo detallado
las statement set-based presentes en el lenguaje T-SQL. Los Planes de ejecución nos
ayudan a responder a las preguntas:
"¿Por qué esta query es tan lenta?", "¿Qué índices se utilizan y cómo?". Los DMV
(vistas y funciones del sistema)
proporcionan información sobre el estado de salud de la instancia de SQL Server, así
como un interesante
feedback sobre el rendimiento de las querys. Los temas tratados sobre el lenguaje T-SQL
permitirán mejorar la escritura
del código, explotando las statement set-based presentes durante algún tiempo en SQL
Server, así como las implementadas
en las últimas versiones, con referencia particular a las funciones de Windows.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li>Introducción a los planes de ejecución en SQL Server</li>
<li>Introducción al DMV (Dynamic Management Views and Functions)</li>
<li>El lenguaje T-SQL</li>
<li>El comando MERGE</li>
<li>Common Table Expressions (CTE)</li>
<li>CTE multiples</li>
<li>CTE recursivas</li>
<li>El operador APPLY</li>
<li>La clausula OVER</li>
<li>Extensiones</li>
<li>Windows functions</li>
<li>PIVOT y UNPIVOT</li>
<li>Las opciones OFFSET/FETCH</li>
<li>El desarrollo de los trigger.</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,375 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Técnicas de multitreading.</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Técnicas de multitreading.</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 1 día | <b>Precio</b>: 299 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Este curso lo ayudará a mejorar el rendimiento y la experiencia de usuario de su
software con ejemplos reales y casos de uso.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
Solicitar información actualizada al momento de la inscripción.
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,409 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Hacer feliz a los usuarios con la Parallel Programming Library</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Hacer feliz a los usuarios con la Parallel Programming Library</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 1 día | <b>Precio</b>: 249 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Requisitos previos:
</h2>
<p class="mb-0" id=tm-section-4>
Conocimiento Delphi, OOP, métodos anónimos, metodos genéricos.<br>
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Desde hace años nos ocupamos de computadoras y dispositivos multinúcleo. ¿Cómo
aprovechar al máximo el poder
de estas máquinas para hacer feliz al cliente? Hacer que la aplicación funcione es solo
la mitad del trabajo;
Lo importante es hacer que el cliente se enamore de nuestro software. Una forma de
hacerlo es hacer que su
experiencia de usuario sea agradable. En este seminario web, analizaremos algunas
características de la nueva
Biblioteca de programación paralela(Parallel Programming Library) introducida en Delphi
10 Seattle que puede hacer
que nuestras aplicaciones sean rápidas y agradables de usar. Los conceptos mostrados
son aplicables para aplicaciones
de escritorio clásicas, aplicaciones móviles y aplicaciones de servidor.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>Conceptos básicos de UI y UX.</b></li>
<li><b>Programación multithreading</b></li>
<li><b>Parallel Programming Library</b></li>
<li><b>Análisis de casos reales con soluciones relacionadas.</b>
<ul>
<li>Acceso a bases de datos</li>
<li>Comunicación con servidores remotos (HTTP, REST, STOMP, SMTP, etc.)</li>
<li>Comunicación entre thread en background</li>
<li>Comunicación entre thread en background y GUI</li>
<li>Mejorar la velocidad real y la velocidad aparente.</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,451 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Curso Python</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Curso Python</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Python es un lenguaje de programación orientado a objetos, que se presta a múltiples
usos: desde scripts simples
hasta aplicaciones web complejas. Python combina características muy potentes con una
sintaxis sencilla e intuitiva,
que hace que el código sea limpio y fácil de leer.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>¿Que es python?</b>
<ul>
<li>El idioma elegido por la NASA, Google, Yahoo, Intel, Youtube,
Instangram y muchos mas ...</li>
<li>Introducción a Python y sus principales características.</li>
</ul>
</li>
<li><b>Instalar Python</b>
<ul>
<li>Cómo instalar Python en varios sistemas.</li>
</ul>
</li>
<li><b>Los tipos de datos</b>
<ul>
<li>Elenco de tipos primitivos de datos presentes en el lenguaje.</li>
<li>Listas, cadenas, tuplas, conjuntos, diccionarios, bytes.</li>
</ul>
</li>
<li><b>Instrucciones de control</b>
<ul>
<li>La importancia de la indentación.</li>
</ul>
</li>
<li><b>Gestionar las excepciones</b>
<ul>
<li>Try, except, raise</li>
</ul>
</li>
<li><b>Las funciones</b>
<ul>
<li>Definir las funciones.</li>
<li>Las funciones __builtins__</li>
</ul>
</li>
<li><b>Las clases</b>
<ul>
<li>Métodos especiales</li>
<li>Súper</li>
</ul>
</li>
<li><b>Las clases, temas avanzados.</b>
<ul>
<li>Overloading</li>
<li>Herencia</li>
</ul>
</li>
<li><b>Conoscamos las bibliotecas estándar.</b>
<ul>
<li>Sys</li>
<li>Shelve e pickle</li>
<li>Smtplib, urllib y ftplib</li>
<li>Threading</li>
<li>Multiprocesamiento</li>
</ul>
</li>
<li><b>Temas avanzados</b>
<ul>
<li>Iteradores</li>
<li>Introspección</li>
<li>Generadores</li>
<li>Decoradores</li>
</ul>
</li>
<li><b>Python y las bases de datos</b>
<ul>
<li>Conexión a una base de datos</li>
<li>Lectura</li>
<li>Escritura</li>
<li>Modificar y eliminar datos.</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

View File

@@ -0,0 +1,431 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Redis: cuando empieza el difícil jugar.</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Redis: Cuando los duros empiezan a jugar.</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 1 día | <b>Precio</b>: 350 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
En algunos casos, un servidor de datos es esencial. Su aplicabilidad abarca desde
aplicaciones web hasta aplicaciones
clásicas client/server. Un mundo nuevo, mucho más eficiente, para resolver viejos
problemas. Si desea mejorar el
rendimiento de su aplicación e introducir funciones avanzadas sin distorsionar lo
existente, este curso es para usted.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
<ul>
<li><b>INTRODUCCIÓN</b>
<ul>
<li>¿Que es redis?</li>
<li>Basics NoSQL</li>
<li>Getting Redis</li>
<li>Usando la consola redis</li>
</ul>
</li>
<li><b>BASICS</b>
<ul>
<li>String Get and Set</li>
<li>Caducar</li>
<li>Los tipos de datos básicos de Redis: strings, hashes, lists</li>
<li>Incrementing</li>
<li>GetRange</li>
<li>Mget y Mset</li>
<li>Lists</li>
<li>The Redis pushes and pops</li>
<li>Las variantes de bloqueo</li>
<li>Usando listas para implementar colas y pilas</li>
<li>Trimming Lists</li>
<li>Sets and sets commands</li>
<li>Hashes and hashes commands</li>
<li>Sorted Sets</li>
</ul>
</li>
<li><b>Publicación / suscripción</b>
<ul>
<li>Usando Pub and Sub</li>
<li>Transacciones</li>
</ul>
</li>
<li><b>ADMINISTRACIÓN Y CONFIGURACIÓN</b>
<ul>
<li>Configuración</li>
<li>Usando un file config</li>
<li>Configuring Persistence</li>
<li>Replication Configuration</li>
<li>Security</li>
<li>Monitor</li>
<li>Slow Log</li>
</ul>
</li>
<li><b>Usando redis desde su aplicación [Ejemplos en ObjectPascal o Java o PHP o C
#]</b>
<ul>
<li>Entendiendo Redis clients</li>
<li>Bloqueo VS no bloqueo de operaciones</li>
<li>Implementación de entidades persistentes</li>
</ul>
</li>
</ul>
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,376 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Workshop: "Control de versiones del código"</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Workshop: "Control de versiones del código"</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 1 día | <b>Precio</b>: 350 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
En este curso, analizaremos las estrategias y técnicas que se adoptarán para controlar
el control de versiones
de las fuentes utilizando GIT y Subversion.
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
Solicitar información actualizada al momento de la inscripción.
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,375 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="/img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Workshop: "Tus datos en la web / móvil con Delphi".</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
<link rel="stylesheet" href="/css/tooplate-style.css">
<link rel="stylesheet" href="../formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
</div>
<h1>Workshop: "Tus datos en la web / móvil con Delphi".</h1>
<h6 class="subtitle"></h6>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div class="media media-center ml-padding">
<p class="mb-0" id="tm-section-4">
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
</p>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Descripción:
</h2>
<p class="mb-0" id=tm-section-4>
Incluye el desarrollo real de un sistema web / móvil completo utilizando
DelphiMVCFramework
</p>
</div><br>
</div>
<div class="media media-center ml-padding">
<div class="media-body tm-box-5">
<h2>
Contenido:
</h2>
<p class="mb-0" id=tm-section-4>
Solicitar información actualizada al momento de la inscripción.
</p>
</div><br>
</div>
</div>
</div>
</section>
<hr>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="/js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="/slick/slick.min.js"></script>
<!-- Slick Carousel -->
<script type="text/javascript">
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/index.html">Inicio</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
}
</script>
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,12 @@
.tm-section-4 {
background-image: url("../img/tm-bg-section-formacion.jpg")!important;
}
.media {
display: block!important;
}
.tm-box-5 {
min-height: 0px!important;
}
.ml-padding {
text-align: left!important;
}

View File

@@ -0,0 +1,734 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- logo -->
<link rel="apple-touch-icon" sizes="57x57" href="../img/logo.ico/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="../img/logo.ico/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="../img/logo.ico/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="../img/logo.ico/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="../img/logo.ico/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="../img/logo.ico/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="../img/logo.ico/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="../img/logo.ico/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="../img/logo.ico/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="../img/logo.ico/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="../img/logo.ico/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="../img/logo.ico/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="../img/logo.ico/favicon-16x16.png">
<link rel="manifest" href="../img/logo.ico/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="img/logo.ico">
<meta name="theme-color" content="#ffffff">
<!-- logo fine -->
<title>Formación</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
<!-- Google web font "Open Sans" -->
<link rel="stylesheet" href="../font-awesome-4.5.0/css/font-awesome.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="../css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="../slick/slick.css" />
<link rel="stylesheet" type="text/css" href="../slick/slick-theme.css" />
<link rel="stylesheet" href="../css/tooplate-style.css">
<link rel="stylesheet" href="formacion.css">
<!-- tooplate style -->
<script>
var renderPage = true;
if (navigator.userAgent.indexOf('MSIE') !== -1
|| navigator.appVersion.indexOf('Trident/') > 0) {
/* Microsoft Internet Explorer detected in. */
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
renderPage = false;
}
</script>
</head>
<body>
<!-- Loader -->
<div style="z-index:999999999" id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<div class="container">
<section class="tm-section-head" id="top">
<header id="header" class="text-center tm-text-gray">
<div>
<a href="#top"><img class="logo" src="../img/logo-trasparent.png"></a>
</div>
<h1>FORMACIÓN</h1>
<div id="navigation-bar"></div>
</header>
</section>
<section class="tm-section-3 tm-section-mb" id="tm-section-3">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<p>Los precios indicados para los cursos no incluyen el IVA</p>
<div id="ApiWebDMVC" class="media media-center ml-padding">
</div>
<div id="elastic" class="media media-center ml-padding">
</div>
<div id="linuxDelphi" class="media media-center ml-padding">
</div>
<div id="delphi1" class="media media-center ml-padding">
</div>
</div>
</div>
</section>
<section class="tm-section-4 tm-section-mb">
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div id="delphi2" class="media media-center ml-padding">
</div>
<div id="firemonkey" class="media media-center ml-padding">
</div>
<div id="multithreading" class="media media-center ml-padding">
</div>
</div>
</div>
</section>
<section class="tm-section-4 tm-section-mb">
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div id="workshop_webMobile" class="media media-center ml-padding">
</div>
<div id="backendDelphi" class="media media-center ml-padding">
</div>
<div id="CppBuilder1" class="media media-center ml-padding">
</div>
</div>
</div>
</section>
<section class="tm-section-4 tm-section-mb">
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div id="CppBuilder2" class="media media-center ml-padding">
</div>
<div id="dmvcFramework" class="media media-center ml-padding">
</div>
<div id="angular" class="media media-center ml-padding">
</div>
</div>
</div>
</section>
<section class="tm-section-4 tm-section-mb" id="tm-section-4">
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div id="python" class="media media-center ml-padding">
</div>
<div id="pythonFlask" class="media media-center ml-padding">
</div>
<div id="PHP" class="media media-center ml-padding">
</div>
</div>
</section>
<section class="tm-section-4 tm-section-mb" id="tm-section-4">
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div id="workshop_codeVersioning" class="media media-center ml-padding">
</div>
<div id="googleSDK" class="media media-center ml-padding">
</div>
<div id="redis" class="media media-center ml-padding">
</div>
</div>
</div>
</section>
<section class="tm-section-4 tm-section-mb" id="tm-section-4">
</section>
<section class="tm-section-3 tm-section-mb" id="tm-section-6">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div id="parallelProgramming" class="media media-center ml-padding">
</div>
<div id="OOPDesignPattern" class="media media-center ml-padding">
</div>
<div id="microsoftSQLServer" class="media media-center ml-padding">
</div>
<section class="tm-section-4 tm-section-mb" id="tm-section-4">
</section>
<section class="tm-section-5" id="tm-section-5">
<div class="row">
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
<div id="fireDAC" class="media media-center ml-padding">
</div>
</div>
</div>
</section>
<section class="tm-section-6" id="tm-section-6">
<div class="row">
<div class="col-lg-7 col-md-7 col-xs-12">
<div class="contact_message">
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
<div class="row mb-2">
<div class="form-group col-xl-6">
<input type="text" id="contact_name" name="contact_name" class="form-control"
placeholder="Nombre" required />
</div>
<div class="form-group col-xl-6 pl-xl-1">
<input type="email" id="contact_email" name="contact_email" class="form-control"
placeholder="Correo electrónico" required />
</div>
</div>
<div class="form-group">
<textarea id="contact_message" name="contact_message" class="form-control"
rows="6" placeholder="Escribe aquí tu mensaje." required></textarea>
</div>
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
</form>
</div>
</div>
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
<div class="tm-address-box">
<h2 class="mb-4" id="cnt-section">Contacto</h2>
<!-- <p class="mb-5">Integer pretium volutpat tempor. Maecenas condimentum tincidunt leo. Paesent scelerisque erat placerat tempus laoreet. Vivamus pellentesque tempor congue.</p> -->
<address>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
<i class="fa fa-map-marker" aria-hidden="true" style="margin-right: 0.1em"></i></a>
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
target="_blank">
Carrer del Bon Recés, 3</a>
<br>46015 Valencia
<br>España
<br>Teléfono: +34 960130674
<br>Nuestras oficinas están abiertas de Lunes a Viernes.
<br>De 9h a 14h / 15h a 18h
</address>
</div>
</div>
</div>
</section>
<footer class="mt-5">
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
</footer>
</div>
<!-- load JS files -->
<script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
<script src="../js/popper.min.js"></script>
<!-- https://popper.js.org/ -->
<script src="../js/bootstrap.min.js"></script>
<!-- https://getbootstrap.com/ -->
<script type="text/javascript" src="../slick/slick.min.js"></script>
<script type="text/javascript">
const courses = {
ApiWebDMVC: `
<div class="media-body tm-box-5">
<p class="mb-0" id="tm-section-4">
<h2>Web API con Delphi y DMVCFramework</h2>
<br>
<b>Duración: 2 días | Precio: € 490</b><br>
La disponibilidad de datos corporativos de forma remota no es una opción. Sus empleados necesitan acceso a información vital, incluso cuando no están en su puesto. En este curso, descubrirá lo simple (y poderoso) que es usar Delphi para escribir servicios RESTful / JSON usando DelphiMVCFramework. En este curso analizaremos todas las peculiaridades de DelphiMVCFramework, el framework apreciado en todo el mundo por su rapidez y sencillez. ¡El taller incluye el desarrollo real de un servidor RESTful completo y un cliente web javascript! ¡Este es el curso perfecto para aquellos que desean aprender a desarrollar web API con Delphi de forma rápida y sencilla!
</p>
</div><br>`,
elastic: `
<div class="media-body tm-box-5">
<p class="mb-0" id="tm-section-4">
<h2>ELK Stack (Elasticsearch, Logstash, Kibana)</h2>
<br>
<b>Duración: 2 días | Precio: € 900</b><br>
Este curso proporciona una introducción al uso de la pila ELK (Elasticsearch, Logstash, Kibana)
para leer, normalizar, procesar, indexar, mostrar datos y series temporales.
Elasticsearch, el producto principal de la suite, es un motor de búsqueda profesional capaz de administrar Big Data
de manera efectiva en cualquier aplicación / sitio web.
</p>
</div><br>`,
linuxDelphi: `<div class="media-body tm-box-5">
<p class="mb-0" id="tm-section-4">
<h2>Desarollo Linux Con Delphi</h2>
<br>
<b>Duración: 1 día | Precio: € 399</b><br>
Si desea desarrollar finalmente en el sistema operativo mas difundido en ambiente servidor,
este curso es para usted. En este curso intensivo, analizaremos los fundamentos del sistema operativo Linux GNU
necesario para el desarrollo nativo con Delphi. ¡Los servicios RESTful y servidores de todo tipo finalmente pueden
ejecutarse en el sistema operativo del pinguino con la familiaridad y el rendimiento de Delphi!
Nota: El curso se basa en la última versión de Ubuntu LTS. Necesitará tener una máquina virtual VirtualBox ejecutándose
con la última versión de Ubuntu Desktop LTS.
</p>
</div><br>`,
delphi1: `<div class="media-body tm-box-5">
<h2>Delphi Parte 1</h2>
<br>
<b>Duración: 2 días | Precio: € 600</b><br>
<p class="mb-0" id="tm-section-4">
Un curso clásico, uno de los más apreciados por los programadores de Delphi. No te pierdas la actualización a Delphi 10.3 Rio,
una de las mejores versiones de la historia.
</p>
</div><br>`,
delphi2: `<div class="media-body tm-box-5">
<h2>Delphi Parte 2</h2>
<br>
<b>Duración: 2 días | Precio: € 600</b><br>
<p class="mb-0" id="tm-section-4">
Un curso clásico, uno de los más apreciados por los programadores de Delphi. No te pierdas la actualización a Delphi 10.3 Rio,
una de las mejores versiones de la historia.
</p>
</div><br>`,
firemonkey: `<div class="media-body tm-box-5">
<h2>Desarrollo FireMonkey móvil para programadores VCL</h2>
<br>
<b>Duración: 3 días | Precio: 900 €</b><br>
<p class="mb-0" id="tm-section-4">
¿Eres un programador Delphi desde hace mucho tiempo y te gustaría entender lo que se necesita para escribir
correctamente una aplicación con FireMonkey? ¿Deseas evitar perder tiempo y dinero tratando de resolver los
problemas habituales relacionados con los dispositivos móviles? Este curso está hecho para ti!
</p>
</div><br>`,
multithreading: `<div class="media-body tm-box-5">
<h2>Técnicas de multithreading</h2>
<br>
<b>Duración: 1 día | Precio: 299 €</b><br>
<p class="mb-0" id="tm-section-4">
Este curso te ayudará a mejorar el rendimiento y la experiencia usuario de tus programas con ejemplos
y casos de uso real.
</p>
</div><br>`,
workshop_webMobile: `<div class="media-body tm-box-5">
<h2>Workshop: "Tus datos en la web / móvil con Delphi".</h2>
<br>
<b>Duración: 2 días | Precio: € 600</b><br>
<p class="mb-0" id="tm-section-4">
Incluye el desarrollo real de un sistema Web Móvil completo utilizando DelphiMVCFramework.
</p>
</div><br>`,
backendDelphi: `<div class="media-body tm-box-5">
<h2>BackEnd Delphi</h2>
<br>
<b>Duración: 1 día | Precio: € 300</b><br>
<p class="mb-0" id="tm-section-4">
Aprenda a explotar la potencia del fantástico framework angular de Google para escribir
Thin Clients Web para tus servicios RESTful Delphi.
</p>
</div><br>`,
CppBuilder1: `<div class="media-body tm-box-5">
<h2>C ++ Builder 10.3 Rio Desarrollo de aplicaciones Parte 1</h2>
<br>
<b>Duración: 2 días | Precio: € 600</b><br>
<p class="mb-0" id="tm-section-4">
El curso es apto para aquellos que inician con C++ Builder.
</p>
</div><br>`,
CppBuilder2: `<div class="media-body tm-box-5">
<h2>C ++ Builder 10.3 Rio Desarrollo de aplicaciones Parte 2</h2>
<br>
<b>Duración: 2 días | Precio: € 600</b><br>
<p class="mb-0" id="tm-section-4">
El curso es apto para aquellos que inician con C++ Builder.
</p>
</div><br>`,
dmvcFramework: `<div class="media-body tm-box-5">
<h2>DelphiMVCFramework</h2>
<br>
<b>Duración: 2 días | Precio: € 600</b><br>
<p class="mb-0" id="tm-section-4">
En este curso analizaremos todas las peculiaridades de DelphiMVCFramework, el framework apreciado en todo el mundo
por su velocidad y simplicidad. ¡El curso incluye el desarrollo real de un completo servidor RESTful y un cliente web
javascript!
</p>
</div><br>`,
angular: `<div class="media-body tm-box-5">
<h2>Angular</h2>
<br>
<b>Duración: 3 días | Precio: € 900</b><br>
<p class="mb-0" id="tm-section-4">
Un curso intensivo de desarrollo de tres días con Angular y Typescript, para conocer todas las noticias y
los potenciales del nuevo framework de Google. Es absolutamente recomendable tener una PC/notebook personal
con usted para utilizarlo durante los ejercicios.
</p>
</div><br>`,
python: `<div class="media-body tm-box-5">
<h2>Curso Python</h2>
<br>
<b>Duración: 2 días | Precio: € 600</b><br>
<p class="mb-0" id="tm-section-4">
Python es un lenguaje de programación orientado a objetos, que se presta a múltiples usos: desde scripts simples
hasta aplicaciones web complejas. Python combina características muy potentes con una sintaxis sencilla e intuitiva,
que hace que el código sea limpio y fácil de leer.
</p>
</div><br>`,
pythonFlask: `<div class="media-body tm-box-5">
<h2>Desarrolla API con Python y Flask</h2>
<br>
<b>Duración: 1 día | Precio: € 300</b><br>
<p class="mb-0" id="tm-section-4">
Independientemente de la plataforma, es necesario crear API para servir datos entre diferentes aplicaciones Client
y los Endpoint. Se necesitan buenas API para los proyectos web y móviles, especialmente con enfoques como mobile-first.
Este curso de capacitación proporciona los conocimientos fundamentales necesarios para hacer posibles interacciones
altamente interconectadas entre las aplicaciones utilizando API RESTful.
</p>
</div><br>`,
PHP: `<div class="media-body tm-box-5">
<h2>Desarrolla API con PHP</h2>
<br>
<b>Duración: 1 día | Precio: € 300</b><br>
<p class="mb-0" id="tm-section-4">
Independientemente de la plataforma, es necesario crear API para servir datos entre diferentes aplicaciones Client
y los Endpoint. Se necesitan buenas API para los proyectos web y móviles, especialmente con enfoques mobile-first.
Este curso de capacitación proporciona los conocimientos fundamentales necesarios para hacer posibles
interacciones altamente interconectadas entre aplicaciones utilizando API RESTful.
</p>
</div><br>`,
workshop_codeVersioning: `<div class="media-body tm-box-5">
<h2>Workshop: "Control de versiones del código"</h2>
<br>
<b>Duración: 1 día | Precio: 350 €</b><br>
<p class="mb-0" id="tm-section-4">
En este curso, analizaremos las estrategias y técnicas que se adoptarán para controlar el control de versiones
de las fuentes utilizando GIT y Subversion.
</p>
</div><br>`,
googleSDK: `<div class="media-body tm-box-5">
<h2>Desarrollo de Android con el SDK de Google.</h2>
<br>
<b>Duración: 3 días | Precio: € 990</b><br>
<p class="mb-0" id="tm-section-4">
Para aquellos que quieren desarrollar aplicaciones para Android con Java y el SDK de Google.
</p>
</div><br>`,
redis: `<div class="media-body tm-box-5">
<h2>Redis: Cuando los duros empiezan a jugar.</h2>
<br>
<b>Duración: 1 día | Precio: 350 €</b><br>
<p class="mb-0" id="tm-section-4">
En algunos casos, un servidor de datos es esencial. Su aplicabilidad abarca desde aplicaciones web hasta aplicaciones
clásicas client/server. Un mundo nuevo, mucho más eficiente, para resolver viejos problemas. Si desea mejorar el
rendimiento de su aplicación e introducir funciones avanzadas sin distorsionar lo existente, este curso es para usted.
</p>
</div><br>`,
parallelProgramming: `<div class="media-body tm-box-5">
<h2>Hacer feliz a los usuarios con la Parallel Programming Library</h2>
<br>
<b>Duración: 1 día | Precio: 249 €</b><br>
<p class="mb-0" id="tm-section-4">
Desde hace años nos ocupamos de computadoras y dispositivos multinúcleo.
¿Cómo aprovechar al máximo el poder de estas máquinas para hacer feliz al cliente?
En este seminario web, analizaremos algunas características de la nueva Biblioteca de programación
paralela(Parallel Programming Library) introducida desde Delphi 10 Seattle
que puede hacer que nuestras aplicaciones sean rápidas y agradables de usar.
</p>
</div><br>`,
OOPDesignPattern: `<div class="media-body tm-box-5">
<h2>Aplicar realmente la OOP y el design pattern</h2>
<br>
<b>Duración: 3 días | Precio: € 900</b><br>
<p class="mb-0" id="tm-section-4">
"Este curso cambia tu vida" - cit. un participante
En este curso, apreciado por docenas de programadores en los últimos años, se abordan las fallas más obvias en el
diseño "clásico" y las relativas soluciones ofrecidas por los principios SOLID y de design pattern.
El curso incluye numerosos ejemplos y ejercicios.
</p>
</div><br>`,
microsoftSQLServer: `<div class="media-body tm-box-5">
<h2>Microsoft SQL Server: vuelva a escribir sus consultas(querys) para un mejor rendimiento</h2>
<br>
<b>Duración: 1 día | Precio: € 300</b><br>
<p class="mb-0" id="tm-section-4">
En comparación con otros lenguajes de programación, T-SQL no es un lenguaje difícil de aprender.
Descubre la naturaleza declarativa de este lenguaje y obten
el máximo rendimiento y poder de sus consultas(querys).
Este curso nos ayuda a responder a las preguntas: "¿Por qué esta query es tan lenta?", "¿Qué índices se utilizan y cómo?".
Los temas tratados sobre el lenguaje T-SQL permitirán mejorar la escritura de tu código.
</p>
</div><br>`,
fireDAC: `<div class="media-body tm-box-5">
<h2>FireDAC</h2>
<br>
<b>Duración: 2 días | Precio: € 600</b><br>
<p class="mb-0" id="tm-section-4">
El curso está dirigido a todos los programadores y analistas de Delphi. Todas las características de FireDAC
serán analizadas. Los ejercicios prácticos ilustrarán el uso de cada componente para mejorar la productividad,
la calidad, la solidez y la elegancia del código y de la aplicación producida. Los objetivos del curso son los siguientes:
Familiarizarse con los componentes de la suite FireDAC, conocer en profundidad las diversas opciones de personalización
y utilizarlas en los escenarios más difundidos.
</p>
</div><br>`
};
window.onresize = function () {
calculateMediaQuery();
}
$(document).ready(
calculateMediaQuery()
);
function calculateMediaQuery() {
if (window.matchMedia('(min-width: 1200px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
this.mediaQueryInUse = 'desktop';
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
this.mediaQueryInUse = 'tablet';
} else {
this.mediaQueryInUse = 'mobile';
}
if (this.mediaQueryInUse != 'mobile') {
document.getElementById("navigation-bar").innerHTML = `
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<!-- Brand -->
<!-- <a class="navbar-brand" href="#">
alt=""></a> -->
<!-- Links -->
<ul class="navbar-nav">
<!-- Dropdown -->
<li class="nav-item">
<a class="nav-link" href="../index.html">Inicio</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
Tecnología
</a>
<div class="dropdown-menu no-line-link">
<a class="dropdown-item" href="../tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
<a class="dropdown-item" href="../tecnologia/arduino.html">Arduino</a>
<a class="dropdown-item" href="../tecnologia/bottelegram.html">Bot Telegram</a>
<a class="dropdown-item" href="../tecnologia/delphi.html">Delphi</a>
<a class="dropdown-item" href="../tecnologia/elkstack.html">ELK Stack</a>
<a class="dropdown-item" href="../tecnologia/machinelearning.html">Machine Learning</a>
<a class="dropdown-item" href="../tecnologia/python.html">Python</a>
<a class="dropdown-item" href="../tecnologia/raspberrypi.html">Raspberry Pi</a>
<a class="dropdown-item" href="../tecnologia/restsoap.html">Rest y Soap</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="../formacion/formacion.html">Cursos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cnt-section">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#sn-section">Sobre Nosotros</a>
</li>
</ul>
</nav>
`;
} else {
document.getElementById("navigation-bar").innerHTML = `
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ul class="navbar-nav">
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="../index.html" target="_self" >Inicio</a>
</h5>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<div id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
</a>
</h5>
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
<div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/aplicacionesmoviles.html">
Aplicaciones Móviles
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/arduino.html">
Arduino
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/bottelegram.html">
Bot Telegram
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/delphi.html">
Delphi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/elkstack.html">
ELK Stack
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/machinelearning.html">
Machine Learning
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/python.html">
Python
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/raspberrypi.html">
Raspberry Pi
</a>
</div>
<div class="col-xs-12">
<a class="col-xs-12 no-line-link" href="../tecnologia/restsoap.html">
Rest y Soap
</a>
</div>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="../formacion/formacion.html" aria-label="Close">Cursos</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
</h5>
</li>
<li class="nav-item">
<h5>
<a class="nav-link no-link" href="#sn-section" data-dismiss="modal" aria-label="Close">Sobre Nosotros</a>
</h5>
</li>
</ul>
</div>
<div class="modal-footer"></div>
</div>
</div>
</div>`
}
const paragraph = document.querySelectorAll('.media');
paragraph.forEach((p) => {
p.innerHTML = courses[p.id];
p.innerHTML += `
<br><a class="btn tm-btn-pad-2 float-right" href="` + 'cursos/' + p.id + '.html' + `" > ` + 'LEE EL PROGRAMA' + ` </a>
<br><br><br><hr>`;
});
if (this.mediaQueryInUse == 'mobile') {
const paragraph = document.querySelectorAll('.media');
paragraph.forEach((p) => {
p.className = 'adjust-mobile-layout';
});
}
}
</script>
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
<script>
$(document).ready(function () {
if (renderPage) {
$('body').addClass('loaded');
}
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
// Select all links with hashes
$('a[href*="#"]')
// Remove links that don't actually link to anything
.not('[href="#"]')
.not('[href="#0"]')
.click(function (event) {
// On-page links
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Figure out element to scroll to
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Does a scroll target exist?
if (target.length) {
// Only prevent default if animation is actually gonna happen
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top + 1
}, 1000, function () {
// Callback after animation
// Must change focus!
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Checking if the target was focused
return false;
} else {
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
$target.focus(); // Set focus again
};
});
}
}
});
});
</script>
</body>
</html>