{"id":2488,"date":"2014-11-30T15:44:22","date_gmt":"2014-11-30T14:44:22","guid":{"rendered":"http:\/\/descartesjs.org\/documentacion\/?p=2488"},"modified":"2021-08-07T16:41:00","modified_gmt":"2021-08-07T15:41:00","slug":"guardar-ficheros","status":"publish","type":"post","link":"https:\/\/reddescartes.org\/documentacion\/guardar-ficheros\/","title":{"rendered":"Guardar ficheros"},"content":{"rendered":"<p>El contenido de una cadena de caracteres puede guardarse en un fichero usando la funci\u00f3n _Save_. As\u00ed pues, toda aquella informaci\u00f3n generada en una escena y que se desee guardar externamente puede archivarse\u00a0sin m\u00e1s que organizarla como una cadena de caracteres y usar dicha funci\u00f3n.<\/p>\n<h4>Guardar un vector en un fichero<\/h4>\n<p>En la escena siguiente (puede descargarla <a href=\"https:\/\/descartesjs.org\/repositorio\/GuardarFiles_JS.zip\">desde aqu\u00ed<\/a>), si en el men\u00fa selecciona la opci\u00f3n \u00abGuardar\u00bb obtendr\u00e1 un fichero, que se guardar\u00e1 en su ordenador, su contenido es una cadena de caracteres que se ha preparado concatenando el contenido de los elementos de un\u00a0vector separ\u00e1ndolos cada uno con el car\u00e1cter \u00abnueva l\u00ednea\u00bb. La ubicaci\u00f3n de almacenamiento\u00a0del fichero se\u00a0gestionar\u00e1 y realizar\u00e1 por el navegador, no es posible gestionarlo desde DescartesJS.<\/p>\n<p style=\"text-align: center;\">\n<!-- iframe plugin v.4.5 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"https:\/\/descartesjs.org\/repositorio\/GuardarFiles_JS\/SaveVector.html\" width=\"500\" height=\"260\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n<\/p>\n<p>La sintaxis de la funci\u00f3n _Save_ es<\/p>\n<p style=\"text-align: center;\">_Save_(<em>fichero<\/em>,<em>texto<\/em>)<\/p>\n<p style=\"text-align: left;\">donde <em>fichero<\/em> es una cadena de caracteres entre comillas simples, o una variable cuyo valor \u00a0es una cadena, que contiene el nombre del fichero que se desea guardar, y <em>texto<\/em> es la cadena de caracteres a\u00a0guardar en ese\u00a0fichero.<\/p>\n<p style=\"text-align: left;\">En la imagen siguiente podemos observar la definici\u00f3n de una funci\u00f3n guardar() que prepara la cadena donde se concatenan los valores del vector denominado vect1.<\/p>\n<div id=\"attachment_2573\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/vector_fichero7.jpg\"><img aria-describedby=\"caption-attachment-2573\" class=\"wp-image-2573 size-full\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/vector_fichero7.jpg\" alt=\"Concatenaci\u00f3n en una cadena de caracteres\" width=\"600\" height=\"381\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/11\/vector_fichero7.jpg 600w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/11\/vector_fichero7-300x190.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-2573\" class=\"wp-caption-text\">Concatenaci\u00f3n en una cadena de caracteres<\/p><\/div>\n<p style=\"text-align: left;\">y en la funci\u00f3n inicializar()<\/p>\n<div id=\"attachment_2574\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/vector_fichero8.jpg\"><img aria-describedby=\"caption-attachment-2574\" class=\"wp-image-2574 size-full\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/vector_fichero8.jpg\" alt=\"Funci\u00f3n _Save_\" width=\"600\" height=\"382\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/11\/vector_fichero8.jpg 600w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/11\/vector_fichero8-300x191.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-2574\" class=\"wp-caption-text\">Funci\u00f3n _Save_<\/p><\/div>\n<p style=\"text-align: left;\">cuando la opci\u00f3n de men\u00fa toma el valor 2 (Guardar) se procede a guardar el texto que se ha preparado en el archivo de nombre &#8216;salida.txt&#8217; seg\u00fan se indica en la instrucci\u00f3n<\/p>\n<p style=\"text-align: center;\">_Save_(&#8216;salida.txt&#8217;, texto)<\/p>\n<p style=\"text-align: left;\">Como alternativa se dispone de una funci\u00f3n espec\u00edfica que nos permite convertir un vector en una cadena, se trata de _VectorToStr_ cuya sintaxis es<\/p>\n<p style=\"text-align: center;\">_VectorToStr_(&#8216;<em>vector<\/em>&#8216;)<\/p>\n<p style=\"text-align: left;\">y donde <em>vector\u00a0<\/em>es el nombre del vector que tendr\u00e1 que ir entre comillas simples. Esta funci\u00f3n concatena la etiqueta &lt;<em>vector<\/em>&gt;, el contenido de los elementos del vector separados por el car\u00e1cter nueva l\u00ednea y finalmente la etiqueta &lt;\/<em>vector<\/em>&gt;. Si se especifica el valor de\u00a0<em>vector<\/em>.long_usada concatenar\u00e1 s\u00f3lo los elementos de\u00a0<em>vector<\/em> cuyo \u00edndice es inferior a ese valor y si no concatena todos los elementos de ese vector.<\/p>\n<p style=\"text-align: left;\">En la siguiente escena puede observarse el resultado de esta funci\u00f3n en un vector denominado V.<\/p>\n<p style=\"text-align: center;\">\n<!-- iframe plugin v.4.5 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"https:\/\/descartesjs.org\/repositorio\/VectorToStr\/index.html\" width=\"320\" height=\"370\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n<\/p>\n<p style=\"text-align: center;\">(puede descargarla <a href=\"https:\/\/descartesjs.org\/repositorio\/VectorToStr.zip\">desde aqu\u00ed<\/a>)<\/p>\n<h4 style=\"text-align: left;\">Guardar una matriz en un fichero<\/h4>\n<p>De manera an\u00e1loga pueden guardarse los elementos de una matriz sin m\u00e1s que concatenarlos en una cadena de caracteres y usar la funci\u00f3n _Save_ descrita anteriormente. Es la opci\u00f3n segunda en la escena siguiente, la cual puede descargar <a href=\"https:\/\/descartesjs.org\/repositorio\/GuardarMatrix_JS.zip\">desde aqu\u00ed<\/a>.<\/p>\n<p style=\"text-align: center;\">\n<!-- iframe plugin v.4.5 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"https:\/\/descartesjs.org\/repositorio\/GuardarMatrix_JS\/index.html\" width=\"640\" height=\"260\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n<\/p>\n<p style=\"text-align: left;\">Tambi\u00e9n se dispone de una funci\u00f3n an\u00e1loga que convierte una matriz en una cadena _MatrixToStr_ cuya sintaxis es<\/p>\n<p style=\"text-align: center;\">_MatrixToStr_(&#8216;<em>matriz<\/em>&#8216;)<\/p>\n<p style=\"text-align: left;\">donde pueden usarse las variables\u00a0<em>matriz<\/em>.filas_usadas y\u00a0<em>matriz<\/em>.columnas_usadas para restringir el rango de elementos que se desean guardar en dicha cadena. Es lo programado en la opci\u00f3n tercera del men\u00fa de la escena anterior. En ella, al seleccionar esa opci\u00f3n, se ejecuta una funci\u00f3n que se ha denominado MatrixToStr() y cuya definici\u00f3n es la reflejada en la siguiente imagen.<\/p>\n<div id=\"attachment_2527\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS.jpg\"><img aria-describedby=\"caption-attachment-2527\" class=\"size-full wp-image-2527\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS.jpg\" alt=\"Guardar una matriz con _MatrixToStr_\" width=\"600\" height=\"381\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS.jpg 600w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS-300x190.jpg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-2527\" class=\"wp-caption-text\">Guardar una matriz con _MatrixToStr_<\/p><\/div>\n<p style=\"text-align: left;\">El fichero que se genera para \u00a0la matriz<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS3.jpg\"><img class=\"aligncenter size-full wp-image-2529\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS3.jpg\" alt=\"MtoS3\" width=\"151\" height=\"68\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS3.jpg 151w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS3-150x68.jpg 150w\" sizes=\"(max-width: 151px) 100vw, 151px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">es<\/p>\n<div id=\"attachment_2528\" style=\"width: 122px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS2.jpg\"><img aria-describedby=\"caption-attachment-2528\" class=\"size-full wp-image-2528\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/11\/MtoS2.jpg\" alt=\"fichero generado con _MatrixToStr_\" width=\"112\" height=\"137\" \/><\/a><p id=\"caption-attachment-2528\" class=\"wp-caption-text\">fichero generado con _MatrixToStr_<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>El contenido de una cadena de caracteres puede guardarse en un fichero usando la funci\u00f3n _Save_. As\u00ed pues, toda aquella informaci\u00f3n generada en una escena y que se desee guardar externamente puede archivarse\u00a0sin m\u00e1s que organizarla como una cadena de caracteres y usar dicha funci\u00f3n. Guardar un vector en un fichero En la escena siguiente (puede descargarla desde aqu\u00ed), si en el men\u00fa selecciona la opci\u00f3n \u00abGuardar\u00bb obtendr\u00e1 un fichero, que se guardar\u00e1 en su ordenador, su contenido es una cadena de caracteres que se ha preparado concatenando el contenido de los elementos de un\u00a0vector separ\u00e1ndolos cada uno con el<\/p>\n<a class=\"more-link\" rel=\"nofollow\" href=\"https:\/\/reddescartes.org\/documentacion\/guardar-ficheros\/\">[Leer m\u00e1s...]<\/a>","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[40],"tags":[],"_links":{"self":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/2488"}],"collection":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/comments?post=2488"}],"version-history":[{"count":20,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/2488\/revisions"}],"predecessor-version":[{"id":3521,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/2488\/revisions\/3521"}],"wp:attachment":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/media?parent=2488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/categories?post=2488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/tags?post=2488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}