|
Página 1 de 1
|
[ 16 Mensagens ] |
|
Como quebrar linha de um string? [RESOLVIDO]
| Autor |
Mensagem |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Como quebrar linha de um string? [RESOLVIDO]
Pessoal, estou gravando um texto no android, mais não esta quebrando a linha O codigo é este public static void Calculate_Time (int indexClick ) { tempoDecorrido = (MilliSeconds () - tempoInicio ); // tem que subtrair // pelo tempo listaTempo = listaTempo + String. valueOf(tempoDecorrido ) + " - " + String. valueOf(indexClick ) + "\r\n"; // "n" é quebra de linha } O codigo pra gravar e ler no cartão do android peguei aqui no forum e esta gravando normal apenas não quebra a linha como preciso import java. io. BufferedReader; import java. io. File; import java. io. FileOutputStream; import java. io. FileReader; import java. io. IOException; import android. os. Environment; /** * Gravar e Ler Arquivo Texto no SD do SmartPhone<br> * Os Arquivos serão gravados no cartão na Pasta "Android/data/seuPacote/cache" * assim quando desinstalar a Aplicação o conteudo será removido * * @author Felipe Cobello * */public class WriteAndRead { private File regFile; /** * Cria uma Nova Instancia da Classe * @param packageName Nome do Pacote Principal * @param fileName Nome do arquivo que sera criado * @throws IOException */ public WriteAndRead (String packageName, String fileName ) throws IOException { regFile = new File(Environment. getExternalStorageDirectory(). getPath() + "/Android/data/" + packageName + "/cache/" + fileName ); if(!regFile. getParentFile(). exists()) regFile. mkdirs(); if(!regFile. exists()) regFile. createNewFile(); } /** * Grava o Arquivo * @param texto Texto a ser gravado no Arquivo * @throws IOException */ public void writeFile (String texto ) throws IOException { FileOutputStream file; if(regFile. canWrite()) { file = new FileOutputStream(regFile ); file. write(texto. getBytes()); file. close(); } } /** * Lê o arquivo * @return Conteudo do Arquivo * @throws IOException */ public String readFile () throws IOException { StringBuilder retorno = new StringBuilder (); FileReader reader; BufferedReader br; String line; reader = new FileReader(regFile ); br = new BufferedReader(reader ); while((line = br. readLine()) != null) retorno. append(line ); br. close(); reader. close(); return retorno. toString(); }} Obrigado.
Editado pela última vez por adriano_servitec em 12 Out 2012, 10:43, num total de 1 vezes
|
| 05 Out 2012, 12:50 |
|
 |
|
rafaeldecker
Android Guru
Data de registro: 28 Jan 2011, 10:42 Mensagens: 795 Localização: Rio Grande do Sul
|
 Re: Como quebrar linha de um string?
Se tu estiveres utilizando TextView para mostrar, tu podes configurá-lo para interpretar HTML. Dá um replace na tua String e troca o \n por <br /> No teu textView, seta o texto utilizando formato HTML: text.setText(Html.fromHtml("Test <br />Test");
Abraço
|
| 05 Out 2012, 13:25 |
|
 |
|
A H Gusukuma
Dalvik Virtual Machine
Data de registro: 17 Jul 2011, 10:55 Mensagens: 2023 Localização: São Paulo
|
 Re: Como quebrar linha de um string?
Olá Na leitura do arquivo acrescenta os caracteres de quebra de linha no StringBuilder.
_________________Abraços ___________ Novo App: CalcMat - Calculadora de materiais para concreto Blog: Agorandroid - sobre programação Android Twitter: @Agorandroid ___________ Campanha: Facilite sua vida e a dos outros usuários Netiqueta:Procure responder as sugestões. Quando encontrar a solução, coloque [Resolvido] no primeiro post o mais rápido possível. Lembre-se de agradecer às pessoas que ajudaram e poste a solução do problema.
|
| 05 Out 2012, 20:35 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
Obrigado pessoal, agora meu problema é outro, não consigo gravar o texto Vejam como esta meu projeto A classe que eu estou usando para gravar package br. com. couldsys. drumspro; import java. io. BufferedReader; import java. io. File; import java. io. FileOutputStream; import java. io. FileReader; import java. io. IOException; import android. os. Environment; /** * Gravar e Ler Arquivo Texto no SD do SmartPhone<br> * Os Arquivos serão gravados no cartão na Pasta "Android/data/seuPacote/cache" * assim quando desinstalar a Aplicação o conteudo será removido * * @author Felipe Cobello * */public class WriteAndRead { private File regFile; /** * Cria uma Nova Instancia da Classe * * @param packageName * Nome do Pacote Principal * @param fileName * Nome do arquivo que sera criado * @throws IOException */ public WriteAndRead (String packageName, String fileName ) throws IOException { regFile = new File(Environment. getExternalStorageDirectory(). getPath() + "/Android/data/" + packageName + "/cache/" + fileName ); if (!regFile. getParentFile(). exists()) regFile. mkdirs(); if (!regFile. exists()) regFile. createNewFile(); } /** * Grava o Arquivo * * @param texto * Texto a ser gravado no Arquivo * @throws IOException */ public void writeFile (String texto ) throws IOException { FileOutputStream file; if (regFile. canWrite()) { file = new FileOutputStream(regFile ); file. write(texto. getBytes()); file. close(); } } /** * Lê o arquivo * * @return Conteudo do Arquivo * @throws IOException */ public String readFile (String texto ) throws IOException { StringBuilder retorno = new StringBuilder (); FileReader reader; BufferedReader br; String line; reader = new FileReader(regFile ); br = new BufferedReader(reader ); while ((line = br. readLine()) != null) retorno. append(line ); br. close(); reader. close(); return retorno. toString(); }} Outra classe que eu uso aqui envolvido também package br. com. couldsys. drumspro; import java. util. Calendar; public class RecordSound { static long tempoInicio = 0; static long tempoDecorrido = 0; static String listaTempo; // Método de retorno milisegundos calcula milisegundos public static long MilliSeconds () { // get Calendar instance Calendar now = Calendar. getInstance(); return now. getTimeInMillis(); } // Calcula o tempo para gravar o index do sound public static void Calculate_Time (int indexClick ) { tempoDecorrido = (MilliSeconds () - tempoInicio ); listaTempo = listaTempo + String. valueOf(tempoDecorrido ) + " - " + String. valueOf(indexClick ) + ";"; } // Utilizamos este método num botão record public static void Start_Time () { // pega o tempo do milisegundos inicial tempoInicio = RecordSound. MilliSeconds(); // limpa a string para não ficar lixo listaTempo = ""; } // Utilizamos este método num botão stop public static String Stop_Time () { // zera o tempo do milisegundos tempoInicio = 0; return listaTempo; }} E aonde estou chamando case R. id. pauseSound: // chama o método stop da classe RecordSound String arquivo = RecordSound. Stop_Time(); System. out. println("Codigos gravados.:"+arquivo ); // pra ver no log WriteAndRead objGravar; try { System. out. println("Entrou no objGravar"); // pra ver no log objGravar = new WriteAndRead ("br.com.couldsys.drumspro", "GravaSound.txt"); System. out. println("Caminho do arquivo.:"+objGravar ); // pra ver no log objGravar. writeFile(arquivo ); } catch (IOException e ) { e. printStackTrace(); } break; } Coloquei alguns logs pra ver até aonde vai e pelo visto não entra aqui objGravar = new WriteAndRead("br.com.couldsys.drumspro", "GravaSound.txt"); O que não estou entendendo, no LogCat esta trazendo o que quero gravar, igual mostra nesta linha System. out. println("Codigos gravados.:"+arquivo ); // pra ver no log  Mais na pasta do path aparece o GravaSound.txt só que nada dentro, esta vazio. Falta mais alguma coisa ainda? Sendo que existe um texto para ser gravado? Obrigado.
|
| 06 Out 2012, 09:54 |
|
 |
|
A H Gusukuma
Dalvik Virtual Machine
Data de registro: 17 Jul 2011, 10:55 Mensagens: 2023 Localização: São Paulo
|
 Re: Como quebrar linha de um string?
Olá Verifica que o seu app está cancelando, com FileNotFoundException, verifica a linha do erro no seu pgm. Deve ser pelo fato de você estar criando o arquivo como diretório. checa isso.
_________________Abraços ___________ Novo App: CalcMat - Calculadora de materiais para concreto Blog: Agorandroid - sobre programação Android Twitter: @Agorandroid ___________ Campanha: Facilite sua vida e a dos outros usuários Netiqueta:Procure responder as sugestões. Quando encontrar a solução, coloque [Resolvido] no primeiro post o mais rápido possível. Lembre-se de agradecer às pessoas que ajudaram e poste a solução do problema.
|
| 06 Out 2012, 12:05 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
A H Gusukuma escreveu: Olá Deve ser pelo fato de você estar criando o arquivo como diretório. checa isso. Engraçado, mudei o codigo try { objGravar = new WriteAndRead( "br.com.couldsys.drumspro", "GravaSound.TXT"); colocanco TXT em maiusculo e funcionou, será que tem que ser desta forma? Da forma anterior txt (minusculo) estava criando como uma pasta.
|
| 06 Out 2012, 14:01 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
O que estou precisando agora é saber como pego parte do txt, o texto ja estou pegando usando assim O texto pode variar, mais tem duas separação, o primeiro numero é separado do segundo numero por um "-" (traço) que depois é separado por uma "," (Virgula) Citação: 549-8,1019-9,1404-3,1764-3,2208-10,2593-5,2938-9,3264-6,3700-0,4174-7,4585-8,4840-2,5192-9,5540-10,5932-0, Algo + ou - assim String[] parte1 = conteudotexto. split(","); e em seguida String[] parte2 = parte1 [0]. split("-"); A regra que estou tentando fazer é: Rodar dentro de um while o metodo de milisegundos que fiz e postei aqui no forum e comparar com a primeira parte do texto Tipo Se valor_milissegundos for igual a primeira parte do numero do texto então --->entra e roda a função playSound(com o segundo numero do texto); ------>vai para o proximo numero do texto no loop, captura o segundo numero do texto e compara com o milissegundos, se for igual entra no bloco IF e captura o segundo numero apos o traço, e assim por diante, até chegar ao final do texto.Espero que tenha entendido minha duvida e alguém mostre o caminho como fazer isso. Obrigado.
|
| 06 Out 2012, 15:36 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
Se eu postar o código feito em delphi será que alquem sabe converter para java? É que eu sou muito fraco em java, mais estou me esforçando para aprender. Desculpe postar o codigo em delphi mais é a unica forma que da pra eu mostrar o que preciso em forma de codigo, e talvez alguém aqui saiba programar nas duas linguas e converte pra mim o que estou querendo. Segue o exemplo procedure TForm1.Button1Click(Sender: TObject); var Lista: TStringList; i, Tempo, TempoAnt: integer; begin Lista := TStringList.Create; try Lista.CommaText := StringReplace('549-8,1019-9,1404-3,1764-3,2208-10,2593-5,2938-9,3264-6,3700-0,4174-7,4585-8,4840-2,5192-9,5540-10,5932-0', '-', '=', [rfReplaceAll]); //aqui é o que esta no arquivo txt no caso bsuca o valor de lá é só um exemplo Tempo := 0; //zero a variavel for i := 0 to Lista.Count - 1 do //faço um loop de tudo que contem na lista TXT begin TempoAnt := Tempo; //a variavel tempant recebe a variavel tempo Tempo := StrToInt(Lista.Names[i]) - TempoAnt; //Sleep(10); Showmessage(Lista.Values[Lista.Names[i]]); //aqui mostra o segundo numero end; finally Lista.Free; end; end;
|
| 10 Out 2012, 00:27 |
|
 |
|
A H Gusukuma
Dalvik Virtual Machine
Data de registro: 17 Jul 2011, 10:55 Mensagens: 2023 Localização: São Paulo
|
 Re: Como quebrar linha de um string?
Olá Como você conhece outra linguagem de programação, você precisa saber o equivalente do que você quer fazer em java, então se você investir algumas horas para dar uma boa estudada no Java vai ganhar muitas horas para programar android. veja se isso ajuda: String conteudoTexto= "549-8,1019-9,1404-3,1764-3,2208-10,2593-5,2938-9,3264-6,3700-0,4174-7,4585-8,4840-2,5192-9,5540-10,5932-0"; String[] parte1 = conteudoTexto. split(","); for(int i= 0; i<parte1. length; i++ ) { String[] parte2 = parte1 [i ]. split("-"); System. out. println(parte2 [0] + " " + parte2 [1] ); int a = Integer. parseInt(parte2 [0]); // converte para int int b = Integer. parseInt(parte2 [1]); // converte para int }
_________________Abraços ___________ Novo App: CalcMat - Calculadora de materiais para concreto Blog: Agorandroid - sobre programação Android Twitter: @Agorandroid ___________ Campanha: Facilite sua vida e a dos outros usuários Netiqueta:Procure responder as sugestões. Quando encontrar a solução, coloque [Resolvido] no primeiro post o mais rápido possível. Lembre-se de agradecer às pessoas que ajudaram e poste a solução do problema.
|
| 10 Out 2012, 03:41 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
Obrigado A H Gusukuma, agora em novembro estarei com mais tempo para pegar melhor o java.
|
| 10 Out 2012, 09:50 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
Pessoal, eu quase consegui fazer o que eu quero, mais ainda não esta certo Vejam o codigo private void LerArquivo () { String lstrNomeArq; File arq; try { // pega o nome do arquivo a ser lido lstrNomeArq = "/Android/data/br.com.couldsys.drumspro/cache/GravaSound.rt"; // limpa a caixa de texto que irá receber os dados do arquivo String conteudoTexto = null; arq = new File(Environment. getExternalStorageDirectory(), lstrNomeArq ); BufferedReader br = new BufferedReader(new FileReader(arq )); // pega o conteudo do arquivo texto conteudoTexto = br. readLine(); String[] parte1 = conteudoTexto. split(","); tempoInicio = RecordSound. MilliSeconds(); //aqui a variavel recebe o valor do milissegundo // chama o método start da classe RecordSound tempoDecorrido = (RecordSound. MilliSeconds() - tempoInicio ); //variavel recebe o calculo int i = 0; //faço um while while (i < parte1. length) { String[] parte2 = parte1 [i ]. split("-"); System. out. println(parte2 [1]); // ver o log int capturaTempo = Integer. parseInt(parte2 [0]); // converte // para // int int capturaIndex = Integer. parseInt(parte2 [1]); // converte // para // int System. out. println("Tempos " + tempoDecorrido + " = " + capturaTempo ); /*Aqui é que ta o negocio, quero comparar a variavel tempoDecorrido com capturaTempo, e se for igual executa o playSound e vai para o proximo no while. */ if (tempoDecorrido == capturaTempo ) { vsm. playSound(capturaIndex ); i = i + 1; } else { //se não o tempoDecorrido muda para o proximo e começa de novo. tempoDecorrido = (RecordSound. MilliSeconds() - tempoInicio ); } //aqui nesta linha é meu problema, quero algo para quando terminar o texto sair do while, ai tive esta idéia ai, mais não esta funcionando corretamente. if (tempoDecorrido > capturaTempo ) { break; } } } catch (Exception e ) { trace ("Erro : " + e. getMessage()); } } Outra coisa, alguém sabe informar se preciso colocar este codigo numa thread? Se tiver, poderia alguém mostrar como é feito? Sou muito novato na linguagem java. Obrigado.
|
| 10 Out 2012, 23:47 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
Verifiquei que o problema esta aqui nesta linha dentro do while } else { //se não o tempoDecorrido muda para o proximo e começa de novo. tempoDecorrido = (RecordSound.MilliSeconds() - tempoInicio); } Quando passa por esta linha tem horas que ele esta com valor acima (pulando), e ai para (Break) como tem que fazer mesmo, mais o probelma é que não chegou no fim do texto. Aqui System. out. println("Tempos " + tempoDecorrido + " = " + capturaTempo ); Olhando o Logcat vi assim dentro do while  Se vcs repararem tem ai 1817 1836 E neste caso pulou um monte ne numero por isso no if não comparou e como é maior que o valor que esta fazendo então parou ai, mais tenho mais valores dentro do texto. E agora, quero saber se isso deve ser pq fiz o codigo fora de um thread, e se eu fizer num thread será que vai funcionar? Segue ai a forma que agora esta a procedure private void LerArquivo () { String lstrNomeArq; File arq; try { // pega o nome do arquivo a ser lido lstrNomeArq = "/Android/data/br.com.couldsys.drumspro/cache/GravaSound.txt"; // limpa a caixa de texto que irá receber os dados do arquivo String conteudoTexto = null; arq = new File(Environment. getExternalStorageDirectory(), lstrNomeArq ); BufferedReader br = new BufferedReader(new FileReader(arq )); // pega o conteudo do arquivo texto conteudoTexto = br. readLine(); System. out. println("Conteudo do texto " + conteudoTexto ); // pra ver // no // log String[] parte1 = conteudoTexto. split(","); tempoInicio = RecordSound. MilliSeconds(); // chama o método start da classe RecordSound tempoDecorrido = (RecordSound. MilliSeconds() - tempoInicio ); int i = 0; while (i < parte1. length) { String[] parte2 = parte1 [i ]. split("-"); System. out. println(parte2 [1]); // ver o log int capturaTempo = Integer. parseInt(parte2 [0]); // converte // para // int int capturaIndex = Integer. parseInt(parte2 [1]); // converte // para // int System. out. println("Tempos " + tempoDecorrido + " = " + capturaTempo ); if (tempoDecorrido > capturaTempo ) { break; } else { if (tempoDecorrido == capturaTempo ) { vsm. playSound(capturaIndex ); i++; } else { tempoDecorrido = (RecordSound. MilliSeconds() - tempoInicio ); } } } } catch (Exception e ) { trace ("Erro : " + e. getMessage()); } } Obrigado.
|
| 11 Out 2012, 19:07 |
|
 |
|
A H Gusukuma
Dalvik Virtual Machine
Data de registro: 17 Jul 2011, 10:55 Mensagens: 2023 Localização: São Paulo
|
 Re: Como quebrar linha de um string?
Olá Troca essa parte: if (tempoDecorrido > capturaTempo) { break;
} else { if (tempoDecorrido == capturaTempo) { vsm.playSound(capturaIndex); i++; } else { tempoDecorrido = (RecordSound.MilliSeconds() - tempoInicio); } }
Por isso: tempoDecorrido = (RecordSound.MilliSeconds() - tempoInicio); if (tempoDecorrido == capturaTempo) { vsm.playSound(capturaIndex); i++; } else if (tempoDecorrido > capturaTempo) { i++; }
_________________Abraços ___________ Novo App: CalcMat - Calculadora de materiais para concreto Blog: Agorandroid - sobre programação Android Twitter: @Agorandroid ___________ Campanha: Facilite sua vida e a dos outros usuários Netiqueta:Procure responder as sugestões. Quando encontrar a solução, coloque [Resolvido] no primeiro post o mais rápido possível. Lembre-se de agradecer às pessoas que ajudaram e poste a solução do problema.
|
| 11 Out 2012, 21:18 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
Olá A H Gusukuma, muito obrigado pela ajuda. Melhorou bastante, mais anida existe horas que pula o tempo e não executa, um exemplo é este aqui da imagem, e ainda não descubri porque ele pula assim. 
|
| 12 Out 2012, 00:58 |
|
 |
|
A H Gusukuma
Dalvik Virtual Machine
Data de registro: 17 Jul 2011, 10:55 Mensagens: 2023 Localização: São Paulo
|
 Re: Como quebrar linha de um string?
então coloca assim: tempoDecorrido = (RecordSound.MilliSeconds() - tempoInicio); if (tempoDecorrido >= capturaTempo) { vsm.playSound(capturaIndex); i++; }
_________________Abraços ___________ Novo App: CalcMat - Calculadora de materiais para concreto Blog: Agorandroid - sobre programação Android Twitter: @Agorandroid ___________ Campanha: Facilite sua vida e a dos outros usuários Netiqueta:Procure responder as sugestões. Quando encontrar a solução, coloque [Resolvido] no primeiro post o mais rápido possível. Lembre-se de agradecer às pessoas que ajudaram e poste a solução do problema.
|
| 12 Out 2012, 01:18 |
|
 |
|
adriano_servitec
Anatomy of an App
Data de registro: 05 Nov 2011, 14:30 Mensagens: 170
|
 Re: Como quebrar linha de um string?
A H Gusukuma escreveu: então coloca assim: tempoDecorrido = (RecordSound.MilliSeconds() - tempoInicio); if (tempoDecorrido >= capturaTempo) { vsm.playSound(capturaIndex); i++; } Agora sim A H Gusukuma deu certo, muito obrigado por ajudar. Que Deus ti de graças sempre.ja estou estudando as apostilas do Caelum.
|
| 12 Out 2012, 10:43 |
|
|
|
Página 1 de 1
|
[ 16 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: aechiara, afpcp, Alessandro Tavares, alexsander.miranda, Alexsandro Tirloni, aluclinux, alylson, Anderson MarkZ, ANDRE FELIX DE ASSIS, arilsonm, axellsan, baudamix, Berbert, berchielli, BloggerCaOS, bravus, brenno, BrunoO, btminzon, caiodemarco, cariabs8, carlos.macleod, chunga, ciro, Clone Trooper, dalmeidabr, Darkluna, David, deborazb, Demerval, digiwise, DITÃO, dmd, dobau, dramos, dreyer, e-azuos, edson dias de gusmao, edwarvelarde, elisa, emersonbarros, estratecnologia, everaldo, eXagon, Felipe Marcondes, FelipeOliveira, Fernando Cardia, fernandodotnet, fgalvão, Flavio, flaviocc, flaviojps, Flávio Robertgo, frances135, Gabriel, geeks, germanno, gfgodoy, Gnomo, gphonemania, guiba_picolino, Guilherme, gutodias, HanNiBaLSeTDf, hebert, henrique.cardoso, henrique.garcia, ICCrawler - ICjobs, Ielo8, ismaelbpaiva, itsN, jackstuard, Jango Fett, Javanês, julianafsa, julianofischer, Juliobcosta, juliomar, JuniorE, Juniorvs, kecyobarros, Ki-Adi-Mundi, klausenner, Knut, kusanaguy, leofernandesmo, leonardodamata, lfirpo, lucasB, luiz.lago, Mace Windu, mapis, MARCIOHG, marcow, Marlosm, marlovich, masf_33, mlemos, MSN NewsBlogs, MSPRAFAEL, nakahara, nardosnt, neiesc, nivaldo, Obi-Wan Kenobi, Odigooogle™, On_7, otpor, paint-horse, Patrick, paulanegreiros, pbcjunior, pfsmorigo, pgbatera, PicsearchDroid, poponeis, Portal Android, rbenatti, regis.ror, ricdigital, roberto caceres, Robson Florentino, RodReis, rogerio.alcantara, Rogério, rubens_olv, Samuka, sandro, sasuke_sarutobi, Shaman286, shazaum, shibutani, Teodoro, Thiago, ThiMatsu, tiago, ton.soares, tonylock, vanmars, Vector, W3 [Sitesearch], WiseNut, xa:=zin, zorba e 1 visitante |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|