
Jonathan Queiroz
Membros-
Total de itens
3.718 -
Registro em
-
Última visita
Tudo que Jonathan Queiroz postou
-
Não li o tópico inteiro, mas se o textarea está dentro da div ao invés de aumentar o tamanho da div e fazer o textarea acompanhar, não seria mais fácil aumentar somente o tamanho do textarea? Dessa forma a div vai se expandir automaticamente, criando o mesmo efeito.
-
(Resolvido) event.stopPropagation
pergunta respondeu ao Rafael Laurindo de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Sim, entendi. Não conheço nenhum método específico para isso, mas o que geralmente faço é dar um return false ao invés do event.preventDefault. Dessa forma, a função retorna imediatamente e o fato de ter retornado false impede que o evento tenha efeito. Só não sei se existe algum problema de compatibilidade fazendo assim (até hoje nunca tive). -
(Resolvido) event.stopPropagation
pergunta respondeu ao Rafael Laurindo de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Pelo que entendi, o event.preventDefault não controla o código Javascript, e sim a reação do navegador. Por exemplo, se você chamar esse método na função onsubmit de um formulário ela continuará a ser executada até o final, mas o navegador não enviará o formulário. Sendo assim, você teria que escrever também o return para impedir que a função continue. Exemplo: element.onsubmit=function(event) { if(!validouComSucesso()) { event.preventDefault() //impede que o formulário seja enviado, mas continua a função } alert("Você clicou no botão \"enviar\", mas não sei se o formulário será enviado ou não...") //o Javascript sempre executa essa instrução, mesmo com o "preventDefault" acima } -
(Resolvido) Redirecionando onchange
pergunta respondeu ao _Vinny_ de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Ok então. Qualquer coisa é só postar. -
arquivo apagado ainda ocupa espaco
pergunta respondeu ao kuroi de Jonathan Queiroz em Microsoft Windows
Na verdade acho que nesse caso específico a limpeza de disco nem funcionaria, já que o arquivo foi criado como qualquer outro, a única diferença é que foi preenchido sem nenhuma informação útil (provavelmente com zeros). -
(Resolvido) event.stopPropagation
pergunta respondeu ao Rafael Laurindo de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
O event.stopPropagation impede que o evento se propague para o elemento-pai do objeto em que ocorreu. Exemplificando: <html> <head> <title>Test</title> <script type="text/javascript"> onload = function () { var principal = document.getElementById("principal") var secundario = document.getElementById("secundario") principal.onclick = function (event) { alert("Clicou na div principal") } secundario.onclick = function (event) { alert("Clicou na div secundária") } } </script> </head> <body> <form action=""> <div id="principal" style="background-color:#00f;width:200;height:200"> <div id="secundario" style="position:relative;background-color:#f00;left:50;top:50;width:100;height:100"> </div> </div> </form> </body> </html> Ao clicar na div secundária (em vermelho), serão mostradas duas mensagens: Clicou na div principal e Clicou na div secundária. Isso ocorre porque o evento se propaga para o elemento-pai. Já se alterar o código para: secundario.onclick = function (event) { alert("Clicou na div secundária") event.stopPropagation() } Apenas a mensagem Clicou na div secundária será mostrada, já que o evento não se propaga para a div principal. -
(Resolvido) Redirecionando onchange
pergunta respondeu ao _Vinny_ de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Testei aqui no Firefox 3.6.7 e funcionou perfeitamente com esse código: <select onchange="document.location.href = this.options[this.selectedIndex].value;"> <option value="">Selecione um site</option> <option value="http://www.google.com.br">Google</option> <option value="https://www.scriptbrasil.com.br/forum">ScriptBrasil</option> </select> Obs.: Esse código que você postou não está completo. O correto seria adicionar uma ' (aspas simples) antes e depois da string. echo '<select onchange="document.location.href = this.options[this.selectedIndex].value;">' . $sites . '</select>' Mas imagino que no seu arquivo esteja assim. Se possível poste o link em funcionamento. -
arquivo apagado ainda ocupa espaco
pergunta respondeu ao kuroi de Jonathan Queiroz em Microsoft Windows
Pode parecer mentira, mas acabou de acontecer quase a mesma coisa aqui. Estava utilizando o programa Azureus Vuze para baixar um torrent com vários arquivos. Ele automaticamente cria os arquivos (ocupando espaço, provavelmente preenchidos com zeros) em disco e vai gravando neles à medida que vai baixando. Como minha partição C:\ não tinha espaço suficiente para o download, o programa exibiu uma mensagem de erro e parou a gravação, mas vários arquivos já tinham sido criados (fiquei com menos de 100mb livres no HD, já que eles não foram removidos). Para resolver o problema, apaguei os arquivos manualmente. Fui em Ferramentas --> Opções --> Arquivos e abri a pasta da opção Diretório padrão (no meu caso, C:\Users\Jonathan\Documents\Azureus Downloads) pelo Windows Explorer. Depois foi só remover os arquivos indesejados (no meu caso, ficaram todos numa mesma pasta). Isso também ocorre no Vuze ao clicar no arquivo com o botão direito e utilizar a opção Remover. O correto é Remover e --> Apagar dados. É possível que tenha acontecido algo parecido com você no BitTorrent. -
O Matheus postou o código pronto ali em cima. Quanto à função Round, ela recebe dois parâmetros: um número de ponto flutuante e a quantidade de casas decimais. Exemplo: Round(3.14159265358979,4) '3.1416 Round(9.34986,1) '9.3 Round(5.4) '5 (se o parâmetro for omitido, faz a aproximação sem casas decimais) É só adaptar para o seu código.
-
Você lembrou-se de incluir o código que foi postado?
-
Bem-vindo ao fórum! Qualquer coisa é só postar.
-
Movendo: C, C++ --> Outros assuntos.
-
Você precisa fazer com que a função receba um parâmetro com o nome do arquivo void apaga_arquivo(char* filename) { ... if(remove(filename)!=0) { ... } else { ... } } Declarei a função como void porque ela não precisa retornar nenhum valor. Isso deve ser feito sempre que uma função não retornar nada. Para isso funcionar a variável filename_yesterday terá que ser declarada como global, o que não é a melhor opção. Uma opção é calcular novamente a data de hoje e diminuir um dia ou passar um parâmetro com a data atual (já calculada) e a partir dela calcular o dia anterior. void apaga_arquivo_anterior(time_t rawtime_today) { time_t rawtime_yesterday=rawtime_today-(60*60*24); struct tm *timeinfo_yesterday; timeinfo_yesterday = localtime(&rawtime_yesterday); char filename_yesterday[128]; sprintf(filename_yesterday, "BDPROD.0.DB2.NODE0000.CATN0000.%02d.%02d.%d.001", timeinfo_yesterday->tm_mday, timeinfo_yesterday->tm_mon+1, timeinfo_yesterday->tm_year+1900); printf("Excluir arquivo anterior:> %s\n", filename_yesterday); apaga_arquivo(filename_yesterday); } Isso não funciona porque você ainda está diminuindo um dia manualmente, ao invés de utilizar o código que havia postado acima. Segue o código completo: #include <stdio.h> #include <time.h> void apaga_arquivo(char* filename) { if(remove(filename)!=0) { printf("\nOcorreu um erro ao excluir o arquivo!!\n"); //em situações normais, provavelmente o arquivo não existe } else { printf("\nArquivo removido com sucesso!!\n"); } } void apaga_arquivo_anterior(time_t rawtime_today) { time_t rawtime_yesterday=rawtime_today-(60*60*24); struct tm *timeinfo_yesterday; timeinfo_yesterday = localtime(&rawtime_yesterday); char filename_yesterday[128]; sprintf(filename_yesterday, "BDPROD.0.DB2.NODE0000.CATN0000.%02d.%02d.%d.001", timeinfo_yesterday->tm_mday, timeinfo_yesterday->tm_mon+1, timeinfo_yesterday->tm_year+1900); printf("Excluir arquivo anterior:> %s\n", filename_yesterday); //apaga_arquivo(filename_yesterday); } int main () { time_t rawtime; struct tm *timeinfo; char filename[128]; time (&rawtime); timeinfo = localtime (&rawtime); sprintf(filename, "dados.%02d.%02d.%d.bin", timeinfo->tm_mday, timeinfo->tm_mon+1, timeinfo->tm_year + 1900); apaga_arquivo_anterior(rawtime); return 0; }
-
Também participo da Unidev. Infelizmente o SB não tem quase nenhum post relacionados a jogos (tem cerca de 2 páginas de tópicos com a palavra OpenGL, mas apenas dois tópicos com códigos). No entanto, se mais pessoas se interessarem pelo assunto, poderia ser criado.
-
Como assim tópicos sobre APIs gráficas? Refere-se realmente a tópicos (se for isso, embora não exista uma área específica, pode-se postar dúvidas ou dicas sobre esses assuntos) ou fóruns para tratar especificamente disso?
-
Bem-vindo ao fórum! Qualquer coisa é só postar.
-
Esse código é C#.NET (outra linguagem), não C++. Provavelmente você instalou o Microsoft Visual C#. Quanto a esse erro, é porque a variável rawtime foi declarada em outro função e está fora do escopo da função apagar_arquivo_anterior. Uma opção é criar uma função apagar_arquivo e apenas passar como parâmetro o nome do arquivo. Basta você calcular a data atual e, a partir dela, a data do dia anterior e o nome do arquivo. Algo assim: //Variáveis char filename_anterior[128], filename_atual[128]; //Data atual time_t rawtime; struct tm *timeinfo; time (&rawtime); timeinfo = localtime(&rawtime); //Arquivo com a data atual sprintf(filename, "BDPROD.0.DB2.NODE0000.CATN0000.%02d.%02d.%d.001", timeinfo->tm_mday, timeinfo->tm_mon+1, timeinfo->tm_year+1900); //Data de ontem time_t rawtime_yesterday; struct tm *timeinfo_yesterday; time (&rawtime_yesterday); timeinfo = localtime(&rawtime_yesterday); //Arquivo com a data de ontem sprintf(filename_anterior, "BDPROD.0.DB2.NODE0000.CATN0000.%02d.%02d.%d.001", timeinfo_yesterday->tm_mday, timeinfo_yesterday->tm_mon+1, timeinfo_yesterday->tm_year+1900); //Remove o arquivo apagar_arquivo(filename_anterior);
-
Testei aqui no Visual C++ e funcionou. Talvez seja necessário algum cast. Se possível poste a descrição do erro. Edit: Você editou o código enquanto postava. Provavelmente o erro que está ocorrendo é porque a variável rawtime (que representa a data atual) está fora do escopo.
-
Movendo: Demais Bancos --> C, C++. Isso provavelmente é algum ponteiro apontando para local inválido. Ao tentar escrever nesse local, ocorre o erro.
-
Tente algo assim: time_t rawtime_yesterday=rawtime-(60 * 60 * 24); char filename_yesterday[128]; struct tm* timeinfo_yesterday = localtime(&rawtime_yesterday); sprintf(filename_yesterday, "dados.%02d.%02d.%d.bin", timeinfo_yesterday->tm_mday, timeinfo_yesterday->tm_mon+1, timeinfo_yesterday->tm_year + 1900);
-
(Resolvido) Parar execução de script
pergunta respondeu ao Rafael Laurindo de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
De nada, qualquer coisa posta aí. No caso de utilizar return sem nada depois é como se a função retornasse valor indefinido (o mesmo acontece ao tentar obter o valor de uma função que chegou ao fim normalmente). function f1() { return; } function f2() { } alert(f1()) //undefined alert(f2()) //undefined Obs.: O tópico foi marcado como Resolvido. -
Pegar ID dos CheckBox Marcados
pergunta respondeu ao Raphael Machado de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
Na verdade pelo que sei o correto em Javascript é comparar com true (booleano), e não com "checked" (string). Tanto é que, mesmo se você escrever explicitamente no HTML checked="checked" o element.checked no Javascript valerá true. -
(Resolvido) Parar execução de script
pergunta respondeu ao Rafael Laurindo de Jonathan Queiroz em Ajax, JavaScript, XML, DOM
O que você chama de "o resto do script"? Se estiver dentro de uma função e quiser parar sua execução, pode utilizar o return. -
Bem-vindo ao fórum! Precisando de algo é só postar.
-
(Resolvido) Botão com movie Clip
pergunta respondeu ao Fehguto de Jonathan Queiroz em Flash & ActionScript
Movendo: Ajax, JavaScript, XML, DOM --> Flash & ActionScript.