Вы находитесь на странице: 1из 31

C++ Builder 6

UNIVAP - CTI

Durante o ano letivo estaremos estudando a linguagem C++ Builder. Para abrir o ambiente de programao do C++ Builder basta seguir os seguintes passos:

Em seguida ser exibido o seguinte ambiente de programao:

Vamos conhecer cada parte que compe o ambiente de programao do C++ Builder.

Professor Alberson Wander S dos Santos

Pgina: 1

C++ Builder 6 1 BARRA DE MENU, SPEED BAR e a PALETA DE COMPONENTES: Barra de Menu

UNIVAP - CTI

Speed Bar

Paletas de Componentes

A Barra de Menu agrupa diversas opes que sero utilizadas durante o desenvolvimento de projetos. Nela encontramos, por exemplo, as opes para gravar arquivos, abrir arquivos, executar programas, exibir janelas, entre outras. A Speed Bar engloba botes de tratamento de arquivos e botes do depurador integrado, conforme mostrado acima. As Paletas de Componentes agrupam os objetos que sero utilizados nos projetos desenvolvidos. So exemplos de objetos: boto de comando, caixas de textos, labels (rtulos), entre outros tantos que estaremos abordando durante o curso. A paleta de componentes que mais utilizaremos a principio a Standard. Nela esto dispostos os objetos comumente utilizados em um projeto. Veja a paleta abaixo:

Professor Alberson Wander S dos Santos

Pgina: 2

C++ Builder 6

UNIVAP - CTI

2 JANELAS DO AMBIENTE DE DESENVOLVIMENTO DE PROGRAMAS DO C++ BUILDER Veja abaixo as janelas MAIS IMPORTANTES que compem o ambiente de programao do C++, bem como os passos que devem ser seguidos para acess-las, caso algumas dessas estejam fechadas, ou sejam fechadas por engano:

Opes disponveis no menu VIEW mostrado acima: Project Manager OU Ctrl+Alt+F11: Exibe a janela de gerenciador de projeto do C++, conforme figura a seguir:

Professor Alberson Wander S dos Santos

Pgina: 3

C++ Builder 6

UNIVAP - CTI

A janela Project Manager, mostrada anteriormente, exibe os nomes dos arquivos que compem um projeto aberto. Nesta janela possvel que o programador remova ou adicione novos arquivos ao projeto aberto. Se clicar com o boto direito sobre o nome de um projeto existente, surgir um menu. Nesse menu, voc poder adicionar outros formulrios criados anteriormente e usados em outros projetos. Para isso, por exemplo, use a opo Add., existente nesse menu. Object Inspector OU F11: Nesta janela so mostradas as propriedades (PROPERTIES) de um objeto qualquer, selecionado pelo programador. Alm disso, nessa janela que o programador poder selecionar e programar os eventos dos objetos selecionados. Para isso, deve-se abrir a ficha Events, mostrada na janela abaixo:

Object TreeView OU Shift+Alt+F11: Nesta janela esto relacionados todos os nomes de objetos constantes em um formulrio. Perceba que se o programador clicar em um dos nomes de objetos relacionados nessa janela, ser exibida a janela de programao desse objeto. Observe abaixo a figura que ilustra o que foi citado:

Professor Alberson Wander S dos Santos

Pgina: 4

C++ Builder 6

UNIVAP - CTI

Units... OU Ctrl+F12: Todos os comandos, rotinas e funes esto armazenadas dentro de uma unit. Vale dizer que para cada formulrio inserido em um projeto existe pelo menos uma unit. Observe as janelas abaixo:

Quando o programador clicar sobre o nome de uma Unit, constante na janela View Unit, ser mostrada a janela de cdigo referente Unit selecionada, conforme mostrado acima. IMPORTANTE: VOC PODER VER A UNIT DE UM FORMULRIO PRESSIONANDO A TECLA F12 ou SELECIONANDO AS SEGUINTES OPES DE MENUS VIEW|TOGGLE FORM|UNIT Forms... OU Shift+F12: Com esta opo voc poder visualizar os formulrios existentes em um projeto. Veja exemplo abaixo:

Observe que na janela View Form, mostrada acima, existe somente o formulrio, o Form1. Se esse formulrio estiver selecionado e o programador pressionar o boto OK, ser exibido o referido formulrio, para que se possa, por exemplo, dar continuidade a sua construo.

Professor Alberson Wander S dos Santos

Pgina: 5

C++ Builder 6 3 TIPOS DE DADOS USADOS EM C++ BUILDER

UNIVAP - CTI

Na linguagem C++ poderemos utilizar os seguintes tipos de dados, para armazenar informaes na memria do computador:

Obs: Os tipos de dados que esto destacados com (*) so os principais tipos utilizados durante a programao de um projeto em C++ Builder.

3.1 - Convertendo tipos de dados em variveis Tipo de Dado Int Float, double String. String Funo de Converso IntToStr() - Converte um inteiro em uma String FloatToStr() - Converte um valor de ponto flutuante em uma string. StrToFloat() - Converte uma String em um Float ou double. StrToInt() - Converte uma String em um inteiro.

Obs: As funes citadas acima convertem tipos de dados inteiros para string e strings para inteiros ou valores de ponto flutuante.

4 OPERADORES ARITMTICOS DO C++ BUILDER OPERADOR + * / % UTILIDADE Soma Subtrao Multiplicao Diviso Resto da Diviso

5 OPERADORES RELACIONAIS DO C++ BUILDER OPERADOR > < == != >= <=


Professor Alberson Wander S dos Santos

UTILIDADE Maior que Menor que Igual a Diferente de Maior ou Igual Menor ou Igual
Pgina: 6

C++ Builder 6 6 OPERADORES LGICOS DO C++ BUILDER OPERADOR && || ! ? UTILIDADE And (E) Or (Ou) Not (No) Ternrio

UNIVAP - CTI

7 ESTRUTURAS DE CONTROLES DO C++ BUILDER 7.1 ATRIBUIO DE VALORES EM VARIVEIS Procedimento de armazenar um valor em uma varivel. Perceba na sintaxe abaixo que o operador utilizado para isso o = (igual). Em c++ voc pode atribuir valores a uma varivel no mesmo instante que for criada Sintaxe: <tipo> <Varm> = <valor>; Ou <Varm> = <valor>; Exemplo 1: int a = 1; ou int a; a = 1; Exemplo 2: AnsiString b = "Abacaxi"; ou AnsiString b; b = Abacaxi;

7.2 INCREMENTO OU DECREMENTO DE VALORES EM VARIVEIS NUMRICAS Exemplo 1: int a = 3; int b = a++; No caso acima foi criada a varivel a e armazenado nela o valor 3. Em seguida, foi criada a varivel b e a ela foi atribudo o mesmo valor armazenado em a, ou seja, 3. Por fim, aps o armazenamento do valor 3 na varivel b, a varivel a sofrer incremento de 1. Portanto, a = 4 e b = 3. Exemplo 2: int a = 3; int b = ++a; No caso acima foi criada a varivel a e armazenado nela o valor 3. Em seguida, a varivel a sofreu acrscimo de 1 e o resultado foi armazenado na varivel b. importante dizer que a varivel a tambm teve seu valor inicial alterado, portanto: a = 4 e b = 4.

Professor Alberson Wander S dos Santos

Pgina: 7

C++ Builder 6 Outros exemplos de atribuio de valores em variveis numricas: OPERAO a++ a-a+ = 2 a* = 2 EQUIVALENTE A: a=a+1 a=a1 a=a+2 a=a*2

UNIVAP - CTI

7.3 ESTRUTURA DE CONDIO Vem a ser o procedimento de desvio de fluxo de execuo do programa, mediante um teste condicional. importante lembrar-se dos operadores lgicos e relacionais quando for usar esta estrutura. Um dos comandos utilizados para teste de condio o comando if( ) se. Sintaxe 1: if(<condio>) <Instruo-1>; else <Instruo-2>; Sintaxe 2: if( <condio ) { <Bloco de Instrues-1 >; } else { <Bloco de Instrues-2 >; }

Exemplo 1: int a = 1; if(a == 3) ShowMessage("O nmero esta Correto !!!"); else ShowMessage("O nmero no esta Correto !!!");

Exemplo 2: Uso do operador lgico e (&&) int nota = 6; int freq = 80; if ( nota >= 6 && freq >= 75) ShowMessage(Aluno Aprovado..); else ShowMessage(Aluno Reprovado); Exemplo 3: Uso do operador lgico ou ( || ) boolean rg = true; boolean cpf = false; if( rg = = true || cpf = = true) ShowMessage(Abra conta na locadora); else ShowMessage(No pode Abrir conta);
Professor Alberson Wander S dos Santos Pgina: 8

C++ Builder 6 Exemplo 4: Uso do operador lgico No ( ! ) int idade = 18; if( !(idade = = 18) ) ShowMessage(No pode dirigir.); else ShowMessage(Pode tirar carta. );

UNIVAP - CTI

Uso do operador ternrio (?) Sintaxe : <Varm> = <Condio> ? <Verdadeiro> : <Falso>; Exemplo do uso do operador ternrio (?) int a = 5; int b = 2; AnsiString x = a > b ? A maior:B Maior; No exemplo acima, cria-se uma varivel x do tipo AnsiString, que armazenar UMA DAS MENSAGENS: A maior ou B Maior. A string a ser armazenada depender do teste condicional inserido aps o sinal de igual, ou seja, se a > b. Se o teste condicional for verdadeiro, a primeira mensagem ser armazenada em x, caso contrrio, a segunda mensagem ser armazenada na varivel x.

7.4 ESTRUTURAS DE REPETIES As estruturas de repeties so usadas para repetir trechos de programas, minimizando com isso a quantidade de linhas. 7.4.1 - ESTRUTURA DE REPETIO CONDICIONAL WHILE() Sintaxe 1 (Teste condicional no incio da estrutura Enquanto): while(<condio>) { <Instruo> } Sintaxe 2 (Teste condicional no incio da estrutura Enquanto): while(<condio>) { <Bloco de Instrues> } Sintaxe 3 (Teste condicional no final da estrutura Repita): do { <Bloco de Instrues> } while(<condio>);

Professor Alberson Wander S dos Santos

Pgina: 9

C++ Builder 6 Exemplo 1: int a = 1; while(a <= 5 ) { a++; } .................. Exemplo 2: do { a++; } while(a <= 5); ...................

UNIVAP - CTI

Obs : Neste caso, em especial, o comando while() dever usar o ponto e vrgula no final da estrutura, conforme exemplificado acima.

7.4.2 - ESTRUTURA DE REPETIO FOR() Sintaxe : for(<varivel>=<valor_inicial>;<Condio>;<Incremento>OU<decrementos>) { <Bloco de Instrues> } Exemplo: for(int i=1;i<=5;i++) ShowMessage("As poderosas !!! "); Obs : REPARE NO EXEMPLO ACIMA QUE AS CHAVES { } NO SO USADAS. Isso acontece porque somente um comando est sendo repetido 5 vezes. Portanto, quando for necessrio repetir mais de uma linha de comando, torna-se necessrio usar as chaves para delimit-los.

IMPORTANTE ATENO CUIDADO EVITE ERROS PRIMRIOS: A linguagem C CASE SENSITIVE, ou seja, os comandos devem ser escritos exatamente como mostrados nas sintaxes, obedecendo ao formato de letras maisculas e minsculas. Outro importante fato a ser ressaltado que as variveis criadas pelo programador devem ser usadas tambm com o mesmo formato de letras (maiscula ou minscula). Se o programador criar uma varivel x, com letra minscula, a linguagem C no ir reconhecer X, com letra maiscula.

Professor Alberson Wander S dos Santos

Pgina: 10

C++ Builder 6 8 - ENTRADA E SADA DE DADOS. 8.1 FUNO InputBox()

UNIVAP - CTI

Uma entrada de dados pode ser feito com uma funo ou caixa de texto. Nesse caso, a InputBox() Ir retornar uma String contendo a informao digitada pelo usurio no campo criado na caixa de mensagem. Sintaxe : AnsiString Itemdigitado = InputBox(<String1>,<String2>,<String3>); Onde: <String1> - Ttulo da barra de ttulo da caixa de mensagem. <String2> - Rtulo para indicar ao usurio o que deve ser digitado. <String3> - Valor padro que aparece no campo, antes da digitao do usurio. Exemplo: AnsiString Itemdigitado = InputBox("Programa teste","Digite Algo","Nenhum"); Sada :

8.2 OBJETO CAIXA DE TEXTO (Edit) Criando uma entrada de dados com o objeto caixa de texto (Edit). Esse objeto est disposto na barra de objetos na ficha Standard. Ele possui a seguinte aparncia:

Para desenhar qualquer objeto em um formulrio, basta seguir um dos passos abaixo: 1. Dar um duplo clique sobre o objeto, com isso, o ele aparecer no centro do formulrio; 2. Clique no objeto desejado e movimente o ponteiro do mouse at a regio do formulrio onde se deseja desenh-lo, em seguida d um clique; Quando a caixa de texto for desenhada no formulrio ter a seguinte aparncia:

Professor Alberson Wander S dos Santos

Pgina: 11

C++ Builder 6

UNIVAP - CTI

Para armazenar em uma varivel o valor digitado pelo usurio, escreva num evento as seguintes linhas de programa: AnsiString dado; dado = Edit1->Text; Obs : Em C++ o nome do objeto separado do nome da propriedade com o smbolo de ->

8.3 OBJETO LABEL Esse objeto usado para criar rtulos de campos de um formulrio e/ou criar mensagens para o usurio. Esse objeto tambm est disposto na barra de objetos, na ficha Standard. O objeto Label mostrado a seguir:

Exemplo : Label1->Caption = "Mensagem Para Usurio !!! "; Sada :

8.4 COMANDO ShowMessage() Este comando cria no vdeo, durante a execuo do programa, uma caixa de mensagem para o usurio Sintaxe : ShowMessage(<String>); Exemplo : ShowMessage("Dados Incorretos, Tente Novamente !!!"); Sada :

Professor Alberson Wander S dos Santos

Pgina: 12

C++ Builder 6

UNIVAP - CTI

8.5 OBJETO BOTO DE COMANDO Este objeto est disposto na ficha Standard, na barra de menu. Ele possui a seguinte aparncia

O nome do objeto criado ser Button e permite disparar o evento Click (OnClick) quando o usurio clicar sobre o objeto, durante a execuo do programa. Observe abaixo na ficha Events, do Object Inspector, alguns dos eventos que poderemos programar para o objeto boto de comando. Observe tambm que quando voc programador der dois cliques no evento desejado, mostrada a janela Unit, com o evento a ser programado. A figura a seguir ilustra o que foi descrito:

Eventos da ficha Events

Janela Unit NESSE CASO, rea de programao do evento CLICK do objeto Button1.

9 - ESTRUTURA DE UM PROGRAMA (EVENTO) EM Builder C++. Todos os eventos de objetos da linguagem C++ Builder so estruturados seguindo o padro de sintaxe mostrado abaixo. O programador no digita as linhas abaixo, pois o prprio C++ Builder as cria automaticamente. Observe abaixo: Sintaxe: void __fastcall TForm1::ObjetoEvento(TObject *Sender) { // Um comentrio pode ser feito com as barras ou /* Comentrio de trecho de programa */ <Bloco de Instrues> }

Professor Alberson Wander S dos Santos

Pgina: 13

C++ Builder 6

UNIVAP - CTI

ONDE: TForm1: Indica o formulrio onde se encontra o objeto que est sendo programado; ObjetoEvento : Indica o nome do objeto e o evento que se est programando; Observe abaixo um programa simples, desenvolvido no evento clique de um boto chamado Button1, do formulrio Form1. Exemplo: void __fastcall TForm1::Button1Click(TObject *Sender) { int n = StrToInt(Edit1->Text); for(int i=2;i<=n;i+=2) ShowMessage(IntToStr(i)); }

10 COMANDOS break E continue Esses comandos so usados quando utilizamos estrutura de repetio while. Vamos ver alguns exemplos. O comando break, abandona o lao de repetio no ponto onde foi escrito, no sendo mais executados os comandos do interior do lao. Com isso ser executada a primeira linha de programao escrita aps o lao de repetio. J o comando continue no abandona o lao, mas fora a execuo do mesmo, no executando os comandos que esto escritos abaixo do ponto onde ele foi escrito. Cuidado ao utilizar esse comando, pois dependendo do local onde escrito seu programa pode entrar em loop infinito. Vejam os exemplos abaixo e diga se voc capaz de dizer quantas vezes os laos sero executados: Exemplo do comando break: int a = 1; while(a <= 5) { if(a == 3) break; a++; } ShowMessage("O valor "+IntToStr(a)); Exemplo do comando continue int a = 1; while(a <= 5) { if(a == 3) { ShowMessage("ahahah !!!, Nunca mais vou parar !!"); continue; } a++; }

Professor Alberson Wander S dos Santos

Pgina: 14

C++ Builder 6

UNIVAP - CTI

11 OBJETOS DO C++ BUILDER Vamos estudar outros objetos que pertencem ficha Standard. Veja abaixo os tipos de objetos que sero abordados:

11.1 CAIXA DE LISTA (ListBox)

Propriedades deste objeto: PROPRIEDADE Columns UTILIDADE Especifica o nmero de colunas de itens da caixa de lista. RESULTADO

Count

ExtendedSelect

Retorna a quantidade de itens inseridos numa caixa de lista ou caixa de combo. Veja exemplo ao lado, nesse ser criado uma caixa de mensagem exibindo a quantidade total de itens da lista. Permitir seleo de itens utilizando as teclas ctrl e shift. OBS: s ter efeito quando a propriedade MultiSelect estiver ativa. Valores possveis: true Permite a seleo de vrios itens com ctrl e shift. false no permite a seleo com ctrl e shift.

Exemplo: ShowMessage(lista->Count);

Professor Alberson Wander S dos Santos

Pgina: 15

C++ Builder 6 Items Armazena os itens que devem aparecer para o usurio, na caixa de listagem.

UNIVAP - CTI

ItemIndex

MultiSelect

Indica qual o item da lista est selecionado. Esta propriedade no est disponvel no Object Inspector. Portanto, esta propriedade usada por meio de programao. Permite que sejam selecionados vrios itens dispostos ao mesmo tempo. Valores para propriedade: True permite a seleo de vrios itens; False no permite a seleo de vrios itens Armazena o nome do objeto que ser usado na programao. Retorna quantos itens da lista esto selecionados. Veja exemplo ao lado. Nesse exemplo, ser exibido em uma caixa de listagem quantos itens esto selecionados, ou seja, ser exibido o nmero 3. Exemplo: ShowMessage(lista->SelCount);

Name SelCount

Selected[ ]

Sorted

Retorna true ou false, indicando se um item x da lista est ou no selecionado. Repare no exemplo ao lado, nesse est sendo testado se o item 0 da lista est selecionado pelo usurio. Esta propriedade s usada por meio de programao. Permite que os itens sejam inseridos na caixa de lista em ordem ALFABTICA. Valores possveis: true Ordena os itens false No ordena os itens

Exemplo: If (lsta->Selected[0] == true) ......

Mtodos/Funes deste objeto: MTODO/FUNES Add() Delete() Clear() DeleteSelected() UTILIDADE Insere itens em uma caixa de lista ou caixa de combinao Exclui um item de uma caixa de lista ou caixa de combinao Exclui todos os itens de uma caixa de lista ou caixa de combinao Exclui automaticamente os itens selecionados pelo usurio na caixa de lista.

Vejamos agora exemplos de trechos de programas que utilizam as propriedades e mtodos mostrados at o momento para este objeto.
Professor Alberson Wander S dos Santos Pgina: 16

C++ Builder 6

UNIVAP - CTI

Exemplo 1: Permite armazenar na caixa de lista ou caixa de combinao um item enviado pelo mtodo Add(). ListBox1->Items->Add("Maria"); ListBox1->Items->Add("Jos"); ListBox1->Items->Add("Clia"); Resultado do trecho de programa acima:

Vale dizer, diante do exemplo acima, que o primeiro nome inserido est na posio 0 e o ltimo est na posio 2. Vale dizer que a caixa de lista possui com isso 3 itens. Exemplo 2: Capturando o Item Selecionado por intermdio da propriedade ItemIndex. importante saber que se nenhum dos itens da lista estiver selecionado, esta propriedade retornar o valor -1 int x = ListBox1->ItemIndex; ShowMessage(x); Obs : No exemplo acima, x armazenar um nmero de 0 a 2, referente a posio do nome que foi selecionado na caixa de listagem. Exemplo 3: Capturando a "String" de um item selecionado na caixa de lista com a propriedade Strings[]. int x = ListBox1->ItemIndex; AnsiString a = ListBox1->Items->Strings[x]; Obs : Ir retornar a string selecionada pelo usurio na caixa de Lista. Esta ser armazenada na varivel a. Exemplo 4: Excluindo item/itens selecionados na caixa de lista pelo usurio. ListBox1->DeleteSelected() ; Obs: A linha de comando acima excluir todos os itens selecionados da caixa de listagem ao mesmo tempo. Exemplo 5: Excluindo um item especificado da caixa de listagem. ListBox1->Itens->Delete(3); Obs: No exemplo acima estamos excluindo o item contido na posio 3 da caixa de listagem. Se esta posio no existir, o comando acima no ter efeito algum, ou seja, no travar o seu programa.

Professor Alberson Wander S dos Santos

Pgina: 17

C++ Builder 6 11.2 CAIXA DE COMBINAO (ComboBox)

UNIVAP - CTI

Ateno :

1. As propriedades Columns, MultiSelect, ExtendedSelect e SelCount ensinadas para caixa de lista 2.


no servem para este objeto. As demais propriedades, mtodos e exemplos ensinados para caixa de listaagem so tambm usados para caixa de combinao. Portanto, no sero mostrados novamente para o objeto caixa de combinao. UTILIDADE Armazena toda a lista de itens inseridos na caixa de lista. No exemplo ao lado, ser exibida toda a lista numa s caixa de listagem. RESULTADO Exemplo: ShowMessage(lsta->text);

PROPRIEDADE (s para combo) Text

11.3 CAIXA DE VERIFICAO (CheckBox)

Deve-se usar este objeto quando o usurio puder selecionar vrias opes dentre as disponveis. Propriedades deste objeto: PROPRIEDADE Caption UTILIDADE Exibe o rtulo da caixa que ser exibido para o usurio. No exemplo ao lado Testar. Indica se a caixa de verificao est ou no selecionada. Valores dessa propriedade: true Seleciona a caixa de verificao; false Desmarca a caixa de verificao; RESULTADO

Checked

Exemplo 1: CheckBox1->Checked = true; Resultado da linha de comando acima:

Obs : Pode-se usar tambm os valores 0 ou 1, para selecionar ou no a caixa de verificao (0- no selecionado ou 1- Selecionado).

Professor Alberson Wander S dos Santos

Pgina: 18

C++ Builder 6 Exemplo 2: If (CheckBox1->Checked == true) ShowMessage(Caixa selecionada); else ShowMessage(Caixa no selecionada);

UNIVAP - CTI

Obs: No exemplo acima est sendo testado se a caixa de verificao est ou no selecionada. Independente de estar ou no selecionada ser exibida uma mensagem para o usurio.

11.4 BOTO DE RDIO (RadioButton)

Este objeto possui as mesmas propriedades do objeto anterior(Caixa de Verificao). Porm, quando desenhado vrios botes de rdio no formulrio, apenas UM DELES PODER ESTAR SELECIONADO, nunca mais de um. Esta a nica diferena entre um boto de rdio e uma caixa de verificao.

11.5 GRUPO DE BOTO DE RDIO (RadioGroup)

Propriedades deste objeto: PROPRIEDADE Caption UTILIDADE Cria um ttulo para o grupo de botes de opes. No exemplo ao lado tem-se o ttulo Cores. RESULTADO

Columns

Nesta propriedade indique o nmero de colunas de opes desejadas. No exemplo ao lado foi indicado o nmero 2.

Items

Cria as opes a serem selecionadas pelo usurio do programa. No exemplo ao lado as opes a, b, c e d.

Professor Alberson Wander S dos Santos

Pgina: 19

C++ Builder 6 ItemIndex Indica qual das opes selecionada. Se nesta propriedade estiver o valor -1, indicar que nenhuma das opes estaro selecionadas. O valor 0 indica que a primeira opo foi selecionada, como no exemplo ao lado.

UNIVAP - CTI

Mtodos/Funes deste objeto: MTODO/FUNES Add() Delete() Clear() Exemplo 1: RadioGroup1->Items->Add("Masc."); RadioGroup1->Items->Add("Fem."); Resultado das linhas de programaes anteriores: UTILIDADE Adiciona uma nova opo ao grupo, por meio de programao. Remove um boto de opo do grupo atravs do ndice indicado como parmetro. Remove todos os botes de opo do grupo.

Obs: Nas linhas de programa anteriores, foram criadas duas opes em um RadioGroup, conforme ilustra a figura acima. Exemplo 2: Capturando a informao selecionada no boto de rdio. int k = RadioGroup1->ItemIndex; if(k = = 0) ShowMessage("Masc. Foi Selecionado !!!"); else ShowMessage("Fem. Foi Selecionado !!!"); Obs: A propriedade ItemIndex retornar o ndice da opo selecionada no grupo de botes. Em seguida, esse ndice ser armazenado na varivel k. Diante do valor armazenado, sero feitos testes condicionais, indicando com isso quais das duas opes foram selecionadas.

Professor Alberson Wander S dos Santos

Pgina: 20

C++ Builder 6 11.6 BARRA DE ROLAGEM (ScrollBar)

UNIVAP - CTI

Propriedades deste objeto: PROPRIEDADE Kind UTILIDADE Nesta propriedade indica-se que tipo de barra de rolagem deve ser desenhada, ou seja, Vertical ou Horizontal RESULTADO

LargeChange

Valor que ser acrescido propriedade Position, para ter um incremento maior ao clicar no interior da barra de rolagem

LargeChange

Max

Min

Position

Valor mximo da propriedade Position, ou seja, o valor mximo estipulado para a barra de rolagem Valor mnimo da propriedade Position, ou seja, o valor mnimo estipulado para a barra de rolagem Indica o valor da barra de rolagem num determinado instante. Indica a posio da caixa dentro da barra de rolagem.

Position

SmallChange

Valor a ser incrementado ou decrementado na propriedade Position quando o usurio der clique nas setas da barra de rolagem.

SmallChange

Exemplo: Verificando o valor da Barra de Rolagem. void __fastcall TForm1::ScrollBar1Change(TObject *Sender) { int y = ScrollBar1->Position; Label1->Caption = IntToStr(y); } Obs: Vamos supor que as propriedades Min =0 e Max = 100. O trecho de programa acima mostrar em um Label o valor da propriedade Position sempre que for dado um clique na barra de rolagem.

Professor Alberson Wander S dos Santos

Pgina: 21

C++ Builder 6 11.7 PAINEL (Panel)

UNIVAP - CTI

Cria um painel para agrupamento de objetos. Para agrupar objetos dentro de um painel, basta desenh-los dentro do mesmo e no na rea do formulrio. Propriedades deste objeto: BevelInner Insere um desnvel interno no painel. Possui os seguintes valores: bvNone bvLowered bvRaised bvSpace Insere um desnvel externo no painel. Possui os seguintes valores: bvNone bvLowered bvRaised bvSpace Especifica a largura do desnvel do painel. Especifica a largura da borda do painel. Permite ou no que o usurio acesse os objetos inseridos no painel.

BevelOuter

BevelWidth BorderWidth Enabled Exemplo:

No exemplo abaixo a programao ir desabilitar os dois botes usando apenas uma nica linha sem que seja preciso desabilitar cada boto. Exemplo: Panel1->Enabled = false;

Professor Alberson Wander S dos Santos

Pgina: 22

C++ Builder 6 11.8 Caixa de Grupos (GroupBox)

UNIVAP - CTI

Este objeto usado somente para isolar botes de opes. Para isso voc dever desenhar o objeto caixa de grupo e em seguida desenhar os botes de opes no seu interior. Com isso poderemos ter vrios grupos de opes na tela, separados por esse objeto. Por exemplo:

Repare no exemplo dado que a escolha de cor no interfere na escolha do tamanho, isso porque a caixa de grupo isolou os grupos de opes

Professor Alberson Wander S dos Santos

Pgina: 23

C++ Builder 6 12 CONHECENDO EVENTOS DE OBJETOS. Evento uma ao tomada pelo usurio durante a execuo de um programa.

UNIVAP - CTI

12.1 EVENTO OnClick O cdigo de programa executado quando o usurio clica no objeto em questo. Exemplo: void __fastcall TForm1::Button1Click(TObject *Sender) { ShowMessage("Ok, Boto foi Clicado !!!"); }

12.2 - EVENTO OnChange A programao escrita nesse evento executada quando um objeto sofre algum tipo de modificao. Exemplo: void __fastcall TForm1::Edit1Change(TObject *Sender) { ShowMessage("Houve uma entrada de dados...."); }

12.3 - EVENTO OnEnter O programa escrito nesse evento entra em execuo quando o objeto recebe o foco. Exemplo: void __fastcall TForm1::Edit1Enter(TObject *Sender) { ShowMessage("Ok, Entrei na caixa..."); }

12.4 EVENTO OnExit O programa escrito nesse evento entra em execuo quando o objeto perde o foco. Exemplo: void __fastcall TForm1::Edit1Exit(TObject *Sender) { ShowMessage("Saindo da caixa de Texto .... "); }

12.5 EVENTO OnDblClick O programa escrito nesse evento ser executado quando o usurio der duplo clique no objeto.

Professor Alberson Wander S dos Santos

Pgina: 24

C++ Builder 6 Exemplo: void __fastcall TForm1::FormDblClick(TObject *Sender) { ShowMessage("Duplo click no formulrio .... "); }

UNIVAP - CTI

12.6 EVENTO OnActivate O programa escrito nesse evento ser executado quando o formulrio aparecer para o usurio. Exemplo: void __fastcall TForm1::FormActivate(TObject *Sender) { ShowMessage("Crie o Formulrio .... "); }

12.7 - EVENTO OnCreate O programa escrito nesse evento ser executado quando o formulrio estiver sendo carregado na memria, antes de aparecer para o usurio. Exemplo: void __fastcall TForm1::FormCreate(TObject *Sender) { ShowMessage("Ok"); }

12.8 EVENTO OnMouseDown O cdigo escrito nesse evento entra em execuo quando o usurio soltar o boto de direito do mouse. Exemplo: void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Form1->Caption = IntToStr(X)+" - "+IntToStr(Y); }

12.9 - OnMouseMove O programa escrito nesse evento ser executado quando o ponteiro do mouse mover sobre o objeto. Exemplo: void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { Form1->Caption = IntToStr(X)+" - "+IntToStr(Y); }

Professor Alberson Wander S dos Santos

Pgina: 25

C++ Builder 6 12.10 EVENTO OnClose

UNIVAP - CTI

Toda programao escrita nesse evento ser executada antes do formulrio fechar. void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { ShowMessage("Sair"); }

Professor Alberson Wander S dos Santos

Pgina: 26

C++ Builder 6 13 FUNES MATEMTICAS

UNIVAP - CTI

Em C++ temos funes matemticas padro para podemos realizar tarefas de clculos mais complexos. Para isso temos que conhecer uma diretiva de pr-processamento denominada <Math.h>. Os arquivos .h so arquivo de header, ou seja, cabealhos de programas que permitem que algumas implementaes particulares, de cada aplicao, sejam desenvolvidas sem que haja mudana na estrutura da linguagem. Ateno : Para usarmos essas funes devemos incluir no cabealho do programa duas diretivas. <stdlib.h>, <math.h>.

13.1 USO DE FUNES MATEMTICAS Para usar funes matemticas, devemos escrever nas primeira linhas do cdigo de seu formulrio a seguinte linha de cdigo. #include <vcl.h> #include <stdio.h> #include <math.h> // Deve ser colocada no inicio do programa. Exemplo das funes matemticas: abs() - Retorna com o valor absoluto de um nmero dado. Exemplo: int k = abs(-3); O valor da varivel k ser 3 positivo. sqrt() - Retorna com o valor da raiz quadrada do nmero especificado. Exemplo: double y = sqrt(49); O valor de y ser 7. log() Retorna o valor do logaritmo neperiano correspondente ao parmetro 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 aleatrio entre 0 e um nmero especificado. Exemplo: double x = random(100); Retorna um nmero aleatrio entre zero e cem.

Professor Alberson Wander S dos Santos

Pgina: 27

C++ Builder 6

UNIVAP - CTI

randomize() - Ativa os nmero aleatrios para evitar repeties somente a partir do primeiro nmero gerado. Exemplo: randomize(); exp() - Retorna com o resultado do exponencial do nmero 2.718 elevado x, onde x o expoente. 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.

Professor Alberson Wander S dos Santos

Pgina: 28

C++ Builder 6

UNIVAP - CTI

14 FUNES MANIPULADORAS DE STRINGS Ateno : Na linguagem C++, no existe um tipo String e sim AnsiString incorporado no Builder. Mas para fazermos manipulaes de caracteres devemos usar lgica, por isso cuidado. 14.1 USO DAS FUNES MANIPULADORAS DE CARACTERES StrCat() - Concatena duas String, ou seja, cria um nico conjunto de caracteres do tipo char. Sintaxe: StrCat(<ExpC1>,<ExpC2>); Exemplo: char text[30] = "Coca"; StrCat(text,"-Cola"); Ser armazenado na varivel text a palavra Coca-Cola.

strlen() - Retorna com o nmero de caracteres armazenados em um char. Sintaxe : <ExpN> = strlen(<ExpC>); Exemplo: char lixo[10] = "Laranja"; int x = strlen(lixo); ShowMessage(x); Nesse exemplo ser mostrado em uma caixa de mensagem o nmero 7, apesar da varivel lixo do tipo char ter 10 espaos. Quebrando uma String Para pegar um caracter em um AnsiString podemos usar o seguinte trecho de programa Exemplo: AnsiString a = "Maria das Couves"; ShowMessage(a[1]); Obs: Neste caso ser pego o caracter M na String. length() - Retorna o nmero de caracteres da String(*) Exemplo: AnsiString a = Abacaxi; int x = a.length(); O valor de x ser igual a 7.
Professor Alberson Wander S dos Santos Pgina: 29

C++ Builder 6 Exemplo para exibir cada caracter de uma 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); Valores armazenados em y podero ser os seguintes: Valor menor que 0(zero) indica que Str1< Str2 Valor igual a 0(zero) indica que Str1 igual Str2 Valor maior que 0(zero) indica que Str1 > Str2

UNIVAP - CTI

StrCopy() - Copia um conjunto do tipo char em outro char. Resultado pode ser armazenado em AnsiString. Sintaxe: StrCopy(<ExpC1>, <ExpC2>); Exemplo: char str1[10] = "Morango"; char str2[10]; StrCopy(str2,str1); AnsiString z = str2; A sada ser z = "Morango". FormatFloat() - Permite formatar um nmero com casas decimais determinadas. Sintaxe: <ExpAnsiStr> = FormatFloat(<Formato>,<ExpN>); Exemplo: Edit1->Text = FormatFloat("#,##0.00",123.5678); O valor da caixa de Texto mostrar o valor 123,57.

Professor Alberson Wander S dos Santos

Pgina: 30

C++ Builder 6 AnsiPos() - Retorna em que posio 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 varivel x ser igual a 5.

UNIVAP - CTI

c_str() - Vem a ser um mtodo para objetos de entrada de dados com caixa de texto para criar um array de caracteres. Sintaxe : <ObjetoString>.c_str(); Exemplo: char recebe[20]; StrCopy(recebe, Edit1->Text.c_str()); Obs : Se a caixa de texto receber a palavra morango, a varivel recebe armazenar morango da seguinte forma: Recebe[20] =

Programa Exemplo : Dada uma String pelo teclado escrever quantas vezes um determinado caracter, informado pelo teclado, se repete nessa string.

Professor Alberson Wander S dos Santos

Pgina: 31

Вам также может понравиться