Universidade do Vale do Paraíba
Colégio Técnico Antônio Teixeira Fernandes
Disciplina POO-II.
Material II-Bimestre
Objetos de Controle Listas
Eventos e Funções
página: http://www1.univap.br/~wagner
Prof. Responsáveis
Wagner 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 e
assim por diante. Em caso nenhum item esteja seleciona o
valor 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). Pois
como na caixa de lista a caixa de combinação também inicia
na 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 quando
recebe verdadeiro e desmarca quando recebe
false, podendo ser usado também (0- não
selecionado 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 principais
Max = 100 (determina o valor máximo que será atribuído para a
barra e a propriedade Min = 0, o valor mínimo atribuído) e o
Position que retorna o valor selecionado.
Criando um Painel. (Panel).
Cria um painel para agrupamento de objetos,
ou seja tudo o que acontecer em um objeto
Panel acontecera também com os outros
vinculados ao mesmo painel.
Exemplo : (Panel)
No exemplo abaixo a programação irá desabilitar
os dois botões usando apenas uma única linha sem
que 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áticas
Em C++ temos funções matemáticas padrão
para podemos realizar tarefas de cálculos mais
complexos. Mas Para isso temos que conhecer
uma
diretiva
de
pré-processamento
denominada <Math.h>.
Os arquivo .h são arquivo de header ou seja cabeçalhos de
programas que permitem que algumas implementações
particulares a cada aplicação possam ser desenvolvidas sem
que haja uma mudança na estrutura da linguagem.
Atenção : Para usarmos essas funções devemos incluir no
cabeç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 inicio
do 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 neperiano
correspondente ao parâmetro determinado.
Exemplo :
double x = log(100) * 0.434343;
O valor será aproximadamente 2. A constante 0.434343
converte o logaritmo neperiano para um logaritmo de base
10.
random() - Retorna um valor aleatório entre 0 e um
nú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 evitar
repetições.
Exemplo :
randomize();
exp() - Retorna com o exponencial de um número que
equivale 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 ângulo
dado.
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 ângulo
dado.
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 um
expoente.
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 tipo
String e sim AnsiString incorporado no Builder mas
para fazermos manipulações de caracteres devemos
usar 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 caracteres
do 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
armazenados em um char.
Sintaxe :
<ExpN> = strlen(<ExpC>);
Exemplo :
char lixo[10] = "Laranja";
int x = strlen(lixo);
ShowMessage(x);
o
número
de
caracteres
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 a
igualdade 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 formando
uma 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 casas
decimais 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 determinado
caracter 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] =
Download

2-Bim Objetos de Controle