{"id":844,"date":"2024-08-24T09:00:00","date_gmt":"2024-08-24T08:00:00","guid":{"rendered":"https:\/\/jorgeturiel.es\/?p=844"},"modified":"2024-11-24T14:34:19","modified_gmt":"2024-11-24T13:34:19","slug":"ejercicio-programacion-lista-pokemon","status":"publish","type":"post","link":"https:\/\/jorgeturiel.es\/?p=844","title":{"rendered":"Ejercicio programaci\u00f3n #2. Lista Pokemon"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Realizar el reto de programaci\u00f3n propuesto por <a href=\"https:\/\/www.youtube.com\/@mouredev\">Brais Moure<\/a>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lista los 151 Pokemos usando la pokeApi.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Para acceder a la <a href=\"https:\/\/pokeapi.co\/\">PokeAPi<\/a> realizaremos una petici\u00f3n HTTP de tipo GET a la direcci\u00f3n <em>https:\/\/pokeapi.co\/api\/v2\/pokemon?limit=151<\/em>, y pas\u00e1ndole el par\u00e1metro <em>limit=151<\/em> para que nos devuelva solamente los 151 primeros elementos. La respuesta la guardamos en <em>Respuesta<\/em>.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">  Conexion := TFPHTTPClient.Create(nil);\n  Respuesta:= TStringList.Create;\n  Conexion.get('https:\/\/pokeapi.co\/api\/v2\/pokemon?limit=151', Respuesta);  <\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que hemos recibido lo convertimos en un objeto tipo <em>Json<\/em>data. Dentro de este localizamos el nodo <em>results<\/em> y lo guardmos en <em>Resultado<\/em> que es otro <em>jsondata<\/em><\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">  mijson:= GetJSON(Respuesta.Text,false);\n  Resultado:= mijson.FindPath('results');\n  For I := 0 TO Resultado.Count-1 do\n  Begin\n      Writeln (Resultado.Items[I].FindPath('name').AsString);\n  end;              <\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Luego recorremos <em>Resultado<\/em>, mostrando cada elemento que se llama <em>name<\/em>, mostr\u00e1ndolo como cadena.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed est\u00e1 el c\u00f3digo completo.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:default decode:true \">program pokeapi;\n\n{$mode objfpc}{$H+}\n\nuses\n  {$IFDEF UNIX}\n  cthreads,\n  {$ENDIF}\n  Classes,\n  fphttpclient,\n  opensslsockets,\n  fpjson,\n  jsonparser;\n\nvar\n  Conexion: TFPHTTPClient;\n  Respuesta: TStringList;\n  miJson, Resultado: TJSONData;\n  I: integer;\n\nbegin\n  Conexion := TFPHTTPClient.Create(nil);\n  Respuesta := TStringList.Create;\n  Conexion.Get('https:\/\/pokeapi.co\/api\/v2\/pokemon?limit=151', Respuesta);\n  miJson := GetJSON(respuesta.Text,false);\n  Resultado := miJson.FindPath('results');    \n  For I := 0 to Resultado.Count-1 do\n  begin\n      writeln( Resultado.items[I].FindPath('name').AsString);\n  end;\nend.<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Y un v\u00eddeo del programa.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Ejercicio programaci\u00f3n #2. Lista Pokemon\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/JHMV89EFBbA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Saludos<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Realizar el reto de programaci\u00f3n propuesto por Brais Moure. Lista los 151 Pokemos usando la pokeApi.<\/p>\n","protected":false},"author":2,"featured_media":847,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61,27,26,1],"tags":[64,23,21,24],"class_list":["post-844","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-free-pascal","category-lazarus","category-programacion","category-sin-categoria","tag-ejercicio-programacion","tag-lazarus","tag-pascal","tag-programacion"],"_links":{"self":[{"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/posts\/844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=844"}],"version-history":[{"count":3,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/posts\/844\/revisions"}],"predecessor-version":[{"id":854,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/posts\/844\/revisions\/854"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=\/wp\/v2\/media\/847"}],"wp:attachment":[{"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jorgeturiel.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}