Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Delphi ::: dbExpress ::: Passos Iniciais

Saiba mais sobre o dbExpress e como usar esta arquitetura em suas aplicações Delphi envolvendo banco de dados

Quantidade de visualizações: 12704 vezes
Uma das características mais significativas do Delphi é seu suporte para os mais diferentes bancos de dados usando diferentes tecnologias de acesso: BDE, dbExpress, InterBase Express, ADO, Borland Data Providers for .NET, etc. Nesta dica abordarei o dbExpress devido à sua forte aceitação no mercado.

Durante as versões iniciais do Delphi houve tentativas de se criar uma API comum para o acesso a vários e diferentes bancos de dados. No entanto, todas as soluções apresentaram um ou mais problemas. Algumas abordagens se tornaram demasiadas complexas, lentas e dificil de distribuir. Outras apresentavam problemas relacionados à complexidade de se escrever os drivers para os bancos de dados, tornando-as limitadas em funcionalidade, lentas e cheias de bugs.

O dbExpress (apresentado pela primeira vez no Delphi 6) supera todos estes problemas ao combinar a abordagem de fornecer uma API comum para vários bancos de dados com a arquitetura provide/resolve da Borland para gerenciar o processo de edição e atualização de dados.

A arquitetura dbExpress

O dbExpress (anteriormente chamado de DBXpress) foi desenvolvida para atingir os seguintes objetivos:

a) Minimizar o tamanho e uso de recursos do sistema.
b) Maximizar a velocidade.
c) Fornecer suporte cross-platform (independente de plataforma).
d) Fornecer fácil distribuição.
e) Facilitar o desenvolvimento de drivers.
f) Fornecer ao desenvolvedor um maior controle sobre o uso de memória e tráfego de rede.

Os drivers do dbExpress são pequenos e rápidos porque eles fornecem uma funcionalidade muito limitada. Cada driver é implementado como uma DLL única na plataforma Windows e como um único objeto compartilhado na plataforma Linux. Um driver dbExpress implementa cinco interfaces que suportam a obtenção de metadados, a execução de instruções SQL e stored procedures e o retorno de um cursor unidirecional somente leitura para um conjunto de resultados (result set). Contudo, quando usado em conjunto com os componentes DataSetProvider e ClientDataSet para implementar a estratégia de acesso de dados provide/resolve, o dbExpress nos oferede um sistema completo de alta concorrência e de alta performance para o desenvolvimento de aplicações que lidam com bancos de dados SQL.

Os componentes do dbExpress são:

TSQLConnection - Define uma conexão com um banco de dados, similar ao TDatabase.

TSQLDataSet - Representa um conjunto de dados unidirecional de propósito geral que executa a instrução SQL definida na propriedade CommandText. O valor desta propriedade pode ser uma instrução SELECT que retorna um conjunto de dados, uma instrução SQL que não retorna dados ou executa uma stored procedure.

TSQLQuery - Suporta instruções SQL a serem executadas e que retornam um conjunto de dados unidirecional ou atualizam dados ou esquemas de banco de dados.

TSQLStoredProc - Executa uma stored procedure. Se houver um conjunto de dados como retorno este será unidirecional.

TSQLTable - Fornece acesso unidirecional a uma tabela da base de dados.

TSQLMonitor - Usado para interceptar e exibir mensagens transferidas entre um TSQLConnection e o banco de dados.

TSimpleClientDataSet - Combina um TSQLDataSet e TDataSetProvider em um mesmo componente para suportar dados em cache de memória.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Coleções (Collections) ::: HashMap

Java Collections - Como usar a classe HashMap da linguagem Java

Quantidade de visualizações: 36802 vezes
A classe HashMap, do pacote java.util, é uma das principais implementações da interface Map. Além de fornecer todas as operações opcionais de um map, esta classe permite a inserção de chaves e valores com o valor null. Em realidade, a classe HashMap é bem similar à classe Hashtable, com a diferença que HashMap não é sincronizada (tenha cuidado ao usuá-la em ambiente de múltiplas threads) e permite valores e chaves null.

Veja sua posição na hierarquia de classes Java:

java.lang.Object
  java.util.AbstractMap<K,V>
    java.util.HashMap<K,V>
Esta classe implementa ainda as interfaces Serializable, Cloneable e Map<K,V>. Algumas sub-classes conhecidas são LinkedHashMap e PrinterStateReasons.

O uso principal da classe HashMap é quando queremos associar chaves e valores e, posteriormente, recuperar valores baseados em suas chaves. Veja um exemplo no qual temos cidades e habitantes:

package arquivodecodigos;

import java.util.*;
 
public class Estudos{
  @SuppressWarnings("unchecked")
  public static void main(String[] args){
     
    // cria uma nova instância de HashMap
    HashMap cidadesHabitantes = new HashMap();
     
    // vamos adicionar algumas chaves e seus valores
    cidadesHabitantes.put("Goiânia", new Integer(4334598));
    cidadesHabitantes.put("São Paulo", new Integer(49282768));
    cidadesHabitantes.put("Brasília", new Integer(96736887));   
......


Ao executar este código nós teremos o seguinte resultado:

Chave: Goiânia - Valor: 4334598
Chave: Brasília - Valor: 96736887
Chave: São Paulo - Valor: 49282768

Uma observação importante em relação à classe HashMap é que esta não honra nenhuma ordem específica de seus elementos, ou seja, a ordem dos pares chave-valor em uma operação de exibição pode ser bem diferente da ordem de inserção.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em Java

Quantidade de visualizações: 15773 vezes
Pergunta/Tarefa:

Escreva um programa Java que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado:

// declara, constrói e inicializa um vetor de 10 inteiros
int valores[] = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10};
Sua saída deverá ser parecida com:

Informe um valor: 4
O valor foi encontrado: 3 vezes

Informe um valor: 8
O valor foi encontrado: 1 vezes

Informe um valor: 3
O valor foi encontrado: 0 vezes
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

package estudos;

import java.util.Scanner;

public class Estudos{ 
  public static void main(String[] args){
    // declara, constrói e inicializa um vetor de 10 inteiros
    int valores[] = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10};

    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler um valor inteiro
    System.out.print("Informe um valor: ");
    int pesquisa = Integer.parseInt(entrada.nextLine());
......



C# ::: Windows Forms ::: CheckBox

Como marcar ou desmarcar uma CheckBox do C# Windows Forms via código

Quantidade de visualizações: 14137 vezes
É possível marcar ou desmarcar uma CheckBox do C# Windows Forms via código. Para isso só precisamos manipular sua propriedade Checked. Se quisermos que a CheckBox seja marcada, basta fornecermos o valor true para esta propriedade. Veja:

private void button1_Click(object sender, EventArgs e){
  // vamos marcar a CheckBox
......


Se quisermos desmarcar, basta fornecermos o valor false. Veja:

private void button1_Click(object sender, EventArgs e){
  // vamos desmarcar a CheckBox
......



Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Portugol - Faça um algoritmo em Portugol que leia 9 números inteiros, guarde-os em uma matriz 3x3 e mostre os números pares

Quantidade de visualizações: 640 vezes
Pergunta/Tarefa:

Faça um algoritmo em Portugol que leia 9 números inteiros e guarde-os em uma matriz 3x3. Imprima a matriz no formato tabular, usando a melhor formatação que você conseguir. Em seguida, percorra a matriz novamente e imprima somente os números que são pares, todos na mesma linha e separados por espaço.

Sua saída deverá ser parecida com:

Linha 1 e coluna 1: 8
Linha 1 e coluna 2: 1
Linha 1 e coluna 3: 5
Linha 2 e coluna 1: 3
Linha 2 e coluna 2: 9
Linha 2 e coluna 3: 30
Linha 3 e coluna 1: 7
Linha 3 e coluna 2: 23
Linha 3 e coluna 3: 10

Valores na matriz

    8     1     5 
    3     9    30 
    7    23    10 

Os valores pares são: 8 30 10
Resposta/Solução:

Veja a resolução completa para o exercício em Portugol, comentada linha a linha (fiz a resolução no Portugol Webstudio):

// Um algoritmo que lê uma matriz 3x3
programa {
  funcao inicio() {
    // variáveis usadas na resolução do problema
    inteiro matriz[3][3]
    inteiro i, j

    // vamos pedir para o usuário informar os valores
    // dos elementos da matriz, uma linha de cada vez
    para (inteiro i = 0; i < 3; i++) { 
      para (inteiro j = 0; j < 3; j++) {
        escreva("Linha ", (i + 1), " e coluna ", (j + 1), ": ")
        leia(matriz[i][j])
      }
    }

    // vamos mostrar a matriz da forma que ela foi informada
    escreva("\nValores na matriz:\n\n")
    para (inteiro i = 0; i < 3; i++) {
......



Java ::: Java para Engenharia ::: Eletricidade, Circuitos Elétricos e Eletrônicos

Como calcular corrente, voltagem, resistência e potência em um circuito série de corrente contínua usando Java

Quantidade de visualizações: 1234 vezes
Como calcular corrente, voltagem, resistência e potência em um círcuito série de corrente contínua usando Java

Nesta dica mostrarei como é possível usar operações básicas da linguagem Java para calcular a corrente, voltagem, resistência e potência em um circuito série de corrente contínua.

É conhecido como um circuito série um circuito composto exclusivamente por componentes elétricos ou eletrônicos conectados em série (de conexão em série, que é o mesmo que associação em série ou ligação em série). A associação em série é uma das formas básicas de se conectarem componentes elétricos ou eletrônicos. A nomeação descreve o método como os componentes são conectados.

Vanos começar analisando a seguinte imagem:



Esta imagem foi extraída do Simulador do PHET, no endereço https://phet.colorado.edu. Note que temos uma fonte de alimentação 90V, e três resistores (com resistências de 10&#937;, 20&#937; e 30&#937;).

Vamos começar relembrando os aspectos importantes dos circuitos em série:

1) A corrente elétrica I (medida em ampères (A), ou coulombs por segundo) é comum a todos os elementos do circuito.

2) A tensão elétrica V, (medida em volts (V), ou joules por coulomb) é dividida entre as cargas, ou seja, a soma das tensões nas cargas deve ser igual à tensão da fonte de alimentação.

3) A resistência elétrica R (medida em ohms (&#937;)) total do circuito é igual à soma de todas as resistências das cargas.

4) A potência total P (medida em watts (W)) é igual à soma das potências das cargas que compõem o circuito.

Vamos escrever um pouco de código então? Veja nosso primeiro código Java que calcula a corrente total, a tensão total, a resistência total e a potência total do circuito em série mostrado na imagem:

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
......


Ao executar este código Java nós teremos o seguinte resultado:

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Pronto! Agora que já sabemos o valor da corrente elétrica, e sabemos que a corrente é comum a todos os elementos do circuito em série, podemos calcular a tensão individual dos componentes. Assim, veja um trecho de código Java que calcula a tensão elétrica nos três resistores (lembre-se: tensão é o produto da corrente pela resistência):

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
    
    // Potência elétrica total
    double pTotal = eTotal * iTotal; 
    
    // mostra os valores
    System.out.println("Tensão total: " + eTotal);
    System.out.println("Resistência total: " + rTotal);
......


Ao executar este código Java nós teremos o seguinte resultado:

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Tensão nos resistores individuais:
Tensão no Resistor 1: 15.0V
Tensão no Resistor 2: 30.0V
Tensão no Resistor 3: 45.0V

Para finalizar, vamos calcular a potência dissipada em cada um dos resistores de forma individual. Observe que a potência é o produto da tensão pela corrente (P = E.I). Eis o código:

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
    
    // Potência elétrica total
    double pTotal = eTotal * iTotal; 
    
    // mostra os valores
    System.out.println("Tensão total: " + eTotal);
    System.out.println("Resistência total: " + rTotal);
    System.out.println("Corrente total: " + iTotal);
    System.out.println("Potência total: " + pTotal);
    
    // mostra as tensões nos resistores
    System.out.println("\nTensão nos resistores individuais:");
......


Ao executar este código Java nós teremos o seguinte resultado:

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Tensão nos resistores individuais:
Tensão no Resistor 1: 15.0V
Tensão no Resistor 2: 30.0V
Tensão no Resistor 3: 45.0V

Potência dissipada nos resistores individuais:
Potência no Resistor 1: 22.5W
Potência no Resistor 2: 45.0W
Potência no Resistor 3: 67.5W


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
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.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 17 usuários muito felizes estudando em nosso site.