![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
JavaScript ::: W3C DOM - (Wide Web Consortium) Document Object Model ::: Navegação e Pesquisa de Nós (Nodes) |
Como retornar uma coleção de nós filhos de um elemento HTML usando a propriedade childNodes do DOM do JavaScriptQuantidade de visualizações: 13095 vezes |
Em algumas situações temos um elemento HTML (um elemento DIV, por exemplo) e gostaríamos de retornar uma coleção contendo seus elementos filhos. Para isso podemos usar a coleção childNodes, definida no World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1. A coleção childNodes contém todos os descendentes diretos de um determinado elemento HTML, incluindo os nós textos (text nodes) e comentários (comment nodes). Além disso, a ordem dos elementos retornados é aquela definida no código-fonte do documento HTML. Veja uma página HTML contendo um elemento DIV e, dentro deste, um parágrafo, um link e um elemento SPAN. Note como usamos a propriedade childNodes no elemento DIV para retornar seus três elementos filhos diretos (note que as quebras de linhas e o elemento BR também serão retornados): <html> <head> <title>Estudos JavaScript</title> <script type="text/javascript"> function obterNosFilhos(){ // vamos obter uma referência ao elemento div com o id "container" var pai = document.getElementById("container"); // vamos obter a coleção de elementos filhos var filhos = pai.childNodes; // vamos obter a quantidade de elementos filhos deste elemento window.alert("O elemento div contém " + filhos.length + " elementos filhos."); // vamos percorrer todos os elementos for(var i = 0; i < filhos.length; i++){ var filho = filhos[i]; // este filho é um nó texto? if(filho.nodeType == 3){ window.alert("O " + (i + 1) + "º filho é um nó texto. " + "Seu conteúdo é: " + filho.data); } // este filho é um nó elemento? else if(filho.nodeType == 1){ window.alert("O " + (i + 1) + "º filho é um nó elemento. " + "Seu conteúdo é: " + filho.innerHTML); } } } </script> </head> <body> <div id="container"> <p>Sou um parágrafo</p> <a href="http://www.google.com">Sou um link</a><br> <span>E eu sou um elemento span</span> </div> <br> <button onclick="obterNosFilhos()">Obter nós filhos do elemento div</button> </body> </html> Ao executarmos este código JavaScript nós teremos o seguinte resultado: O elemento div contém 8 elementos filhos. O 1º filho é um nó texto. Seu conteúdo é: O 2º filho é um nó elemento. Seu conteúdo é: Sou um parágrafo O 3º filho é um nó texto. Seu conteúdo é: O 4º filho é um nó elemento. Seu conteúdo é: Sou um link O 5º filho é um nó elemento. Seu conteúdo é: O 6º filho é um nó texto. Seu conteúdo é: O 7º filho é um nó elemento. Seu conteúdo é: E eu sou um elemento span O 8º filho é um nó texto. Seu conteúdo é: Ao executar este exemplo você perceberá que a quantidade de elementos filhos no IE é diferente daquela relatada pelo Firefox. Isso acontece devido à forma que os dois browsers tratam quebras de linhas e espaços. Tenha a certeza de usar a propriedade nodeType para identificar o tipo de elemento filho sendo retornado. A coleção childNodes pode ser chamada a partir dos seguintes elementos: a, abbr, acronym, address, applet, b, bdo, big, blink, blockquote, body, button, caption, center, cite, code, col, colgroup, dd, del, dfn, dir, div, dl, dt, em, fieldset, font, form, frameset, h1, h2, h3, h4, h5, h6, head, html, i, img, ins, kbd, keygen, label, legend, li, listing, map, marquee, menu, nobr, noframes, noscript, object, ol, optgroup, option, p, plaintext, pre, q, rt, ruby, s, samp, select, small, span, strike, strong, sub, sup, table, tbody, td, textarea, tfoot, th, thead, tr, tt, u, ul, var, xml e xmp. Esta dica foi escrita e testada no Google Chrome 127.0.6533.122 (Versão oficial) 64 bits. |
QGIS ::: PyQGIS API ::: Shapefiles, Camadas Vetoriais, Dados Vetoriais |
Como carregar um shapefile no QGIS usando o objeto QgsVectorLayer da PyQGIS APIQuantidade de visualizações: 526 vezes |
Nesta dica mostrarei como podemos usar o objeto QgsVectorLayer da PyQGIS API para carregar um arquivo shapefile no QGIS e adicioná-lo como uma nova camada. O primeiro passo é fornecer a localização do arquivo shapefile (.shp), o nome para a nova camada e um data provider, que nesse caso é ogr. Depois de obtido o objeto QgsVector nós efetuamos uma chamada à função isValid() para verificar se a camada é válida. Esse procedimento deve ser sempre usado, pois assegura que os dados são válidos antes de continuar com a execução do código. Para finalizar nós usamos a função addMapLayer() do objeto QgsProject para adicionar a nova camada à coleção de camadas e a exibimos no mapa. Veja o código PyQGIS completo para o exemplo: # vamos criar um novo objeto QgsVectorLayer com o local # do nosso shapefile camada = QgsVectorLayer("C:\\dados\\GO_Municipios_2022.shp", "Municípios Estado de Goiás", "ogr") # vamos testar se a camada é válida if not camada.isValid(): print("Não foi possível carregar a camada %s" % camada.name()) else: # vamos adicionar a camada à relação de camadas QgsProject.instance().addMapLayer(camada) Ao executarmos esse código PyQGIS no QGIS nós temos como resultado um mapa do Estado de Goiás com os seus 246 municípios. |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como selecionar um item de uma ListBox do Delphi em tempo de execução usando a propriedade ItemIndexQuantidade de visualizações: 15599 vezes |
É possível selecionar, em tempo de execução, um dos itens de uma ListBox. Para isso, só precisamos definir um valor para a propriedade ItemIndex. Veja: procedure TForm1.Button2Click(Sender: TObject); begin // vamos selecionar o segundo item na ListBox ListBox1.ItemIndex := 1; // o índice do primeiro item é 0 // note que este código não funciona para ListBoxes de // seleção múltipla end; Note que este código não se aplica às ListBoxes de seleção múltipla. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Java para iniciantes - Como tratar o erro OutOfMemoryError no JavaQuantidade de visualizações: 12161 vezes |
O erro OutOfMemoryError é apresentado quando a Java Virtual Machine (JVM) não consegue alocar um objeto por falta de memória e o Garbagge Collector não liberou mais memória ainda. Este é um erro que não deve ser apanhado em um bloco try...catch, ou seja, se não há memória para alocar novos objetos, é fácil entender que não haverá memória para tal procedimento. O melhor a fazer é deixar o programa terminar e verificar a causa do problema. Veja a posição da classe OutOfMemoryError na hierarquia de classes da plataforma Java: java.lang.Object java.lang.Throwable java.lang.Error java.lang.VirtualMachineError java.lang.OutOfMemoryError Esta classe implementa a interface Serializable. Uma das causas mais comuns para o erro OutOfMemoryError é a instanciação exagerada de objetos, principalmente em laços (loops). Uma forma de aumentar a memória RAM a ser usada é definindo opções na linha de comando para o java.exe. Algumas destas opções são -Xss64k -Xoss300k -Xms4m e -Xmx10m. |
Elixir ::: Dicas de Estudo e Anotações ::: Passos Iniciais |
Como instalar a linguagem de programação Elixir no WindowsQuantidade de visualizações: 867 vezes |
Está curioso(a) para aprender um pouco mais sobre a linguagem de programação Elixir? Nesta dica mostrarei como instalar, configurar e testar o ambiente de programação desta linguagem. O primeiro passo para instalar a Elixir no Windows é verificar se você já tem uma instalação do ambiente de programação Erlang. Se ainda não tiver, veja a nossa dica correspondente. Como baixar e instalar a Elixir Para baixar a Elixir e as ferramentas necessárias, acesse a URL https://elixir-lang.org/install.html#windows e baixe o instalador elixir-websetup.exe. Em seguida dê duplo-clique neste instalador e siga as instruções apresentadas. Não se preocupe. Basta aceitar as opções padrões que o instalador fará a instalação completa, inclusive incluindo o diretório bin na variável de ambiente PATH. Como testar a instalação da Elixir Para testar se sua instalação da linguagem de programação Elixir ocorreu sem problemas, abra uma nova janela de terminal e dispare o seguinte comando: C:\Users\Osmar>elixirc --version Se tudo correu bem você verá o seguinte resultado: Erlang/OTP 25 [erts-13.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns] Elixir 1.14.3 (compiled with Erlang/OTP 25) Pronto! Agora é só seguir as nossas dicas e truques de Elixir e ficar fluente em mais essa linguagem de programação. Bons estudos! |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em Ruby usando as funções reverse e reverse!Quantidade de visualizações: 10084 vezes |
Esta dica mostra como podemos inverter uma string em Ruby, ou seja, reverter a ordem de seus caracteres. Para isso nós temos dois métodos: reverse e reverse!. O método reverse retorna uma nova string enquanto reverse! reverte o conteúdo da string original. Veja o trecho de código:# declara e inicializa uma variável string frase = "Osmar J. Silva" # inverte a string sem afetar o original invertida = frase.reverse # exibe o resultado puts "Original: " + frase puts "Invertida: " + invertida # inverte afetando o original frase.reverse! # exibe o resultado puts "Original: " + frase Ao executar este código Ruby nós teremos o seguinte resultado: Original: Osmar J. Silva Invertida: avliS .J ramsO Original: avliS .J ramsO |
C# ::: Windows Forms ::: DataGridView |
Como ocultar ou exibir uma determinada linha do DataGridView do C# Windows FormsQuantidade de visualizações: 13322 vezes |
Em algumas situações precisamos ocultar ou exibir determinadas linhas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewRow. Veja um trecho de código no qual ocultamos a primeira linha do DataGridView:private void button3_Click(object sender, EventArgs e){ // vamos ocultar a primeira linha dataGridView1.Rows[0].Visible = false; } Veja que aqui nós acessamos a coleção DataGridViewRowCollection e usamos um índice para retornar o DataGridViewRow desejado. Em seguida definimos o valor false para sua propriedade Visible. |
Python ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como usar a função type() da linguagem Python para descobrir o tipo de dados de uma variávelQuantidade de visualizações: 14077 vezes |
Em algumas situações nós gostaríamos de verificar o tipo de uma variável, ou seja, o tipo do valor que ele contém no momento, antes de efetuar algum cálculo ou procedimento. Em Python isso pode ser feito por meio da função type(), que nos retorna uma string indicando o tipo de dados sendo armazenado no momento. Note que, em Python, uma mesma variável pode assumir tipos diferentes durante a execução do programa. Veja o código completo para o exemplo: def main(): var = "Osmar J. Silva" print("O tipo da variavel var é:", type(var)) var = 45 print("Agora o tipo da variavel var é:", type(var)) var = 45.30 print("E agora o tipo da variavel var é:", type(var)) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: O tipo da variavel var é: <class 'str'> Agora o tipo da variavel var é: <class 'int'> E agora o tipo da variavel var é: <class 'float'> |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Como verificar se Num Lock está ativado no seu teclado usando o método getLockingKeyState() da classe Toolkit da linguagem JavaQuantidade de visualizações: 8594 vezes |
Nesta dica mostrarei como é possível verificar se Num Lock está ativado no seu teclado. Para isso nós podemos usar o método getLockingKeyState() da classe Toolkit, do pacote java.awt. Veja o exemplo completo: package arquivodecodigos; import java.awt.Toolkit; import java.awt.event.*; public class Estudos{ public static void main(String[] args){ Toolkit tk = Toolkit.getDefaultToolkit(); if(tk.getLockingKeyState(KeyEvent.VK_NUM_LOCK)){ System.out.println("Num Lock está ativado"); } else{ System.out.println("Num Lock não está ativado"); } System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: Num Lock não está ativado |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando JavaQuantidade de visualizações: 1187 vezes |
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código Java completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não: package estudos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ int n = 3; // ordem da matriz quadrada int matriz[][] = new int[n][n]; // matriz quadrada // para efetuar a leitura do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar os elementos da matriz for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++) { System.out.print("Elemento na linha " + (i + 1) + " e coluna " + (j + 1) + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } } // agora verificamos se a matriz é uma matriz identidade boolean identidade = true; for(int linha = 0; linha < n; linha++){ for(int coluna = 0; coluna < n; coluna++){ if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){ identidade = false; break; } } } // agora mostramos a matriz lida System.out.printf("\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%d ", matriz[i][j]); } System.out.printf("\n"); } if (identidade){ System.out.printf("\nA matriz informada é uma matriz identidade.\n"); } else{ System.out.printf("\nA matriz informada não é uma matriz identidade.\n"); } } } Ao executar este código Java nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
Nossas 20 dicas & truques de programação mais populares |
Firebird - Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de música C - Como verificar a existência de uma substring em uma string usando a função strstr() da linguagem C |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - Como testar se ao menos um elemento de um array satisfaz uma condição em JavaScript usando a função some() |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |