#N canvas 333 32 950 774 12;
#X obj 37 25 cnv 15 400 40 empty empty Arquivos: 20 12 0 24 -262144
-66577 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array array1 100 float 4;
#X coords 0 1 99 -1 200 140 1;
#X restore 609 413 graph;
#X obj 550 328 send array1;
#X obj 553 679 send array1;
#X text 504 370 O comando "read" carrega arquivos de texto (.txt) na
tabela.;
#X text 521 568 Podemos também salvar esse conteúdo em um arquivo de
texto com o comando "write". Clique em qualquer uma das mensagens abaixo
\, e veja que assim criamos um novo arquivo de texto na mesma pasta
deste patch.;
#X msg 732 658 \; array1 write table2.txt;
#X msg 550 302 read ./table.txt;
#X text 40 162 De uma forma tosca \, podemos especificar o caminho
completo de um arquivo \, mas isso é muito trabalhoso \, e uma forma
mais inteligente pode apenas indicar arquivos que \, supostamente \,
estão na mesma pasta que o patch!;
#X msg 184 298 read table.txt;
#X text 37 237 Vejamos o caso do objeto [textfile] \, que lida com
arquivos de texto;
#X text 44 392 Aqui o objeto tenta ler um arquivo "table.txt" que esteja
na mesma pasta que este patch.;
#X obj 160 332 textfile;
#X obj 160 359 print;
#X msg 128 270 rewind;
#X obj 128 297 t b a;
#X text 41 431 Por causa do [trigger] \, a mensagem rewind é seguida
de um bang \, que faz o objeto ler o arquivo.;
#X obj 179 564 textfile;
#X obj 179 591 print;
#X msg 147 493 rewind;
#X obj 147 523 t b a;
#X msg 203 523 read ./table.txt;
#X text 694 317 =;
#X msg 725 308 \; array1 read table.txt;
#X text 497 246 Vamos então carregar o mesmo arquivo "table.txt" que
está no mesma pasta que este patch em um tabela!;
#X msg 553 653 write ./table2.txt;
#X text 703 669 =;
#X text 49 640 O "./" (ponto e barra) deixa explícito que o arquivo
deve estar na mesma pasta que este patch. Sem essa sintaxe \, fica
implícito que o arquivo esteja na mesma pasta. Mas com "pontos" e "barras"
podemos acessar as subpastas da pasta em qual o patch está \, e também
a pasta do diretório acima (diretório "pai") e suas respectivas subpastas!
Mais sobre diretórios de Arquivos no próximo patch.;
#X text 489 202 Os dados de um Array podem Gravados e Lidos de Arquivos
de Texto!;
#X text 486 87 ============================================================
;
#X text 486 162 ============================================================
;
#X text 499 115 Veja também o objeto;
#X obj 653 116 msgfile;
#X text 718 114 que possui mais recursos;
#X text 500 141 que o [textfile];
#X text 44 87 O Puredata pode lidar com diversos tipos de arquivos.
O mais importante é saber especificar nas mensagens onde exatamente
estão esses arquivos. Para isso \, existe uma sintaxe especial.;
#X text 497 34 O objeto [textfile] pode ler \, gerar e gravar arquivos
de texto \, leia o help para maiores informações!;
#X connect 7 0 2 0;
#X connect 9 0 12 0;
#X connect 12 0 13 0;
#X connect 14 0 15 0;
#X connect 15 0 12 0;
#X connect 15 1 12 0;
#X connect 17 0 18 0;
#X connect 19 0 20 0;
#X connect 20 0 17 0;
#X connect 20 1 17 0;
#X connect 21 0 17 0;
#X connect 25 0 3 0;
