Você está aqui: Adobe Flex ::: Classes, Controles e Componentes ::: MenuBar, Menu, PopUpMenuButton e Relacionados |
Entendendo a classe MenuQuantidade de visualizações: 8652 vezes |
A classe Menu cria um menu pop-up contendo escolhas individuais similar aos menus Arquivo e Editar, encontrados em muitos aplicativos. O menu pop-up pode ter um número ilimitado de níveis de sub-menus. Depois que um controle Menu é aberto, ele permanece visível até que seja fechado como resultado de uma das seguintes ações: 1) Uma chamada ao método Menu.hide(); 2) Quando o usuário seleciona um item habilitado do menu; 3) Quando o usuário clica fora da área do controle Menu; 4) Quando o usário seleciona outro componente na aplicação. A classe Menu não possui tag MXML correspondente. Devemos criá-la usando ActionScript. Esta classe pertence ao pacote mx.controls. Veja sua posição na hierarquia de classes do Flex 2.0: Object EventDispatcher DisplayObject InteractiveObject DisplayObjectContainer Sprite FlexSprite UIComponent ScrollControlBase ListBase List Menu O exemplo abaixo mostra como criar uma barra de menus e adicioná-la a uma aplicação Flex: <?xml version="1.0" encoding="iso-8859-1"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="montarMenu()"> <mx:Panel id="painel" title="Estudos" status="Active" height="300" width="400" paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10"> <mx:MenuBar labelField="@label" dataProvider="{barraMenu}" /> </mx:Panel> <mx:Script> <![CDATA[ import mx.collections.*; [Bindable] public var barraMenu:XMLListCollection; private var barraMenuXML:XMLList = <> <menuitem label="Arquivo" data="arquivo"> <menuitem label="Abrir" data="abrir"/> </menuitem> </>; private function montarMenu():void { barraMenu = new XMLListCollection(barraMenuXML); } ]]> </mx:Script> </mx:Application> |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens |
Como carregar uma imagem em um JFrame do Java Swing - Manipulação de imagens em JavaQuantidade de visualizações: 18716 vezes |
Nesta dica mostrarei como é possível combinar as classes Toolkit e MediaTracker para carregar uma imagem JPG e exibi-la na superfície da uma janela JFrame do Java Swing. Este exemplo é muito útil, pois abre o horizonte para uma infinidade de aplicações interessantes, deste visualizadores de imagens e fotos até jogos em Java. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ private Image imagem; public Estudos() { super("Carregando imagens em uma JFrame"); // imagem a ser exibida String minhaImagem = "foto1.jpg"; Toolkit toolkit = Toolkit.getDefaultToolkit(); imagem = toolkit.getImage(minhaImagem); MediaTracker mediaTracker = new MediaTracker(this); mediaTracker.addImage(imagem, 0); try{ mediaTracker.waitForID(0); } catch(InterruptedException ie){ System.err.println(ie); System.exit(1); } setSize(imagem.getWidth(null), imagem.getHeight(null)); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void paint(Graphics graphics){ graphics.drawImage(imagem, 0, 0, null); } } Ao executar esta aplicação Java Swing nós teremos o seguinte resultado: |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como retornar a quantidade de colunas do TDBGrid do Delphi em tempo de execuçãoQuantidade de visualizações: 9119 vezes |
Em algumas situações precisamos obter a quantidade de colunas em um controle TDBGrid em tempo de execução. Isso pode ser feito por meio da propriedade Count da classe TDBGridColumns. Um controle TDBGrid possui uma referência a um objeto desta classe por meio de sua propriedade Columns. Veja um trecho de código no qual clicamos em um botão e exibimos a quantidade de colunas em um DBGrid chamado "DBGrid1": ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button3Click(Sender: TObject); var colunas: Integer; begin // vamos obter a quantidade de colunas no DBGrid colunas := DBGrid1.Columns.Count; ShowMessage('O DBGrid possui ' + IntToStr(colunas) + ' colunas'); end; Ao executar o código e clicar no botão você verá uma mensagem parecida com: "O DBGrid possui 10 colunas". Esta dica foi escrita e testada no Delphi 2009. |
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a apótema de um polígono regular de N lados em PythonQuantidade de visualizações: 469 vezes |
Uma das formas mais comuns de se obter a área de um polígono regular é usando a seguinte fórmula: \[\text{A} = \frac{1}{2} \cdot \text{p} \cdot \text{a} \] Onde: p = Perímetro, ou seja, a soma dos comprimentos de todos os lados. a = Apótema, isto é, uma parte que une o centro do polígono ao meio de qualquer lado que esteja perpendicular. Agora que já estamos alinhados, saiba que calcular a apótema de um polígono regular "na mão" é fácil, já que só precisamos medir a distância de dois lados opostos e dividir por dois ou traçar linhas cruzadas e medir a distância de um dos lados até a interseção dessas linhas. No entanto, em programação a coisa já é um pouco mais complicada. Nesta dica mostrarei como podemos realizar esta tarefa em Python. Para isso usaremos alguns truques de trigonometria. Comece analisando a seguinte imagem: Note que temos um pentágono com cada lado medindo 4 metros. Recorde que um pentágono é um polígono regular de 5 lados. Para deixar a dica mais didática eu coloquei também uma linha azul representando a apótema do polígono e as linhas cruzadas. Veja agora o código Python que recebe a quantidade de lados do polígono, o comprimento dos lados e retorna a apótema: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Math import math # função que calcula e retorna a apótema de um # polítono regular def calcular_apotema(lados, comprimento): # a quantidade de lados e o comprimento deles # não podem ser negativos if lados < 0 or comprimento < 0: return -1 # calculamos a apótema return (comprimento / (2 * math.tan((180 / lados) * math.pi / 180))) # função principal do programa def main(): # vamos ler a quantidade de lados lados = int(input("Informe a quantidade de lados: ")) # vamos ler o comprimento dos lados comprimento = int(input("Informe o comprimento dos lados: ")) # e agora calculamos a apótema dos polígono apotema = calcular_apotema(lados, comprimento) # e mostramos o resultado print("A apótema do polígono é: {0}".format(apotema)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe a quantidade de lados: 5 Informe o comprimento dos lados: 4 A apótema do polígono é: 2.7527638409423476 |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como usar um laço for para pesquisar valores nos itens de uma ListBox do DelphiQuantidade de visualizações: 12416 vezes |
Nesta dica mostro como é possível pesquisar valores nos itens de uma ListBox. Note que, se o valor pesquisado for encontrado, nós o selecionamos na lista e informamos seu índice. Se não for encontrado nós ajustamos uma variável Boolean e avisamos do não sucesso da operação. Finalmente note que este código faz diferenciação de letras maiúsculas e minúsculas, ou seja, Osmar será diferente de OSMAR. Veja o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button2Click(Sender: TObject); var i: Integer; pesquisa: string; encontrou: Boolean; begin // vamos solicitar o texto a ser pesquisado na ListBox pesquisa := InputBox('Pesquisar', 'Informe o texto', ''); encontrou := false; // vamos usar um laço for para percorrer todos os itens // da ListBox for i := 0 to ListBox1.Count - 1 do begin if ListBox1.Items[i] = pesquisa then begin encontrou := true; // vamos selecionar o item encontrado ListBox1.ItemIndex := i; ShowMessage('O texto pesquisado foi encontrado ' + 'no índice ' + IntToStr(ListBox1.ItemIndex)); end; end; // não foi encontrado? if not encontrou then begin ShowMessage('O texto pesquisado não foi encontrado.'); end; end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como embaralhar os caracteres de uma string em C# usando um objeto da classe RandomQuantidade de visualizações: 10540 vezes |
Nesta dica mostrarei como podemos embaralhar os caracteres de uma palavra, frase ou texto na linguagem C#. Para isso nós faremos uso do método ToCharArray() da classe String para extrair os caracteres da string como um vetor de chars. Em seguida usaremos um objeto da classe Random para gerar números randômicos que serão usados para auxiliar na troca dos caracteres contidos no vetor. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; namespace Estudos { class Principal { static void Main(string[] args) { string palavra = "ARQUIVO"; // converte em uma matriz de caracteres char[] letras = palavra.ToCharArray(); // mostramos a palavra original Console.WriteLine("Palavra original: " + palavra); // vamos embaralhar 5 vezes embaralhar(ref letras, 5); // junta as partes da string novamente string nova_palavra = new String(letras); // exibe o resultado Console.WriteLine("Palavra embaralhada: " + nova_palavra); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } static void embaralhar(ref char[] array, int vezes) { Random rand = new Random(DateTime.Now.Millisecond); for (int i = 1; i <= vezes; i++) { for (int x = 1; x <= array.Length; x++) { trocar(ref array[rand.Next(0, array.Length)], ref array[rand.Next(0, array.Length)]); } } } static void trocar(ref char arg1, ref char arg2) { char strTemp = arg1; arg1 = arg2; arg2 = strTemp; } } } Ao executar este código C# nós teremos o seguinte resultado: Palavra original: ARQUIVO Palavra embaralhada: UVIARQO |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
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 |