Desafios e Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: VB.NET ::: Windows Forms ::: ComboBox

Como usar o método SelectedIndexChanged para detectar a mudança do índice selecionado em um ComboBox

Quantidade de visualizações: 9918 vezes
'Este exemplo mostra como detectar quando um item é
'selecionado no ComboBox. Aqui nós usamos o evento
'SelectedIndexChanged para detectar alterações na
'propriedade SelectedIndex (que representa o índice
'selecionado) do ComboBox.

Public Class Form1
  Private Sub Form1_Load(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles MyBase.Load
    'adiciona itens no combo
    ComboBox1.Items.Add("Visual Basic")
    ComboBox1.Items.Add("C#")
    ComboBox1.Items.Add("Java")
    ComboBox1.Items.Add("Delphi")
    ComboBox1.Items.Add("JavaScript")
  End Sub

  Private Sub ComboBox1_SelectedIndexChanged(ByVal sender _
       As System.Object, ByVal e As System.EventArgs) Handles _
       ComboBox1.SelectedIndexChanged
    Dim indice As Integer = ComboBox1.SelectedIndex
    MsgBox("O índice selecionado agora é: " & indice)
  End Sub
End Class


Link para compartilhar na Internet ou com seus amigos:

PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como obter apenas os elementos duplicados em um vetor usando as funções array_unique() e array_diff_assoc() do PHP

Quantidade de visualizações: 14918 vezes
Em algumas situações precisamos obter apenas os elementos que se repetem em um vetor (array). Isso pode ser feito combinando-se as funções array_unique() e array_diff_assoc(). Veja:

Este trecho de código ou resolução de exercício faz parte da Coleção 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, AutoCAD, Civil 3D, Revit, PyQGIS, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Apenas R$ 10,90 (3 Meses de Acesso)

Quero Ser Apoiador(a)


A execução deste código produz o seguinte resultado:

Elementos no array:
9 - 2 - 6 - 11 - 6 - 9 - 3 - 6 - 

Elementos repetidos:
6 - 9 -



Python ::: Tkinter GUI Toolkit ::: Entry

Como setar o foco em uma caixa de texto Entry do Tkinter usando a função focus_set()

Quantidade de visualizações: 832 vezes
Em várias situações durante o processo de programação em Tkinter nós precisamos, via programação, trocar o foco de uma caixa de texto para outra. Isso pode ser feito com o auxílio da função focus_set().

No código abaixo nós temos uma janela Tkinter com duas caixas de texto Entry e um botão Button. Experimente digitar conteúdo nas duas caixas de texto e depois clicar no botão. Você verá que o foco é colocado novamente na primeira caixa de texto.

Veja o código Python completo:

Este trecho de código ou resolução de exercício faz parte da Coleção 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, AutoCAD, Civil 3D, Revit, PyQGIS, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Apenas R$ 10,90 (3 Meses de Acesso)

Quero Ser Apoiador(a)



Java ::: Pacote java.io ::: Console

Java para iniciantes - Como usar a classe Console da linguagem Java

Quantidade de visualizações: 9706 vezes
A classe Console, que é definida no pacote java.io como public e final, fornece métodos para acessar o dispositivo de console baseado em caracteres associado com a máquina virtual Java (JVM) sendo executada no momento. Um objeto desta classe é obtido por meio de uma chamada ao método console() da classe System. Veja:

Este trecho de código ou resolução de exercício faz parte da Coleção 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, AutoCAD, Civil 3D, Revit, PyQGIS, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Apenas R$ 10,90 (3 Meses de Acesso)

Quero Ser Apoiador(a)


É importante observar que, durante a autoria desta dica (Maio/2012), não é possível obter um objeto da classe Console executando a aplicação dentro do Netbeans e/ou Eclipse, somente executando a aplicação a partir da linha de comando ou outros editores, tais como o JCreator. A razão disso é que, tanto o Netbeans quanto o Eclipse executam a janela de console como um processo de fundo, afim de obter sua saída e exibir em suas próprias janelas.

Veja a posição desta classe na hierarquia de classes da plataforma Java:

java.lang.Object
  java.io.Console
A classe Console implementa a interface Flushable.

O fato de a máquina virtual ter um console ou não depende da plataforma na qual ela está sendo executada, e também na forma que a JVM foi invocada. Se a máquina virtual é iniciada a partir de uma janela de linha de comando interativa sem redirecionar os fluxos de entrada e saída padrão, então o console existirá e estará conectado ao teclado e tela a partir da qual a JVM foi lançada. Se a máquina virtual é iniciada automaticamente, por exemplo, como um gerenciador de agendamento de tarefas em segundo plano, então ela, em geral, não terá um console.

Se a JVM atual tiver um console, então este é representado por uma instância única da classe Console, que pode ser obtida por meio de uma chamada ao método console() da classe System. Se nenhum dispositivo de console estiver disponível, uma chamada a este método retornará o valor null.

Operações de leitura e escrita são sincronizadas para garantir a atomicidade das operações críticas. Assim, as chamadas aos métodos readLine(), readPassword(), format() e printf(), assim como operações de leitura, formatação e escrita nos objetos retornados pelos métodos reader() e writer() poderão causar bloqueios em cenários de múltiplas threads.

Chamar close() nos objetos retornados pelos métodos reader() e writer() não fechará os fluxos destes objetos.

Os métodos de leitura da classe Console retornam null quando o fim do fluxo de entrada de console é alcançado, por exemplo, ao digitar control-D no Linux/Unix ou control-Z no Windows. Operações de leitura subsequentes terão sucesso se caracteres adicionais forem inseridos mais tarde no dispositivo de entrada do console.


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

Como usar o controle TListBox em suas aplicações Delphi

Quantidade de visualizações: 13631 vezes
Objetos da classe TListBox, da unit StdCtrls, são controles do tipo lista de seleção. Este componente exibe uma lista com barras de rolagem contendo items que podem ser selecionados, adicionados ou excluídos. A classe TListBox é um wrapper (invólucro) para o controle LISTBOX da plataforma Windows. Em controles do tipo ListBox o usuário pode selecionar apenas um ítem ou vários itens de uma vez.

Em Delphi, a classe TListBox implementa o comportamento genérico definido em TCustomListBox. É esta classe que devemos usar para derivar nossa própria ListBox caso o controle TListBox não satisfaça as nossas necessidades. É claro que podemos partir de qualquer classe que herde de TCustomListBox.

A forma mais comum de adicionarmos um controle TListBox em nossos formulários é selecionando este componente na aba Standard e arrastando-o para a posição desejada na janela. Em seguida podemos adicionar itens na lista acessando sua propriedade Items, que são do tipo TStrings, ou seja, uma lista de strings. Ao clicarmos na propriedade Items no Object Inspector, um String List Editor será exibido. Basta inserir algumas strings nesta caixa de texto, pressionar o botão OK e verificar como o controle já exibe os itens que acabamos de inserir.

Em tempo de execução, itens podem ser adicionados à uma TListBox usando códigos parecidos com:

Este trecho de código ou resolução de exercício faz parte da Coleção 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, AutoCAD, Civil 3D, Revit, PyQGIS, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Apenas R$ 10,90 (3 Meses de Acesso)

Quero Ser Apoiador(a)


Se precisarmos obter o texto do ítem selecionado em uma TListBox, podemos usar:

Este trecho de código ou resolução de exercício faz parte da Coleção 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, AutoCAD, Civil 3D, Revit, PyQGIS, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Apenas R$ 10,90 (3 Meses de Acesso)

Quero Ser Apoiador(a)


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


Delphi ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Como usar nil para testar ou indicar que um ponteiro Delphi não referencia nenhuma posição de memória

Quantidade de visualizações: 14844 vezes
O propósito dos ponteiros é nos permitir acessar e manipular os valores de outras variáveis. Isso é feito acessando-se diretamente o endereço de memória destas variáveis. Porém, há situações nas quais queremos testar se um determinado ponteiro está realmente apontando para um local na memória. Veja o seguinte trecho de código:

Este trecho de código ou resolução de exercício faz parte da Coleção 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, AutoCAD, Civil 3D, Revit, PyQGIS, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Apenas R$ 10,90 (3 Meses de Acesso)

Quero Ser Apoiador(a)


Ao executarmos este código nós teremos um valor aleatório sendo exibido (e um warning do tipo W1036 Variable 'pvalor' might not have been initialized. Isso acontece porque criamos um ponteiro para um Integer mas não indicamos o endereço da variável para a qual ele aponta, ou seja, até o momento este ponteiro é nulo (não aponta para nenhuma posição de memória). Mova a declaração do ponteiro para a seção interface e verá que código compilará mas teremos uma exceção do tipo EAccessViolation (Exception class EAccessViolation with message 'Access violation at address ... in module ...). Clássico erro de lógica. Estamos tentando acessar dados não existentes na memória.

Esta situação pode ser evitada testando se o ponteiro ainda é nulo antes de tentarmos desreferenciá-lo. Veja:

Este trecho de código ou resolução de exercício faz parte da Coleção 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, AutoCAD, Civil 3D, Revit, PyQGIS, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Apenas R$ 10,90 (3 Meses de Acesso)

Quero Ser Apoiador(a)


Note que movi a declaração do ponteiro para a secão interface, de forma a torná-la global. Isso evita que o ponteiro seja automaticamente inicializado (o que sempre acontece com as variáveis locais). Ao executar o código novamente você verá a mensagem indicando que o ponteiro ainda é nulo.

Podemos também usar nil para, explicitamente, marcar um ponteiro como nulo, ou seja, definir que o ponteiro não aponta para nenhum local na memória. Comece declarando as variáveis abaixo na seção interface do formulário:

valor: Integer;
pvalor: ^Integer;

Em seguida coloque o código abaixo no evento Click de um botão:

Este trecho de código ou resolução de exercício faz parte da Coleção 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, AutoCAD, Civil 3D, Revit, PyQGIS, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Apenas R$ 10,90 (3 Meses de Acesso)

Quero Ser Apoiador(a)


Sempre que marcamos um ponteiro como nil, a memória até então ocupada por ele é liberada para uso por parte do sistema operacional ou demais programas. Este procedimento ajuda a evitar os vazamentos de memória (memory leak) tão frequentes em códigos que trabalham com memória alocada dinamicamente.

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

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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais


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