Você está aqui: Delphi ::: VCL - Visual Component Library ::: TListBox |
Como usar a propriedade Items da classe TListBox do DelphiQuantidade de visualizações: 11297 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos adicionar um novo item na ListBox listBox1.Items.Add('Arquivo de Códigos'); end; É possível obter um referência à propriedade Items para manipular os itens da ListBox indiretamente. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var lista: TStrings; begin // vamos obter a lista de itens da ListBox lista := listBox1.Items; // vamos adicionar um novo item à lista lista.Add('Arquivo de Códigos'); end; Esta técnica é útil quando queremos inserir itens em uma TListBox a partir de uma função ou procedure. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // procedure personalizada para inserir itens em uma TListBox procedure inserirItensListBox(lista: TStrings); begin lista.Add('Arquivo de Códigos'); lista.Add('Osmar J. Silva'); end; procedure TForm1.Button1Click(Sender: TObject); begin // vamos chamar a procedure que adiciona os itens na ListBox inserirItensListBox(listBox1.Items); end; 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // função personalizada que constrói e retorna uma lista // de strings function obterLista: TStrings; var lista: TStringList; begin lista := TStringList.Create; lista.Add('Arquivo de Códigos'); lista.Add('Osmar J. Silva'); Result := lista; end; procedure TForm1.Button1Click(Sender: TObject); begin // vamos obter a lista de strings ListBox1.Items := obterLista; end; 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. |
Link para compartilhar na Internet ou com seus amigos: |
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como escrever em um arquivo texto usando as funções Write() e WriteLn() do DelphiQuantidade de visualizações: 28376 vezes |
Não há como fugir. Cedo ou tarde precisaremos escrever em um arquivo texto usando Delphi. E esta dica foi escrita com o propósito de facilitar esta tarefa. O primeiro passo para se escrever em um arquivo texto usando Delphi é declarar uma variável do tipo TextFile. Em seguida usamos a procedure AssignFile() para associar a variável TextFile ao arquivo em disco. Como queremos escrever conteúdo novo no arquivo, a função Rewrite() pode ser usada. Esta função cria o arquivo em disco se este ainda não existir. Se o mesmo existir, ele é excluído e a função cria outro com o mesmo nome. E, para escrever conteúdo no arquivo texto, usamos as funções Write() e WriteLn(). A primeira escreve no arquivo enquanto a segunda escreve no arquivo e adiciona o marcador de quebra de linha. Veja o exemplo para um melhor entendimento: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var arquivo: TextFile; begin // vamos fazer uma ligação entre a variável arquivo e o // arquivo que queremos manipular AssignFile(arquivo, 'C:\arquivo de codigos\dados.txt'); // vamos abrir o arquivo ou criar um novo Rewrite(arquivo); // vamos escrever no arquivo agora WriteLn(arquivo, 'Sou a primeira linha.'); Write(arquivo, 'Sou a segunda linha.'); WriteLn(arquivo, ' E lá vem...'); WriteLn(arquivo, 'A terceira linha'); // hora de fechar o arquivo CloseFile(arquivo); // fim ShowMessage('Operação realizada com sucesso.'); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em Delphi usando a função Sin()Quantidade de visualizações: 12696 vezes |
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem: Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função Sin() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add('Seno de 0 = ' + FloatToStr(Sin(0))); Memo1.Lines.Add('Seno de 1 = ' + FloatToStr(Sin(1))); Memo1.Lines.Add('Seno de 2 = ' + FloatToStr(Sin(2))); end; Ao executar este código Delphi nós teremos o seguinte resultado: Seno de 0 = 0 Seno de 1 = 0,841470984807897 Seno de 2 = 0,909297426825682 Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: |
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como verificar se um arquivo existe usando a função FileExists() da unit SysUtils do DelphiQuantidade de visualizações: 19729 vezes |
Quando estamos trabalhando com arquivos, é sempre uma boa idéia checar se um arquivo já existe antes de permitir que nosso código tente criar outro arquivo com o mesmo nome. Em Delphi a existência de um arquivo pode ser verificada por meio do uso da função FileExists(), na unit SysUtils. Esta função recebe o caminho e nome do arquivo e retorna true se ele existir, e false caso contrário. Veja um trecho de código no qual testamos se um determinado aqui já existe no sistema: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var arquivo: string; begin // diretorio e nome do arquivo arquivo := 'C:\arquivo de codigos\dados.txt'; // vamos verificar se o arquivo existe no caminho especificado if FileExists(arquivo) then ShowMessage('O arquivo existe') else ShowMessage('O arquivo NÃO existe'); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de extremidade É importante detalhar as armaduras longitudinais e transversais de um pilar de extremidade durante a concretagem dessas estruturas, evitando futuras patologias. Para isso, é importante que o projetista atenda aos requisitos normativos desse detalhamento. Sobre o detalhamento de armaduras de pilares de extremidade, assinale a alternativa correta. A) O máximo espaçamento permitido entre as barras longitudinais corresponde a 500mm. B) O espaçamento mínimo permitido entre as barras transversais corresponde a 5mm. C) O diâmetro da armadura transversal deve ser maior ou igual a 5mm ou 1/4 do diâmetro da barra longitudinal. D) O diâmetro máximo da barra longitudinal corresponde a 12,5mm e a 1/8 da barra transversal. E) Para armaduras de aço CA-50, o espaçamento vertical corresponde a 25 vezes o diâmetro da barra transversal. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Equação da Continuidade Uma tubulação vertical de 200mm de diâmetro apresenta, em um pequeno trecho, uma seção contraída de 100mm, onde a pressão é de 1 atm. A 4 metros acima desse ponto, a pressão eleva-se para 18mca. Calcular a velocidade e a vazão no trecho de diâmetro 200mm. Considerar escoamento permanente e sem perda de energia. A) V = 3,91m/s e Q = 0,12m3/s. B) V = 15,64m/s e Q =0,12m3/s. C) V = 3,91m/s e Q = 0,03m3/s. D) V = 15,64m/s e Q = 0,49m3/s. E) V = 2,29m/s e Q = 0,07m3/s. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual o resultado da execução do seguinte código JavaScript?document.write(0.1 + 0.2 == 0.3); A) Um erro de execução B) true C) 0.6 D) false Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual função é usada para converter uma string em letras maiúsculas em Python? A) toUpper() B) upper() C) upper_case() D) toUpperCase() E) uppercase() Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de se inserir comentários de múltiplas linhas em JavaScript? A) <!-- Este comentário tem mais de uma linha --> B) // Este comentário tem mais de uma linha // C) # Este comentário tem mais de uma linha # D) /* Este comentário tem mais de uma linha */ Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Códigos 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 |
Controle 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 |
Linguagens Mais Populares |
1º lugar: Java |