Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira Fernandes
Disciplina POO-II.
Material II-BimestreObjetos de Controle Listas
Eventos e Funçõespágina: http://www1.univap.br/~wagner
Prof. ResponsáveisWagner Santos C. de Jesus
Objetos de Controle
Builder C++ conta com uma barra de tarefas capaz de permitir a confecção de rotinas mas sofisticadas com relação a parte visual da aplicação.
Paleta de Ferramentas Standard.Padrão
Usando Objetos principais do C++(Builder).
Criando uma caixa de lista. (ListBox)
Atribuindo dados para caixa de lista.
Usando a propriedade Items.
Permite acrescentar em cada posição da caixa de lista um item enviado pelo métodos Add() que adiciona criando uma nova posição na caixa de texto.
Exemplo :
ListBox1->Items->Add("Maria"); ListBox1->Items->Add("José"); ListBox1->Items->Add("Célia");
Saída :
Onde o primeiro item da caixa de lista é 0 e o terceiro 2 eassim por diante. Em caso nenhum item esteja seleciona ovalor será (-1).
Capturando o Item Selecionado por intermédio da propriedade ItemIndex.
Exemplo :
int x = ListBox1->ItemIndex;ShowMessage(x);
Obs : No exemplo acima x será um número de 0 a 2.
Capturando uma "String" da caixa de Lista. Método Strings[].
Exemplo :
int x = ListBox1->ItemIndex;AnsiString a = ListBox1->Items->Strings[x]);
Obs : Irá retorna com a string selecionada na caixa de Lista pelo usuário armazenando o conteúdo na variável (a).
Criando uma Caixa de Combinação. (ComboBox).
Atribuindo dados para uma caixa de combinação.
Exemplo :
ComboBox1->Items->Add("Item-1"); ComboBox1->Items->Add("Item-2"); ComboBox1->Items->Add("Item-3"); ComboBox1->Items->Add("Item-4");
Saída :
Capturando dados de uma caixa de combinação.
AnsiString a = ComboBox1->Text;
Removendo dados de uma caixa de Combinação. Método Delete().
ComboBox1->Items->Add("Item-1"); ComboBox1->Items->Add("Item-2"); ComboBox1->Items->Add("Item-3"); ComboBox1->Items->Add("Item-4"); ComboBox1->Items->Delete(3);
Obs : No exemplo acima o item eliminado será (Item-4). Poiscomo na caixa de lista a caixa de combinação também iniciana posição 0 (Zero).
Atenção : Todas as propriedades e métodos usados para a caixa de lista (ListBox) valem para a caixa de combinação (ComboBox1).
Criando uma caixa de verificação. (CheckBox)
Exemplo :
CheckBox1->Checked = true;
Saida :
Obs : Marca a caixa de verificação quandorecebe verdadeiro e desmarca quando recebefalse, podendo ser usado também (0- nãoselecionado ou 1- Selecionado).
Criando botões de rádio. (RadioGroup)
Exemplo :
RadioGroup1->Items->Add("Masc.");RadioGroup1->Items->Add("Fem.");
Saída :
Capturando a informação selecionada no botão de rádio.
Exemplo :
int k = RadioGroup1->ItemIndex; if(k = = 0) ShowMessage("Masc. Foi Selecionado !!!"); else ShowMessage("Fem. Foi Selecionado !!!");
Criando uma Barra de Rolagem. (ScrollBar).
Capturando dados de uma Barra de Rolagem.
void __fastcall TForm1::ScrollBar1Change(TObject *Sender){ int y = ScrollBar1->Position; Label1->Caption = IntToStr(y);}
Obs : Uma Barra de Rolagem possui como propriedades principaisMax = 100 (determina o valor máximo que será atribuído para abarra e a propriedade Min = 0, o valor mínimo atribuído) e oPosition que retorna o valor selecionado.
Criando um Painel. (Panel).
Cria um painel para agrupamento de objetos,ou seja tudo o que acontecer em um objetoPanel acontecera também com os outrosvinculados ao mesmo painel.
Exemplo : (Panel)
No exemplo abaixo a programação irá desabilitaros dois botões usando apenas uma única linha semque seja preciso desabilitar cada botão.
Exemplo :
Panel1->Visible = 0;
Manipulando os Eventos.
Evento vem a ser qualquer tipo de operação disparada por um usuário da aplicação desenvolvida.
OnClick - Dispara o código de programa ao selecionar o objeto com o click do mouse.
Exemplo :
void __fastcall TForm1::Button1Click(TObject *Sender){ ShowMessage("Ok, Botão foi Clicado !!!");}
OnChange - Dispara o código quando um objeto sofre algum tipo de modificação.
Exemplo :
void __fastcall TForm1::Edit1Change(TObject *Sender){ ShowMessage("Houve uma entrada de dados....");}
OnEnter - Dispara o código quando o objeto for selecionado.
Exemplo :
void __fastcall TForm1::Edit1Enter(TObject *Sender){ ShowMessage("Ok, Entrei na caixa...");}
OnExit - Dispara o código quando o foco abandonar o mesmo.
Exemplo :
void __fastcall TForm1::Edit1Exit(TObject *Sender){ ShowMessage("Saindo da caixa de Texto .... ");}
OnDblClick - Dispara o código quando for selecionado com um duplo click.
Exemplo :
void __fastcall TForm1::FormDblClick(TObject *Sender){ ShowMessage("Duplo click no formulário .... ");}
OnActivate - Dispara o código após ter desenhado o formulário.
Exemplo :
void __fastcall TForm1::FormActivate(TObject *Sender){ ShowMessage("Crie o Formulário .... ");}
OnCreate - Dispara o código antes de desenhar o formulário.
void __fastcall TForm1::FormCreate(TObject *Sender){ ShowMessage("Ok");}
OnMouseDown- Dispara o código ao soltar o botão de direito do mouse.
void __fastcall TForm1::FormMouseDown(TObject *Sender,TMouseButton Button, TShiftState Shift, int X, int Y){ Form1->Caption = IntToStr(X)+" - "+IntToStr(Y);}
OnMouseMove - Dispara o código ao mover o mouse no objeto.
void __fastcall TForm1::FormMouseMove(TObject *Sender,TShiftState Shift, int X, int Y){ Form1->Caption = IntToStr(X)+" - "+IntToStr(Y);}
OnClose - Dispara o código antes de fechar o formúlario.
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction&Action){ ShowMessage("Sair");}
Funções MatemáticasEm C++ temos funções matemáticas padrãopara podemos realizar tarefas de cálculos maiscomplexos. Mas Para isso temos que conheceruma diretiva de pré-processamentodenominada <Math.h>.
Os arquivo .h são arquivo de header ou seja cabeçalhos deprogramas que permitem que algumas implementaçõesparticulares a cada aplicação possam ser desenvolvidas semque haja uma mudança na estrutura da linguagem.
Atenção : Para usarmos essas funções devemos incluir nocabeçalho do programa duas diretivas. <stdlib.h>,<math.h>.
Usando as funções Matemáticas.
Para deve se colocar nas primeira linhas do código de seu formulário a seguinte linha de código.
#include <vcl.h>#include <stdio.h>#include <math.h> <= Deve ser colocada no iniciodo programa.
Exemplo das funções matemáticas.
abs() - Retorna com o valor absoluto de um número dado.
Sintaxe :
<ExpN> = abs(<ExpN>);
Exemplo :
int k = abs(-3);
O valor da variável k será 3 positivo.
sqrt() - Retorna com o valor da raiz quadrada do número especificado.
Exemplo :
double y = sqrt(49);
O valor de y será 7.
log() - Retorna com valor do logaritmo neperianocorrespondente ao parâmetro determinado.
Exemplo :
double x = log(100) * 0.434343;
O valor será aproximadamente 2. A constante 0.434343converte o logaritmo neperiano para um logaritmo de base10.
random() - Retorna um valor aleatório entre 0 e umnúmero especificado.
Exemplo :
double x = random(100);
Retorna um número aleatório entre zero e cem.
randomize() - Ativa os número aleatórios para não evitarrepetições.
Exemplo :
randomize();
exp() - Retorna com o exponencial de um número queequivale 2.718 elevado x, onde x é número.
Exemplo :
double x = exp(1);
O valor de x será 2.718......
cos() - Retorna com o valor do cosseno de um ângulodado.
Exemplo :
double y = cos(30 * 3.16 / 180);
O valor de y será 0.8
sin() - Retorna com o valor do seno de umângulo dado.
Exemplo :
double y = sin(30 * 3.16 / 180);
O valor de y será 0.5
tan() - Retorna com o valor da tangente de um ângulodado.
Exemplo :
double y = tan(30 * 3.16 / 180);
O valor de y será 0,5773
pow() - retorna com o valor de uma base elevado a umexpoente.
Exemplo :
double z = pow(3,2);
O valor de y será 9.
Funções de Manipulação de Strings.
Atenção : Na linguagem C++, não existe um tipoString e sim AnsiString incorporado no Builder maspara fazermos manipulações de caracteres devemosusar a lógica para que aconteça, por isso cuidado.
Usando as funções de Manipulação de caracteres.
StrCat() - Concatena duas String ou seja um conjunto de caracteresdo tipo char.
Sintaxe :
StrCat(<ExpC1>,<ExpC2>);
Exemplo :
char text[30] = "Coca"; StrCat(text,"-Cola");
Será armazenado na variável text a palavra Coca-Cola.
strlen() - Retorna com o número de caracteresarmazenados em um char.
Sintaxe :
<ExpN> = strlen(<ExpC>);
Exemplo :
char lixo[10] = "Laranja"; int x = strlen(lixo); ShowMessage(x);
Quebrando uma String(*)AnsiString a = "Maria das Couves";
ShowMessage(a[1]);
Obs:Neste caso será pego o caracter “M” na
String.
length(): Retornar o número de caracteres da String(*)
AnsiString a = “Abacaxi”;int x = a.length();
O valor de x será igual a 7.
Exemplo pegando um caracter na String(*)
void __fastcall TForm1::Button1Click(TObject *Sender){ AnsiString a = "Maria das Couves"; int x = a.Length(); for(int i=1;i<=x;i++) ShowMessage(a[i]);
}
StrComp() - Compara duas strings retornando a prioridade ou aigualdade das mesmas.
Sintaxe :
<ExpN> = StrComp(<Str1>,<Str2>);
Exemplo :
char lixo[20] = "B";char lixo2[20] = "A";int y = StrComp(lixo2,lixo);ShowMessage(y);
<0 Str1< Str2=0 Str1= = Str2>0 Str1 > Str2
StrCopy() - Copia um conjunto do tipo char formandouma String. Podendo ser armazenado em AnsiString.
Sintaxe :
StrCopy(<ExpC1>, <ExpC2>);
Exemplo :
char str1[10] = "Morango";char str2[10];StrCopy(str2,str1);AnsiString z = str2;A saída será z = "Morango".
FormatFloat() - Permite formatar um número com casasdecimais determinadas.
Sintaxe :
<ExpAnsiStr> = FormatFloat(<Formato>,<ExpN>);
Exemplo :
Edit1->Text = FormatFloat("#,##0.00",123.5678);
O valor da caixa de Texto será 123,57.
AnsiPos() - Retorna em que posição existe um determinadocaracter em um AnsiString.
Sintaxe :
<ExpN> = AnsiPos(<ExpS1>,<ExpS2>);
Exemplo :
char lixo[20] = "Letras"; int x = AnsiPos("a",lixo); ShowMessage(x);
O Valor da Variável x será 5.
c_str() – Converte uma String em um Array de caracteres do tipo (char). Sintaxe : <ObjetoString>.c_str(); Exemplo : char recebe[20]; StrCopy(recebe, Edit1->Text.c_str()); Obs : Se a caixa de texto receber a palavra morango então a variável recebe será como o diagrama abaixo.
Recebe[7] =
Top Related