{"id":205,"date":"2015-04-11T16:45:39","date_gmt":"2015-04-11T19:45:39","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/gideros\/?page_id=205"},"modified":"2015-04-19T11:04:59","modified_gmt":"2015-04-19T14:04:59","slug":"storage-salvar_dados","status":"publish","type":"page","link":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/","title":{"rendered":"Outros recursos &#8211; storage (salvando de dados)"},"content":{"rendered":"<p>A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja.\u00a0\u00a0\u00a0 No c\u00f3digo abaixo vemos esse procedimento.<\/p>\n<p><a href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2015\/04\/image063.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-238 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2015\/04\/image063.png\" alt=\"image063\" width=\"297\" height=\"193\" \/><\/a><\/p>\n<p>Na primeira linha fazemos a abertura de um arquivo. O primeiro par\u00e2metro do m\u00e9todo io.open() \u00e9 o nome do arquivo, que deve come\u00e7ar com \u201c|D|\u201d seguido do restante do nome do arquivo. O segundo argumento \u00e9 o modo de abertura do arquivo e, no caso do c\u00f3digo \u201cw\u201d, foi definido o modo de escrita (write). Para escrever no arquivo, basta utilizar o m\u00e9todo write() com o conte\u00fado que se deseja adicionar. Veja que foi enviado um \u201d\\n\u201d para gerar uma nova linha, a qual utilizaremos para diferenciar cada dado inserido. No c\u00f3digo, al\u00e9m de enviar uma frase, foi enviado para o arquivo tamb\u00e9m um n\u00famero e, por fim, foi fechado o arquivo.<\/p>\n<p>No trecho seguinte do c\u00f3digo \u00e9 novamente aberto o arquivo, mas dessa vez para leitura, segundo o par\u00e2metro de modo de acesso estar com \u201cr\u201d de read. Em seguida s\u00e3o lidos os valores de cada linha do arquivo atrav\u00e9s do m\u00e9todo e argumento read(\u201c*line\u201d). O processo de leitura considera que os valores s\u00e3o textuais, por isso, para ler o n\u00famero anteriormente armazenado, \u00e9 preciso converter o texto para um\u00a0 n\u00famero, o que \u00e9 feito atrav\u00e9s do m\u00e9todo tonumber(). Por fim o arquivo \u00e9 novamente fechado e as vari\u00e1veis que armazenaram os valores lidos do arquivo s\u00e3o exibidas na \u00e1rea de output.<\/p>\n<p>Perceba que toda vez que o c\u00f3digo \u00e9 executado, o arquivo \u00e9 sempre sobescrito por novos conte\u00fados que venham a ser gravados. Para armazenar uma sequencia de a\u00e7\u00f5es cont\u00ednuas no decorrer de diversas utiliza\u00e7\u00f5es do jogo \u00e9 preciso solicitar o modo de abertura de arquivo \u201ca\u201d, de append. O c\u00f3digo abaixo ir\u00e1 escrever duas linhas no arquivo para cada vez que a aplica\u00e7\u00e3o for executada.<\/p>\n<p><a href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2015\/04\/image064.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-239 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2015\/04\/image064.png\" alt=\"image064\" width=\"307\" height=\"242\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2015\/04\/image064.png 307w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2015\/04\/image064-300x236.png 300w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/a><\/p>\n<p>O c\u00f3digo visto traz alguns acr\u00e9scimos, onde inicialmente est\u00e1 sendo verificado se o arquivo foi poss\u00edvel de ser aberto. Se ele j\u00e1 estiver aberto, ou se o nome informado para a leitura n\u00e3o existir, a aplica\u00e7\u00e3o mostrar\u00e1 uma mensagem de erro, caso contr\u00e1rio \u00e9 gerada uma itera\u00e7\u00e3o pegando e exibindo cada linha existe no arquivo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja.\u00a0\u00a0\u00a0 No c\u00f3digo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":198,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-205","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja. No c\u00f3digo\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_BR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gideros Engine - Tutoriais para cria\u00e7\u00e3o de jogos mobile multiplataformas\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Outros recursos \u2013 storage (salvando de dados) - Gideros Engine\" \/>\n\t\t<meta property=\"og:description\" content=\"A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja. No c\u00f3digo\" \/>\n\t\t<meta property=\"og:url\" content=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-04-11T19:45:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2015-04-19T14:04:59+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Outros recursos \u2013 storage (salvando de dados) - Gideros Engine\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja. No c\u00f3digo\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/storage-salvar_dados\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/#listItem\",\"name\":\"Outros recursos\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/#listItem\",\"position\":2,\"name\":\"Outros recursos\",\"item\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/storage-salvar_dados\\\/#listItem\",\"name\":\"Outros recursos &#8211; storage (salvando de dados)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/storage-salvar_dados\\\/#listItem\",\"position\":3,\"name\":\"Outros recursos &#8211; storage (salvando de dados)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/#listItem\",\"name\":\"Outros recursos\"}}]},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/#organization\",\"name\":\"Gideros Engine\",\"description\":\"Tutoriais para cria\\u00e7\\u00e3o de jogos mobile multiplataformas\",\"url\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/storage-salvar_dados\\\/#webpage\",\"url\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/storage-salvar_dados\\\/\",\"name\":\"Outros recursos \\u2013 storage (salvando de dados) - Gideros Engine\",\"description\":\"A manipula\\u00e7\\u00e3o de arquivos \\u00e9 algo necess\\u00e1rio em jogos sempre que precisamos armazenar par\\u00e2metros de configura\\u00e7\\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\\u00e7\\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\\u00e9 o final do arquivo, ou onde se deseja. No c\\u00f3digo\",\"inLanguage\":\"pt-BR\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/#website\"},\"breadcrumb\":{\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/outros-recursos\\\/storage-salvar_dados\\\/#breadcrumblist\"},\"datePublished\":\"2015-04-11T16:45:39-03:00\",\"dateModified\":\"2015-04-19T11:04:59-03:00\"},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/#website\",\"url\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/\",\"name\":\"Gideros Engine\",\"description\":\"Tutoriais para cria\\u00e7\\u00e3o de jogos mobile multiplataformas\",\"inLanguage\":\"pt-BR\",\"publisher\":{\"@id\":\"http:\\\/\\\/www.galirows.com.br\\\/meublog\\\/gideros\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Outros recursos \u2013 storage (salvando de dados) - Gideros Engine","description":"A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja. No c\u00f3digo","canonical_url":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros#listItem","position":1,"name":"Home","item":"http:\/\/www.galirows.com.br\/meublog\/gideros","nextItem":{"@type":"ListItem","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/#listItem","name":"Outros recursos"}},{"@type":"ListItem","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/#listItem","position":2,"name":"Outros recursos","item":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/","nextItem":{"@type":"ListItem","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/#listItem","name":"Outros recursos &#8211; storage (salvando de dados)"},"previousItem":{"@type":"ListItem","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros#listItem","name":"Home"}},{"@type":"ListItem","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/#listItem","position":3,"name":"Outros recursos &#8211; storage (salvando de dados)","previousItem":{"@type":"ListItem","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/#listItem","name":"Outros recursos"}}]},{"@type":"Organization","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/#organization","name":"Gideros Engine","description":"Tutoriais para cria\u00e7\u00e3o de jogos mobile multiplataformas","url":"http:\/\/www.galirows.com.br\/meublog\/gideros\/"},{"@type":"WebPage","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/#webpage","url":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/","name":"Outros recursos \u2013 storage (salvando de dados) - Gideros Engine","description":"A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja. No c\u00f3digo","inLanguage":"pt-BR","isPartOf":{"@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/#website"},"breadcrumb":{"@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/#breadcrumblist"},"datePublished":"2015-04-11T16:45:39-03:00","dateModified":"2015-04-19T11:04:59-03:00"},{"@type":"WebSite","@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/#website","url":"http:\/\/www.galirows.com.br\/meublog\/gideros\/","name":"Gideros Engine","description":"Tutoriais para cria\u00e7\u00e3o de jogos mobile multiplataformas","inLanguage":"pt-BR","publisher":{"@id":"http:\/\/www.galirows.com.br\/meublog\/gideros\/#organization"}}]},"og:locale":"pt_BR","og:site_name":"Gideros Engine - Tutoriais para cria\u00e7\u00e3o de jogos mobile multiplataformas","og:type":"article","og:title":"Outros recursos \u2013 storage (salvando de dados) - Gideros Engine","og:description":"A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja. No c\u00f3digo","og:url":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/","article:published_time":"2015-04-11T19:45:39+00:00","article:modified_time":"2015-04-19T14:04:59+00:00","twitter:card":"summary_large_image","twitter:title":"Outros recursos \u2013 storage (salvando de dados) - Gideros Engine","twitter:description":"A manipula\u00e7\u00e3o de arquivos \u00e9 algo necess\u00e1rio em jogos sempre que precisamos armazenar par\u00e2metros de configura\u00e7\u00e3o do jogo, ou salvar seu progresso. De maneira geral, a manipula\u00e7\u00e3o de arquivos compreende abrir um arquivo, escrever algo, fechar o arquivo, reabri-lo depois e fazer a leitura at\u00e9 o final do arquivo, ou onde se deseja. No c\u00f3digo"},"aioseo_meta_data":[],"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/\" title=\"Outros recursos\">Outros recursos<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tOutros recursos \u2013 storage (salvando de dados)\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"http:\/\/www.galirows.com.br\/meublog\/gideros"},{"label":"Outros recursos","link":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/"},{"label":"Outros recursos &#8211; storage (salvando de dados)","link":"http:\/\/www.galirows.com.br\/meublog\/gideros\/outros-recursos\/storage-salvar_dados\/"}],"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages\/205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/comments?post=205"}],"version-history":[{"count":4,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages\/205\/revisions"}],"predecessor-version":[{"id":241,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages\/205\/revisions\/241"}],"up":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages\/198"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/media?parent=205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}