{"id":2746,"date":"2021-09-16T03:45:24","date_gmt":"2021-09-16T03:45:24","guid":{"rendered":"https:\/\/www.delphienmovimiento.mx\/wp\/?p=2746"},"modified":"2021-10-20T13:29:56","modified_gmt":"2021-10-20T13:29:56","slug":"proyecto-multiplataforma-episodio-2-2-creacion-de-metodos","status":"publish","type":"post","link":"https:\/\/www.delphienmovimiento.mx\/wp\/2021\/09\/16\/proyecto-multiplataforma-episodio-2-2-creacion-de-metodos\/","title":{"rendered":"Proyecto Multiplataforma \u2013 Episodio 2.2 (Creaci\u00f3n de M\u00e9todos)"},"content":{"rendered":"\n<p>Hola amigos.<\/p>\n\n\n\n<p>En \u00e9ste Episodio vamos a escribir un par de m\u00e9todos para poder pasar a la siguiente etapa que es la construcci\u00f3n de las <strong>Aplicaciones Cliente<\/strong> y de esa forma avanzar con el proyecto.<\/p>\n\n\n\n<p>Posteriormente cada m\u00e9todo que se agregue en el Servidor, se har\u00e1 la el proceso para el llamado del mismo desde la Aplicaci\u00f3n Cliente para avanzar de forma paralela.<\/p>\n\n\n\n<p>Primero vamos a redise\u00f1ar el m\u00e9todo <strong>Valida<em>Usuario()<\/em><\/strong> ya que requerimos que adem\u00e1s de validar que el usuario existe es necesario obtener la informaci\u00f3n del usuario que inici\u00f3 sesi\u00f3n en el sistema y mostrarla en la ventana principal. <\/p>\n\n\n\n<p>Posteriormente vamos a crear el m\u00e9todo <strong><em>Habitaciones()<\/em><\/strong> el cual nos regresar\u00e1 la informaci\u00f3n de las habitaciones para generar lo que en hoteler\u00eda se le conoce como <em><strong>Rack de Habitaciones<\/strong><\/em>.<\/p>\n\n\n\n<p>Un <strong><em>Rack<\/em><\/strong> permite visualizar de forma inmediata el estado de las habitaciones <em><strong>(Disponible, Ocupada, Limpia, Sucia, etc.)<\/strong><\/em> en una relaci\u00f3n <em><strong>Habitaci\u00f3n \/ D\u00eda<\/strong><\/em>, la siguiente imagen nos muestra un ejemplo de \u00e9ste visor .<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"530\" src=\"https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2021\/09\/Cameriere_Win-1024x530.png\" alt=\"\" class=\"wp-image-2751\" srcset=\"https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2021\/09\/Cameriere_Win-1024x530.png 1024w, https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2021\/09\/Cameriere_Win-300x155.png 300w, https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2021\/09\/Cameriere_Win-768x398.png 768w, https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2021\/09\/Cameriere_Win-50x26.png 50w, https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2021\/09\/Cameriere_Win.png 1362w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Vamos a mostrar dos formas diferentes de regresar objetos JSON para que ustedes decidan cual se adapta a sus necesidades. Para realizar esto se van a utilizar las siguientes clases:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>TJSONObject<\/strong><ul><li>Con esta clase se crear\u00e1 el mapeo <strong>JSON del DataSet<\/strong> para que puedan escribir Aplicaciones Cliente con cualquier herramienta y poder serializar el contenido con formato&nbsp;<strong>JSON<\/strong>&nbsp;y extraer la informaci\u00f3n contenida.<\/li><\/ul><\/li><li><strong>TFDJSONDataSets<\/strong><ul><li>Con esta clase se crear\u00e1 el mapeo <strong>JSON del DataSet<\/strong> en formato <em><strong>\u00abmime encoded binary content\u00bb<\/strong><\/em> por lo que solo ser\u00e1 \u00fatil cuando se use RAD Studio en ambos extremos es decir tanto en el Servidor como en el Cliente.<\/li><\/ul><\/li><\/ul>\n\n\n\n<p class=\"has-small-font-size\"><em>***En el siguiente video vamos a crear los m\u00e9todos con el objeto <strong>TJSONObject<\/strong>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\"  id=\"_ytid_86291\"  width=\"1200\" height=\"675\"  data-origwidth=\"1200\" data-origheight=\"675\" src=\"https:\/\/www.youtube.com\/embed\/DiJbc1FGZcM?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"has-small-font-size\"><em>***En el siguiente video vamos a crear los m\u00e9todos con el objeto <strong>TFDJSONDataSets<\/strong><\/em><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\"  id=\"_ytid_78399\"  width=\"1200\" height=\"675\"  data-origwidth=\"1200\" data-origheight=\"675\" src=\"https:\/\/www.youtube.com\/embed\/j_K6fKZ3EvU?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Con esto terminamos el Episodio 2 el cual hice en dos partes para separar el motor y los m\u00e9todos que ser\u00e1n consumidos.<\/p>\n\n\n\n<p>En el siguiente Episodio comenzaremos a dise\u00f1ar nuestra aplicaci\u00f3n de Escritorio para las <strong>plataformas Windows y Linux.<\/strong><\/p>\n\n\n\n<p class=\"has-small-font-size\"><em>***Mientras tanto los invito a experimentar con la creaci\u00f3n de m\u00e9todos utilizando los dos enfoques <strong>TJSONObject y TFDJSONDataSets<\/strong> .<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2018\/01\/IMG-20140511-WA0003.jpg\" alt=\"Nos vemos en la pr\u00f3xima\" class=\"wp-image-76\" width=\"121\" height=\"220\" srcset=\"https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2018\/01\/IMG-20140511-WA0003.jpg 529w, https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2018\/01\/IMG-20140511-WA0003-61x110.jpg 61w, https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2018\/01\/IMG-20140511-WA0003-231x420.jpg 231w, https:\/\/www.delphienmovimiento.mx\/wp\/wp-content\/uploads\/2018\/01\/IMG-20140511-WA0003-237x430.jpg 237w\" sizes=\"auto, (max-width: 121px) 100vw, 121px\" \/><\/figure>\n\n\n\n<p><em>Nos vemos en la pr\u00f3xima entrada<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En \u00e9ste Episodio vamos a crear dos m\u00e9todos con dos enfoques diferentes, uno regresando un TJSONObject para que pueda ser serializado por cualquier Aplicaci\u00f3n Cliente y otro con un formato propietario utilizando las tecnolog\u00edas DataSnap y FireDAC.<\/p>\n<p>Con estos m\u00e9todos ya podremos comenzar a dise\u00f1ar nuestra Aplicaci\u00f3n Cliente.<\/p>\n<p>\u2013 Para entrar de clic en el T\u00edtulo o en la Imagen.<\/p>\n","protected":false},"author":1,"featured_media":2821,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,8,178,179],"tags":[40,61,63,67,72,118],"class_list":["post-2746","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bases-de-datos","category-delphi","category-tutos","category-videos","tag-delphi","tag-delphiaccess","tag-delphispano","tag-embarcadero","tag-firemonkey","tag-rad-studio"],"wppr_data":{"cwp_meta_box_check":"No"},"_links":{"self":[{"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/posts\/2746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/comments?post=2746"}],"version-history":[{"count":14,"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/posts\/2746\/revisions"}],"predecessor-version":[{"id":2782,"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/posts\/2746\/revisions\/2782"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/media\/2821"}],"wp:attachment":[{"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/media?parent=2746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/categories?post=2746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.delphienmovimiento.mx\/wp\/wp-json\/wp\/v2\/tags?post=2746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}