Você está aqui: Delphi ::: Imagens, Gráficos e Cores ::: TBitmap (A classe TBitmap) |
Como retornar a altura de uma imagem carregada no TBitmap do Delphi usando a propriedade HeightQuantidade de visualizações: 855 vezes |
Em algumas situações situações nós queremos saber a altura em pixels de uma imagem carregada em um objeto TBitmap da linguagem Delphi. Para isso nós podemos usar sua propriedade Height. Veja um trecho de código Delphi no qual carregamos uma imagem JPG em um TJpegImage para carregar uma imagem JPEG. Em seguida nós transferimos essa imagem para um bitmap e o desenhamos na superfície do formulário. Note a chamada à propriedade Height da classe TBitmap para retornar a altura da imagem como um Integer (representando a altura em pixels): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // não se esqueça de adicionar 'JPEG' no uses procedure TForm4.Button1Click(Sender: TObject); var jpg: TJpegImage; bmp: TBitmap; begin // vamos criar um novo objeto TJpegImage jpg := TJpegImage.Create; // agora vamos carregar a imagem JPG desejada jpg.LoadFromFile('C:\estudos_java\lago.jpg'); // agora criamos o bitmap bmp := TBitmap.Create; // e atribuimos o JPG ao Bitmap bmp.Assign(jpg); // finalmente desenhamos o bitmap no form Form4.Canvas.Draw(0, 0, bmp); // vamos mostrar a altura do bitmap ShowMessage('A altura da imagem é: ' + IntToStr(bmp.Height) + ' pixels.'); // e limpamos o JPG e o Bitmap bmp.free; jpg.free; end; Ao executar este código Delphi nós teremos um resultado parecido com: A altura da imagem é: 500 pixels. |
Link para compartilhar na Internet ou com seus amigos: |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como obter o resultado de uma divisão de inteiros, incluindo o resto, usando a procedure DivMod() do DelphiQuantidade de visualizações: 15959 vezes |
Em algumas situações precisamos obter o resultado de uma divisão de inteiros e gostaríamos de obter também o resto da divisão, ou seja, se dividirmos 10 por 3 o resultado será 3 (3 x 3 = 9) e o resto será 1. A procedure DivMod(), presente na unit Math nos permite fazer isso. Ela requer quatro argumentos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure DivMod(Dividend: Integer; Divisor: Word; var Result, Remainder: Word); Veja que fornecemos o dividendo e o divisor como Integer e Word mas, as variáveis que receberão o resultado e o resto da divisão deverão ser passadas por referência. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm2.Button1Click(Sender: TObject); var dividendo, divisor: Integer; resultado, resto: Word; begin // uses Math // vamos dividir 10 por 3 dividendo := 10; divisor := 3; DivMod(dividendo, divisor, resultado, resto); // vamos exibir o resultado ShowMessage('Resultado da divisão: ' + IntToStr(resultado)); // vamos exibir o resto ShowMessage('Resto da divisão: ' + IntToStr(resto)); end; Note que DivMod() realiza seu trabalho e guarda os resultados nas variáveis resultado e resto, que, como vimos na assinatura da procedure, devem ser fornecidas por referência. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma substring está contida no final de uma string usando a função AnsiEndsStr() do DelphiQuantidade de visualizações: 11285 vezes |
Em algumas situações precisamos verificar se uma substring está contida no final de uma string, ou seja, se a string termina com um determinado sufixo. Em Delphi isso pode ser feito com o auxílio da função AnsiEndsStr(). Esta função requer a substring a ser pesquisada e a string alvo da pesquisa. O retorno será true se a substring estiver contida no final da string. Do contrário o retorno será false. Veja o exemplo:---------------------------------------------------------------------- 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 frase: string; begin frase := 'Gosto muito de Delphi e Java'; // vamos verificar se a string termina com "Java" if AnsiEndsStr('Java', frase) then ShowMessage('A frase termina com a substring indicada') else ShowMessage('A frase NÃO termina com a substring indicada') end; Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: VCL - Visual Component Library ::: TStringGrid |
Como definir a altura padrão das linhas em um TStringGrid do Delphi usando a propriedade DefaultRowHeightQuantidade de visualizações: 10739 vezes |
A propriedade DefaultRowHeight é útil quando queremos obter ou definir a altura padrão das linhas de um TStringGrid. Por padrão, o valor desta propriedade é 24 pixels. Veja no trecho de código abaixo como o valor desta propriedade é obtido: ---------------------------------------------------------------------- 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 obter a altura padrão das linhas // do TStringGrid Memo1.Lines.Add('A altura padrão das linhas do TStringGrid é: ' + IntToStr(StringGrid1.DefaultRowHeight)); end; Ao executar este trecho de código você terá o seguinte resultado: A altura padrão das linhas do TStringGrid é: 24. Podemos definir a altura padrão das linhas do TStringGrid em tempo de design ou execução simplemente definindo um valor inteiro para sua propriedade DefaultRowHeight. 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 // vamos definir a altura padrão das linhas // do TStringGrid StringGrid1.DefaultRowHeight := 50; end; Quando novas linhas são adicionadas por meio da propriedade RowCount, suas alturas serão aquelas da propriedade DefaultRowHeight. |
Vamos testar seus conhecimentos em Hidrologia |
(IFTM 2018) O Brasil possui uma das mais extensas e diversificadas redes fluviais do mundo, dividida em 12 regiões hidrográficas: Bacia Amazônica, Bacia Tocantins-Araguaia, Bacia do Paraguai, Bacia Atlântico Nordeste Ocidental, Bacia Atlântico Nordeste Oriental, Bacia do Paraná, Bacia do Parnaíba, Bacia do São Francisco, Bacia do Atlântico Leste, Bacia do Atlântico Sudeste, Bacia do Atlântico Sul e Bacia do Uruguai. Disponível em: http://www.brasil.gov.br/noticias/meioambiente/2009/10/rios-e-bacias-do-brasil-formam-uma-dasmaiores-redes-fluviais-do-mundo. Adaptado. Acesso em: 16 de out de 2018. Marque a alternativa que apresenta apenas as bacias hidrográficas que banham a Região Centro-Oeste. A) Paraná, Paraguai, Tocantins-Araguaia, Amazônica. B) Tocantins-Araguaia, Atlântico Sul, Uruguai, Paraguai. C) Paraguai, Uruguai, São Francisco e Atlântico Nordeste. D) Atlântico Nordeste, Paraguai, Amazônica, Parnaíba. E) Amazônica, Atlântico Leste, Tocantins-Araguaia e São Francisco. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?palavra = "ESTUDAR" resultado = palavra[::-1] print(resultado) A) ESTUDAR B) EST C) RADUTSE D) TUDAR E) ESTUDA Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javapublic class Estudos { public static void main(String[] args) { int a = 3; System.out.println(++a * 8); } } Qual é o resultado de sua execução? A) 24 B) 32 C) 72 D) 25 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
A instrução default é obrigatória na construção switch...case...default do JavaScript? A) Sim B) Não Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Transporte de fluidos por bombas O objetivo no transporte de fluidos por bombas é transferir energia ao fluido, compensar as perdas por atrito e aumentar a vazão no transporte com diferença de altura ou de pressão. Suponha que escoe petróleo cru por uma tubulação horizontal com auxílio de uma bomba com eficiência de 85%. Qual potência deve ser fornecida na entrada da estação de bombeamento para vazão de 2,94m3/s? Considere que a queda de pressão estimada ao longo do escoamento é de 7,92MPa. A) 23,30MW. B) 27,41MW. C) 19,80MW. D) 85,00MW. E) 7,96MW. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
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 |