Você está aqui: PHP ::: Dicas & Truques ::: Sessão |
|
Colocando e recuperando arrays em sessões PHPQuantidade de visualizações: 16831 vezes |
|
Muitas vezes precisamos colocar e recuperar arrays em uma sessão PHP. Veja como isso é feito: 1) Comece criando uma página testes.php: <? // inicia a sessão session_start(); // cria um array de nomes $nomes = array("Osmar", "Cristina", "Cecília"); // coloca o array na sessão $_SESSION["nomes"] = $nomes; echo "Acesse testes2.php para obter os dados gravados."; ?> <? // inicia a sessão session_start(); // obtém o array gravado na sessão $nomes = $_SESSION["nomes"]; // obtém os valores do array for($i = 0; $i < count($nomes); $i++){ echo $nomes[$i] . "<br>"; } ?> |
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Como definir a cor de fundo para a janela JFrame de sua aplicação Java SwingQuantidade de visualizações: 15258 vezes |
Nesta dica mostrarei como é possível definir a cor de fundo para uma janela JFrame. O truque aqui é obter o painel de conteúdo da JFrame usando o método getContentPane() e, em seguida, usar o método setBackground() da classe Container fornecendo a cor desejada. Veja o código completo para o exemplo: package arquivodecodigos; import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("A classe JFrame"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); ...... |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a transposta de uma matriz em Python - Python para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 5564 vezes |
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante. Em termos de notação, podemos dizer, de forma algébrica, que: ATji = Aij Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta. É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3. Antes de vermos o código Python, dê uma olhada na seguinte matriz de duas linhas e três colunas: \[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \] Sua matriz transposta correspondente é: \[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \] E agora veja o código Python que declara uma matriz 2x3 e gera a matriz transposta 3x2: # importamos a bibliteca NumPy import numpy as np def main(): # vamos declarar e construir uma matrix # 2x3 (duas linhas e três colunas matriz = np.array([(3, 5, 7), (1, 2, 9)]) # vamos exibir os valores da matriz print("Elementos da matriz:") for i in range(np.shape(matriz)[0]): for j in range(np.shape(matriz)[1]): print("%7.2f" % matriz[i][j], end="") print() # como temos uma matriz 2x3, a transposta deverá ser # 3x2, ou seja, três linhas e duas colunas linhas = np.shape(matriz)[0] # linhas da matriz original ...... Ao executar este código Python nós teremos o seguinte resultado: Elementos da matriz: 3 5 7 1 2 9 Elementos da matriz transposta: 3 1 5 2 7 9 É possível também obter a matriz transposta de um outra matriz usando o método transpose() da biblioteca NumPy da linguagem Python. Veja: # importamos a bibliteca NumPy import numpy as np def main(): # vamos declarar e construir uma matrix # 2x3 (duas linhas e três colunas matriz = np.array([(3, 5, 7), (1, 2, 9)]) # vamos exibir os valores da matriz print("Elementos da matriz:") for i in range(np.shape(matriz)[0]): for j in range(np.shape(matriz)[1]): print("%7.2f" % matriz[i][j], end="") print() ...... Ao executar este novo código Python veremos que o resultado é o mesmo. |
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como usar vetores e matrizes (arrays) na linguagem C++Quantidade de visualizações: 37202 vezes |
Vetores e matrizes, também chamados de arrays em programação, são grupos consecutivos de locais na memória que possuem o mesmo tipo de dados, ou seja, um vetor ou matriz em C++ pode conter apenas elementos do mesmo tipo. Um vetor é uma matriz de um coluna e várias linhas, enquanto uma matriz é a matriz propriamente dita, ou seja, que possui várias linhas e várias colunas. Veja um trecho de código no qual temos um vetor contendo 5 elementos do tipo int: #include <iostream> using namespace std; int main(int argc, char *argv[]) { // declara e inicializa a matriz int valores[5] = {65, 3, 8, 41, 12}; // exibe os elementos da matriz for(int i = 0; i < 5; i++){ ...... Ao executarmos este código nós teremos o seguinte resultado: Posição: 0 - Valor: 65 Posição: 1 - Valor: 3 Posição: 2 - Valor: 8 Posição: 3 - Valor: 41 Posição: 4 - Valor: 12 Pressione qualquer tecla para continuar. . . Aqui nós usamos a técnica de declarar e inicializar o vetor em uma mesma linha. Em seguida usamos um laço para percorrer todos os elementos. Veja que os elementos do vetor são acessados usando um índice que começa em 0 e vai até a quantidade de elementos menos 1. Veja agora um trecho de código que declara um vetor e inicializa seus elementos usando um laço for: #include <iostream> using namespace std; int main(int argc, char *argv[]) { // declara a matriz int valores[5]; // inicializa os elementos usando um laço for(int i = 0; i < 5; i++){ valores[i] = 2 * i; } ...... Ao executarmos este código nós teremos o seguinte resultado: Posição: 0 - Valor: 0 Posição: 1 - Valor: 2 Posição: 2 - Valor: 4 Posição: 3 - Valor: 6 Posição: 4 - Valor: 8 Pressione qualquer tecla para continuar. . . É importante notar que, se não inicializados, os valores dos elementos de um vetor poderão guardar valores aleatórios. Jamais confie que eles terão o valor 0 por padrão. |
Java ::: Pacote java.util ::: Iterator |
Como usar o método next() da interface Iterator do Java para obter o próximo elemento da iteraçãoQuantidade de visualizações: 3717 vezes |
O método next() da interface Iterator é usado quando queremos acessar o próximo elemento de uma iteração. Veja sua assinatura:E next() ...... Veja que o tipo retornado equivale ao tipo do elemento usado na declaração do iterador. Veja um exemplo: package estudos; import java.util.ArrayList; import java.util.Iterator; public class Estudos{ public static void main(String[] args) { // vamos criar uma ArrayList ArrayList<String> pessoas = new ArrayList(); pessoas.add("Osmar"); pessoas.add("Carlos"); pessoas.add("Fernanda"); // vamos obter um iterador para a lista Iterator<String> pessoa = pessoas.iterator(); // vamos obter o próximo elemento (neste caso, o primeiro) ...... Ao executarmos este código nós teremos o seguinte resultado: Osmar Carlos Fernanda Exception in thread "main" java.util.NoSuchElementException at java.util.ArrayList$Itr.next(ArrayList.java:834) ...... Veja que o método next() atira uma exceção do tipo NoSuchElementException se o iterador não possuir mais elementos. |
Revit C# ::: Dicas & Truques ::: Selection, Seleção |
Como pedir para o usuário selecionar somente um elemento no Revit usando a função PickObject() do objeto Selection da Revit C# APIQuantidade de visualizações: 120 vezes |
Durante o desenvolvimento de plug-ins e macros para o Revit usando C# e a API do Revit, nós precisamos pedir para o usuário selecionar um elemento e efetuar alguma operação com ele. Para isso nós podemos usar a função PickObject() do objeto Selection. O objeto Selection é obtido a partir de um UIDocument, que, por sua vez, é obtido usando this.ActiveUIDocument. Após a aquisição do objeto Selection, nós chamamos a função PickObject() e retornamos um objeto Reference, para representar o elemento selecionado pelo usuário na área de desenho do Revit. Se o objeto Reference retornado for diferente de null, então sabemos que o usuário selecionou o elemento e podemos proseguir com a execução do código do Plug-in ou macro. Veja o código Revit C# completo para o exemplo: using System; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.UI.Selection; using System.Collections.Generic; using System.Linq; namespace Estudos { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes. TransactionMode.Manual)] [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")] public partial class ThisApplication { private void Module_Startup(object sender, EventArgs e) { // vamos obter uma referência ao UIDocument ativo UIDocument uidoc = this.ActiveUIDocument; // agora mostramos uma mensagem para o usuário selecionar um // elemento TaskDialog.Show("Aviso", "Selecione um elemento"); // obtemos uma referência ao objeto Selection do // UIDocument ativo ...... |
Veja mais Dicas e truques de Revit C# |
Dicas e truques de outras linguagens |
Java - Como definir a cor para o contexto de desenho usando o método setColor() da classe Graphics do Java |
Quem Somos |
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |