Você está aqui: Cards de Ética e Legislação Profissional |
||
|
||
|
|
||
JavaScript ::: URLs e Parâmetros de URLs ::: URLSearchParams |
Como obter a quantidade de parâmetros em um objeto URLSearchParams do JavaScriptQuantidade de visualizações: 1141 vezes |
|
Em algumas situações nós precisamos saber quantos parâmetros de URL foram informados em um objeto URLSearchParams. Para isso nós só precisamos converter o Map representado por URLSearchParams em um array bidimensional usando Array.from(). A partir daí é só chamar a propriedade length do array. Veja o código completo para o exemplo:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Acessando parâmetros de URL</title>
</head>
<body>
<script type="text/javascript">
// vamos obter a URL atual e seus parâmetros GET
var parametros = new URLSearchParams(window.location.search);
window.alert("Quantidade de parâmetros: " + Array.from(parametros).length);
</script>
</body>
</html>
Ao executar este exemplo JavaScript com a URL: http://localhost/estudos/index.php?nome=Osmar&idade=39 nós teremos uma mensagem window.alert() com o seguinte texto: Quantidade de parâmetros: 2 |
LISP ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como declarar variáveis globais em Lisp usando as funções defvar e defparameterQuantidade de visualizações: 1298 vezes |
|
Em algumas situações nós precisamos declarar variáveis globais em Lisp, ou melhor, em Common Lisp, que é a padronização da Lisp que adotamos para estas dicas. Variáveis globais em Common Lisp se comportam de forma idêntica àquelas de outras linguagens de programação, ou seja, possuem valores permanentes por todo o sistema Lisp e mantém seus valores até que novos valores são especificados. Se quisermos, por exemplo, a partir do corpo de uma função acessar uma variável fora dela, então esta variável deverá ser declarada globalmente. Em Common List nós podemos declarar variáveis globais usando as funções defvar e defparameter. Vamos ver exemplos envolvendo as duas e no final desta dica eu mostro a diferença. Veja um trecho de código Common Lisp na qual declaramos uma variável global chamada valor e a acessamos de dentro de uma função: ; vamos declarar uma variável global (defvar valor 10) ; vamos mostrar o valor atual da variável global (format t "O valor da variável global é ~D" valor) ; agora vamos acessar a variável global ; de dentro de uma função (defun ModificaValor() ; vamos alterar o valor da variável global (setq valor 50) ) ; chamamos a função ModificaValor (ModificaValor) ; e checamos se o valor da variável global foi ; mesmo alterado (terpri) (format t "O valor da variável global é ~D" valor) Ao executar este código Common List nós teremos o seguinte resultado: O valor da variável global é 10 O valor da variável global é 50 Veja agora um trecho de código Common Lisp no qual usamos a função defparameter para declarar e inicializar as variáveis globais: ; vamos declarar três variáveis globais (defparameter *a* 5) (defparameter *b* 3) (defparameter *soma* 0) ; agora vamos acessar as variáveis globais ; de dentro de uma função (defun Somar() ; vamos somar as duas variáveis globais ; e guardar o resultado em uma terceira ; variáveis global (setq *soma* (+ *a* *b*)) ) ; chamamos a função Somar (Somar) ; e mostramos o resultado da soma (format t "A soma das variáveis globais é ~D" *soma*) Ao executar este novo código Common Lisp nós teremos o seguinte resultado: A soma das variáveis globais é 8 Note que coloquei asteríscos (*) ao redor dos nomes das variáveis globais. Esta é uma prática comum entre programadores Lisp e altamente recomendado pelo comunidade, pois facilita a distinção entre variáveis globais e locais. Então, qual é a diferença entre defvar e defparameter? A primeira delas é que a função defparameter nos obriga a informar o valor inicial para a variável global, enquanto a função defvar não o faz. A segunda diferença é que, ao redefinirmos o valor de uma variável global usando defparameter, o valor armazenado anteriormente será sobreposto, enquanto a função defvar não altera o valor anterior. |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como passar um vetor para uma função CQuantidade de visualizações: 12584 vezes |
|
Muitas vezes precisamos passar um vetor, ou seja, um array unidimensional para uma função na linguagem C. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de um vetor para uma função é feita por referência, ou seja, qualquer alteração nos valores do array dentro da função será refletida no vetor original:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// protótipo da função que recebe o array e exibe os seus elementos
void exibir_vetor(int vetor[], int tamanho);
// função principal do programa
int main(int argc, char *argv[]){
// cria um vetor com 5 inteiros
int valores[] = {54, 3, 89, 6, 1};
setlocale(LC_ALL,""); // para acentos do português
// passa o vetor para a função exibir_vetor()
// veja que temos que enviar também a quantidade
// de elementos
exibir_vetor(valores, 5);
printf("\n\n");
system("PAUSE");
return 0;
}
// função que recebe o array e exibe os seus elementos
void exibir_vetor(int vetor[], int tamanho){
int i;
printf("Os elementos do vetor são:\n\n");
for(i = 0; i < tamanho; i++){
printf("%d ", vetor[i]);
}
}
Ao executar este código C nós teremos o seguinte resultado: Os elementos do vetor são: 54 3 89 6 1 |
Java ::: Coleções (Collections) ::: HashMap |
Como retornar a quantidade de mapeamentos (chave-valor) em um HashMap do Java usando o método size()Quantidade de visualizações: 8153 vezes |
Em algumas situações precisamos saber a quantidade de mapeamentos (chave-valor) contidos em um HashMap. Para isso nós podemos usar o método size(). Veja o exemplo:
import java.util.*;
public class Estudos{
public static void main(String[] args){
// vamos criar uma instância de HashMap
HashMap<Integer, String> clientes = new HashMap<Integer, String>();
// vamos adicionar três chaves e seus valores
clientes.put(new Integer(1), "Osmar J. Silva");
clientes.put(new Integer(2), "Salvador Miranda de Andrade");
clientes.put(new Integer(3), "Marcos da Costa Santos");
// vamos obter a quantidade de mapeamentos neste HashMap
int quant = clientes.size();
// vamos exibir o resultado
System.out.println("Este HashMap contém " + quant +
" mapeamentos.");
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Este HashMap contém 3 mapeamentos. |
Python ::: PyQt GUI Toolkit ::: QMainWindow |
Como centralizar uma janela QMainWindow do PyQtQuantidade de visualizações: 429 vezes |
|
Nesta dica mostrarei como podemos centralizar a janela principal de nossa aplicação PyQt. Note que esta janela principal, na maioria das vezes, é representada por uma instância da classe QMainWindow. Veja o código completo para o exemplo, já atualizado para o PyQt6:
# vamos importar os módulos necessários
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
# vamos criar uma classe que herda de QMainWindow
class JanelaPrincipal(QMainWindow):
# construtor da classe
def __init__(self):
super().__init__()
# definimos o título da janela
self.setWindowTitle("Cadastro de Produtos")
# vamos definir as dimensões da janela
self.resize(600, 420)
# vamos obter a geometria do frame da nossa janela
geometria_frame = self.frameGeometry()
# acessamos a geometria da monitor e obtemos seu centro
ponto_central = self.screen().availableGeometry().center()
# movemos o retângulo obtido anteriormente para o centro da tela
geometria_frame.moveCenter(ponto_central)
# e finalmente movemos nossa janela para este ponto
self.move(geometria_frame.topLeft())
if __name__== "__main__":
# cria a aplicação
app = QApplication(sys.argv)
# cria a janela principal e a coloca visível
janela_principal = JanelaPrincipal()
janela_principal.show()
# executa a aplicação
app.exec()
|
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
Python - Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





