Ir ao conteúdo
  • Cadastre-se

Edinaldo Cavalcante

Membro Júnior
  • Posts

    16
  • Cadastrado em

  • Última visita

Tudo que Edinaldo Cavalcante postou

  1. Prezados, Estou utilizando um script para envio de e-mails que utiliza o "Google Planilhas" como banco de dados cujas linhas contém campos de mesclagem para um texto padrão. Ao executar o referido script, o programa verifica se o e-mail foi enviado com sucesso ou não, se foi enviado imprime um "OK" na primeira coluna, caso contrário, imprime "Failed". O Problema é que ao adicionar mais linhas e executar o script novamente, o programa envia e-mails também para os que já tinham sido enviados, ou seja, para mim é interessante que não enviasse novamente e-mails para os que já foram marcados como "OK". Segue abaixo o referido script: function runMailMerge() { //set up the status column, so it's blank, and pink var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data to be merged"); //used later in updating the status box var totalRows=sheet.getMaxRows(); var range=sheet.getRange(2,1,totalRows,1); var failed=false; range.clearContent(); range.setBackgroundRGB(230,153,153); if (totalRows>25) Browser.msgBox("It will take some time to send all these emails. There are more than 25 rows, so we're using the slower mode, to send as many as possible. See the Instructions and Settings sheet for details."); ScriptProperties.setProperty('newLine',"<br><br>"); settingsDataRange=setProperties(); var mergeDataValues=getMergeDataValues(); var arrayOfTags=mergeDataValues[0]; //gets the first row var attachmentArray=getAttachmentArray(settingsDataRange); var attachmentFiles = Array(); for (var i=0; i<attachmentArray.length; i++) { var filename=DocsList.getFileById(attachmentArray[i]); attachmentFiles.push(filename); } //run through the remaining rows for (i=1; i<mergeDataValues.length; i++) { //loops through the rows in the merge sheet. Misses 0, which is column headings try { var thisEmailAddress=mergeDataValues[i][1]; var thisEmailText=ScriptProperties.getProperty('genericEmailText'); var thisEmailSubject=ScriptProperties.getProperty('subject'); var arrayOfValues=mergeDataValues[i]; for (j=1; j<arrayOfTags.length; j++) { //loops through the columns var replaceData=arrayOfValues[j]; var tag=ScriptProperties.getProperty('before')+arrayOfTags[j]+ScriptProperties.getProperty('after'); while (thisEmailText.search(tag)>=0) { //loop through, to ensure we replace every occurence of "tag" thisEmailText=thisEmailText.replace(tag,arrayOfValues[j]); thisEmailSubject=thisEmailSubject.replace(tag,arrayOfValues[j]); } } thisEmailText=thisEmailText.replace(/\n/g,"<br>"); //ensure any linebreaks from Google doc are carried to the HTML version. The /g means all occurences. //create a plain text version, by swapping <br> for \n, and stripping any other HTML tags var plainEmailText=thisEmailText.replace(/<br>/g,"\n"); plainEmailText=stripHTML(plainEmailText); var advancedArgs = {htmlBody:thisEmailText, name:ScriptProperties.getProperty('senderName'), replyTo:ScriptProperties.getProperty('replyTo'), attachments:attachmentFiles }; MailApp.sendEmail(thisEmailAddress,thisEmailSubject, plainEmailText, advancedArgs); var range=sheet.getRange(i+1,1); //Browser.msgBox(thisEmailAddress); if (totalRows>25) Utilities.sleep(500); range.setValue("OK"); range.setBackground("LightGreen"); } //end of the try section catch(e){ var range=sheet.getRange(i+1,1); range.setValue("Failed"); range.setBackground("Red"); failed=true; } //end of the catch section } //end of the loop, looping through all the rows if (failed) { Browser.msgBox("Oops","Not all your emails were sent ok. Please check the Data to be Merged sheet to see which were sent OK and which failed.",Browser.Buttons.OK); } else { Browser.msgBox("All done!","All your emails have been sent",Browser.Buttons.OK); } } Dessa forma, o que posso alterar no código acima para que sejam enviado e-mail apenas para as linhas que ainda não foram processadas? Agradeço desde já qualquer ajuda.
  2. @The gaymons Ao The gaymons, Desculpa a demora, só hoje vi sua resposta. Abri novamente a TV e vi que realmente saem 2 (dois) flats da placa principal para a t-con. Acredito que o display da sua TV danificada deve servir para a minha TV, sendo assim, pergunto: quanto você quer pela sua TV para eu poder aproveitar o display? Para visualizar, segue a foto da placa principal da minha TV com seus respectivos flats.
  3. No meu caso, fiz um orçamento do valor do reparo e, na época (09/2017), ficou em torno de R$ 1700,00. Esse é quase o valor que paguei na tv (R$ 1899,00).
  4. Estou usando o 7-zip, porém quando peço para extrair o primeiro zip o programa só extrai uma pasta com o conteúdo desse zip (pasta com cerca de 2Gb, sendo que o total é cerca de 108Gb), assim tenho que ir descompactando os zip's de um a um.
  5. Olá a todos, Fiz o download um pacote de vídeo aulas do Google Drive e, como o tamanho da pasta é muito grande (cerca de 108Gb), foram baixados vária partes zipadas com cerca de 2Gb cada uma com terminação sequencial numérica com ".zip" (xxxxxxxxxxx001.zip; xxxxxxxxxxx002.zip; xxxxxxxxxxx003.zip; ... ;xxxxxxxxxxx054.zip). Estas partes podem ser descompactadas uma a uma separadamente, mas pelo que vi elas não seguem uma sequência lógica de arquivos, ou seja, os vídeos ficaram espalhados, sendo que o que eu quero é uma forma de descompactar tudo de uma vez de forma que a organização dos arquivos fique da mesma forma que está no Google Drive. Diante do exposto pergunto: Há algum programa possa descompactar esses arquivos de modo que fiquem na mesma sequência da pasta original. Agradeço desde já a ajuda.
  6. Obrigado vtrx pela resposta. Acontece que a tela trincou porque meu filho, de 2 anos, jogou um brinquedo nela, então terei de comprar mesmo. Mas pelo código que você me passou vou tentar encontrar. Se souber de alguma empresa que trabalhe com vendas de telas e que possa encontrar esse modelo, pode me indicar. Mais uma vez obrigado pela atenção e disponibilidade.
  7. Opa vtrx, O modelo da TV é 42LB6500. O modelo da tela, pelo que vi depois de abrir a tampa traseira da TV é: LC420DUH.ABGP2. Número de série: 420E3Q2P13564. P/N: ALA30500001. B/L: KDXB24PP. Segue imagem da etiqueta da tela para melhor visualização.
  8. Pessoal, Estou com uma TV LG de 42", led, que está com a tela trincada. Pretendo substituí-la mas não sei onde encontrar a tela para comprar, já tentei na assistência técnica da cidade onde moro mas eles não tem, já tentei no MercadoLivre e também não achei a tela que preciso. Por esse motivo solicito orientação de vocês que são da área para sugerir onde posso encontrar e comprar a referida tela. Desde já agradeço à atenção e disponibilidade.
  9. Opa, fiz a placa de circuito usando o esquema acima e está funcionando muito bem.
  10. Obrigado Dif pela sua ajuda! agora o código está funcionando! Muito bom esse serviço do jsfiddle: é possível ver o código funcionando on line sem necessitar baixar o arquivo, isso é muito útil, eu não conhecia esse serviço.
  11. Olá a todos do fórum. Estou com dificuldade em resolver um exercício com o seguinte enunciado: "Escreva uma página HTML contendo um formulário e uma função Javascript com argumento, que recebe um valor N passado pelo formulário, calcula N números randomicos inteiros positivos de 1 a 100 e depois exibe o resultado." Segue abaixo a página HTML com javascript que tentei criar para resolver essa questão: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script> function exibeAleatorios (){ var form = document.getElementById('formulario'); var numero = document.getElementById('numero'); form.addEventListener('submit', function(e) { for (i = 1; i <= numero; i++){ valor = Math.round(Math.random()*100); document.write (valor); } } } </script> </head> <body> <form id="formulario"> <div> <label for="numero">Informe a quantidade de números inteiros aleatórios entre 1 e 100 a serem exibidos:</label> <input type="text" id="numero" /> </div> <input type="submit" value="Enviar" onclick="exibeAleatorios"> </form> </body> </html> Porém como não sou bom em javascript não consegui exibir os resultados, por esse motivo peço ajuda de vocês para me informar onde esta o erro. Agradeço desde já.
  12. Ok, aproveitei o seu desenho e fiz algumas modificações, na verdade onde estão os 5V e o GND é a alimentação do sensor de umidade de solo, acrescentei dois borns para ser a entrada de alimentação pela fonte (fonte-1 é o 5V e fonte-2 é o GND, não consegui renomear de melhor forma no Eagle). Acrescentei também dois borns para ser ligado a um sensor de nível de água o qual só permite passagem de corrente se o mesmo estiver submerso em água (segue imagem abaixo para ilustração). Fiz isso para garantir que a bombinha só seja ligada se estiver dentro de água (caso ocorra eventual falta de água no reservatório). Enfim, fiz um novo esquema. Agradeço se puder verificá-lo e me dizer ser está correto.
  13. Muito obrigado Mestre88, depois da sua explicação percebi que a tensão estava caindo devido à ligação errônea após resistor R2. Vou usar o esquema elétrico que você desenhou, está completo, muito bom. Fiz aquele esquema simples pois sou iniciante no assunto, mas com ajuda de pessoas como você, que são mais experientes e estão dispostos a compartilhar conhecimento, sei que poderei aprender bastante. Assim que terminar de confeccionar a PCI posto o resultado aqui. Valeu mesmo. adicionado 2 minutos depois Mais uma pergunta: No lugar do transistor BC547 posso usar o BC548?
  14. Ok Mestre88, o que quero é pegar o sinal digital desse trigger, que é acionado quando o solo está seco, e enviar para a base do transistor e assim deixar passar o negativo/gnd para acionar a bombinha para regar uma pequena horta.
  15. Pretendo usar o transistor 2N2222. Mas a função do transistor não é deixar passar corrente do coletor para o emissor quando recebe tensão na base? Ou seja, não deve ser ligado entre o coletor e o emissor? No caso "sinal" são os 5V que o sensor de umidade libera assim que o solo ficar abaixo de um determinado limiar de umidade, acredito que este realmente precise do VCC e do GND para ser ligado. Com relação à corrente: pelo que pesquisei o transistor 2N2222 suporta uma corrente de ate 600mA enquanto que a bombinha necessita apenas de 180mA, sendo assim o transistor será suficiente. Segue abaixo uma imagem do referido sensor que estou usando.
  16. Olá a todos, Inicialmente quero dizer que sou iniciante em fazer placas PCI e em aletrônica. Fiz uma placa de circuito impresso para servir de auxiliar no controle de uma bombinha d'água controlada por um sensor de umidade de solo. O que acontece é que nessa plaquinha entra uma tensão de 5V e que deveria também sair 5V após receber o sinal do sensor de umidade, porém está saindo pouco menos de 3V. Abaixo segue o esquema elétrico da plaquinha auxiliar. X1-1 e X1-2 são as entradas 5V e GND respectivamente; VCC_OUT e GND_OUT servem para alimentar o sensor de solo; SINAL é o sinal enviado pelo referido sensor; X3-1 e X3-2 é a saída para ligar a bombinha d'água que deveria ser de 5V. Realmente não sei onde está o problema, por isso venho recorrer ao colegas do GDH para chegar a uma solução desse problema. Agradeço qualquer sugestão, dica ou ajuda.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!