Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresCódigo-Fonte Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Você está aqui: Delphi ::: Win32 API (Windows API) ::: Tipos de Dados

Como formar um WORD a partir de dois BYTE

Quantidade de visualizações: 11949 vezes
O tipo de dados BYTE da API do Windows é um tipo integral de 8 bits sem sinal (com valor mínimo de 0 e máximo de 255) enquanto o tipo WORD é um tipo integral de 16 bits também sem sinal (com o valor mínimo de 0 e o máximo de 65.535). Isso nos mostra que um WORD é o dobro de um BYTE.

Em algumas ocasiões pode ser necessário guardar em um WORD o valor de dois BYTE, talvez com o propósito de separá-los em um determinado momento (em minhas dicas nesta mesma seção você verá como isso pode ser feito).

Dois BYTE podem ser agrupados em um WORD usando a macro MAKEWORD da API do Windows. Comece analisando os seguintes valores:

Valor 1: 80
Valor 2: 120

Estes dois valores podem ser representados em binário da seguinte forma:

Valor 1: 01010000
Valor 2: 01111000

Ao combinarmos estes dois bytes em um WORD, o primeiro valor será o byte de ordem alta (mais significativo) e o segundo valor será o byte de ordem baixa (menos significativo). E o resultado será dois bytes:

Valor final: 01010000 01111000

Transformando este valor binário em decimal nós temos 20600. Vamos ver isso em Delphi? Analise cuidadosamente o trecho de código abaixo:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


Ao executar este código teremos o seguinte resultado:

O valor WORD resultante é: 20600

Note que a macro MAKEWORD pede primeiro o byte de ordem baixa e então o byte de ordem alta. O Delphi também nos oferece uma função MakeWord() que recebe dois bytes (na mesma ordem que MAKEWORD) e retorna um Word. Veja sua definição na unit Windows.pas:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


O entendimento desta função é bem simples. Suponhamos que temos os seguintes bytes:

a: 01010000 (ordem alta)
b: 01111000 (ordem baixa)

O operador shl move (shift) o byte de ordem alta 8 bits para a esquerda, resultando em 01010000 00000000. Em seguida aplicamos o operador or (que torna um bit 0 somente quando os dois bits dos valores comparados são 0). Veja:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


Convertendo 01010000 01111000 para decimal nós temos 20600.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.

Link para compartilhar na Internet ou com seus amigos:

Delphi ::: Dicas & Truques ::: Recursão (Recursividade)

Como escrever uma função recursiva para calcular a potência de um número em Delphi

Quantidade de visualizações: 13687 vezes
O código abaixo mostra como você pode escrever uma função recursiva em Delphi que permite calcular a potência de um número inteiro:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: VCL - Visual Component Library ::: TListBox

Como pesquisar e selecionar um item em uma ListBox do Delphi

Quantidade de visualizações: 16681 vezes
O trecho de código abaixo mostra como podemos usar a mensagem LB_SELECTSTRING da Windows API para pesquisar e selecionar um item em uma ListBox. Veja que aqui eu usei a função InputBox() para permitir ao usuário inserir o texto a ser pesquisado. Note também o valor -1 fornecido como wParam para a função SendMessage(). Este valor faz com que a busca se inicie no primeiro item da lista e continue até o final da lista. Veja o código:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


Note que a busca efetuada por LB_SELECTSTRING não é sensitiva a maiúsculas e minúsculas. Assim, Osmar e OSMAR são tratadas igualmente.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: VCL - Visual Component Library ::: TListBox

Como usar a propriedade Items da classe TListBox do Delphi

Quantidade de visualizações: 11362 vezes
A propriedade Items da classe TListBox representa um objeto da classe TStrings, a classe base para objetos que representam uma lista de strings. Isso quer dizer que podemos acessar a propriedade Items e usar todos os métodos e propriedades da classe TStrings, tais como Add(), Clear(), Delete(), Exchange(), etc.

Veja, por exemplo, como usar o método Add() para adicionar um novo item na ListBox:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


É possível obter um referência à propriedade Items para manipular os itens da ListBox indiretamente. Veja:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


Esta técnica é útil quando queremos inserir itens em uma TListBox a partir de uma função ou procedure. Veja:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


Para finalizar, veja como escrever uma função personalizada que constrói e retorna uma lista de strings. Note como usamos o objeto TStrings retornado para preencher a ListBox:

Este código completo faz parte do nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.
Domine lógica de programação e várias linguagens de programação com o nosso Super Pack Aprenda a Programar - 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos.

Torne-se um(a) expert em Java, Portugol, VisuAlg, Python, PHP, JavaScript, Delphi, C, C++, C#, VB.NET, LISP, Ruby, e muito mais. São mais de 15.000 páginas com conteúdo exclusivo para você estudar onde e quando quiser.
Me Fala Mais


Observe que, embora o retorno seja TStrings, no corpo da função nós construímos um objeto da classe TStringList. Isso acontece porque TStrings é uma classe abstrata e, portanto, não podemos chamar seu construtor. Como TStringList herda de TStrings e é uma classe concreta, esta é a escolha mais óbvia.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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