Aplicativos Mobile para Android e Ios Com Delphi Xe5
Aplicativos Mobile para Android e Ios Com Delphi Xe5
Aplicativos Mobile para Android e Ios Com Delphi Xe5
Ronnei Peterson
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
DICAS DE INSTALAÇÃO
Caso você ainda não possua uma licença oficial utilize por 30 dias a versão Trial para os
testes. Recomendamos a compra da licença do produto, pois somente com produtos
licenciados que é permitido a geração de apps oficiais e comerciais, não é permitido
adicionar aplicativos desenvolvidos em versões trial na Google Play ou na AppStore.
2 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Crie uma conta ou entre com seu login e senha registrados na embarcadero
O número de série chegará no seu email, e também será necessário esse login e senha
no primeiro uso do produto na ativação do registro do mesmo.
3 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
SDK DO ANDROID
4 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Aguarde o Final da Instalação, ela poderá ser um pouco demorada porque é necessário
fazer o download de todos os arquivos da instalação.
5 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Barra de Ferramentas
Clicando com o botão direito sobre uma das barras de ferramentas aparecerá a lista de barra
de ferramentas que estão ou podem ser adicionadas.
Palheta Standard
6 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Palheta responsável por criar novas units, abrir units existentes, salvar a unit atual, salvar tudo
eadicionar ou remover units externas aos nossos projetos.
Palheta Desktop
Esta palheta serve para configurarmos o nosso ambiente de trabalho, já existem alguns
“modelos” prontos, porém você pode personalizar seu ambiente de trabalho, com as janelas e
posições das mesmas da forma que você preferir.
Palheta View
Responsável por Visualizar as units,formulários e alternar entre Visual (form) e Código (unit)
Palheta Debug
7 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Palheta Responsável pela Depuração do Projeto, ou seja, compilar, compilar e executar, pausar
a depuração, fazer depuração linha a linha, entre outras opções de depuração. Veremos a
função de cada uma dessas opções mais adiante.
Nesta palheta você encontrará as ferramentas necessárias para trabalhar, quando não
estamos com nenhum projeto abertoa palheta de ferramentas mostrará os possíveis projetos
que podem ser criados.
Nesta palheta você poderá gerenciar os projetos abertos, visualizando seus arquivos,
plataforma que será usada para depuração (Windows, Mac, Ios..), adicionando e removendo
novos arquivos ao projeto.
8 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Esta é uma das palhetas que teremos o maior contato durante o desenvolvimento, é através
dela que acessaremos as propriedades e eventos do componente selecionado, no exemplo
abaixo foi selecionado um Edit (caixa de entrada) e o object inspector está listando todas as
propriedades do mesmo, na segunda imagem o object inspector está listando todos os eventos
do Edit selecionado.
9 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Menu View
Através deste Menu você poderá abrir janelas e visualizar os atalhos para cada uma delas.
10 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Um projeto é uma coletânea de arquivos necessários para que um programa possa funcionar,
no Delphi existem diversos tipos de projetos, como por exemplo:
VCL Forms Aplicattion – Aplicação baseada em formulários VCL (Visual Component Library),
biblioteca de componentes visuais, a VCL herda do Windows o visual de seus componentes,
podendo inclusive serem modificados caso o tema do Windows seja modificado.
Firemonkey Desktop Application –Aplicação que pode ser usada em múltiplas plataformas
desktop (Windows, Mac Os), com componentes redesenhados e estilizados.
VCL Metropolis UI Application – Aplicação baseada em VCL, porém com recursos visuais do
tema Metropolis (Windows 8).
Firemonkey Mobile Application – Aplicação para dispositivos móveis, nesta versão do Delphi é
possível criar aplicações para dispositivos com sistema operacional IOS (Apple) e dispositivos
com sistema operacional Android.
11 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Um formulário depende de uma Unit (.pas) e de um arquivo (.dfm), a unit contém o código
funcional da aplicação e arquivo “dfm” contém o código dos componentes visuais do
formulário.
Exemplo de um projeto
12 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
13 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
TForm2 = class(TForm)
private
{ Private declarations }
Public
{ Public declarations }
end;
Form2: TForm2;
implementation//Bloco de implementação
{$R *.dfm}
14 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
15 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Como o foco de nosso curso são alunos que já tem um certo conhecimento em C ou Java,
explanaremos aqui as principais diferenças de sintaxe entre as duas linguagens.
Operadores
+ Soma
- Subtração
* Multiplicação
/ Divisão
Comentários
(*
Comentário em
Bloco
*)
Comentário em
Bloco
16 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Em C Em Pascal
Atribuição = :=
Comparação == =
Estrutura condicional If (cont==3) If (cont=3) Then
{ Begin
} End;
} End
else else Begin
{
} End;
Laço de Repetição FOR for (i=0;i<=3;i++) for cont:=0 to 3 do
{ Begin
} End;
} End;
Procedimentos
Em C
17 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
void soma()
Em Pascal
Procedure Soma;
Begin
End;
Funções
Em C
Int soma()
Em Pascal
Function soma:integer;
Begin
18 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
End;
Em C
return a+b;
Em Pascal
Begin
result:=a+b;
End;
Em C
19 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Em Pascal
Begin
End;
ESCOPO DE VARIÁVEIS
Assim como em C, se uma variável for declarada dentro de uma função, o escopo dela é
apenas a função.
Para declarar uma função em Pascal existem áreas específicas para esse procedimento,
diferentemente de C que uma variável pode ser declarada em qualquer parte do código.
Procedure Soma;
Var
A,b:integer;
Texto:string;
Begin
End;
Declarando uma variável Global a uma Unit (no var antes do implementation da unit, junto a
variável do formulário)
20 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
var
Form2: TForm2;
Aglobal:integer; //aqui
implementation
{$R *.dfm}
....
Existem também variáveis declaradas dentro de classes, que podem ser declaradas na seção
privada ou pública, mas que foge do escopo deste mini-curso.
Inteiros
ShortInt -128..127
SmallInt -32768..32767
LongInt -2147483648..2147483647
Integer -2147483648..2147483647
Int64 -2^63..2^63-1
Byte 0..255
Word 0..65535
LongWord 0..4294967295
21 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Cardinal 0..4294967295
UInt64 0..2^64-1
Tipos Float
Tipo Booleano
22 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Tipos de caracteres
Funções de String
A:=‘teste’;
B:=‘de texto’;
Quantidadecaracteres:=Length(C);
Begin
Stringfinal:=StringFinal + C[cont];
End;
Na conversão o parâmetro deve conter um valor correto para o tipo destino, caso contrário
gerará uma excessão.
23 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Var
ValorData:Tdate;
ValorDataHora:TDatetime;
ValorString:String;
24 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
ValorInteiro:integer;
ValorCurrency:Currency;
ValorFloat:Double;
Begin
ValorData:=strtodate('01/01/2000');
ValorDataHora:=strtodatetime('01/01/2000 00:00');
ValorString:=datetostr(ValorData);
ValorString:=FormatDatetime('yyyy/mm/dd', ValorDataHora);
ValorInteiro:=strtoint('22');
ValorCurrency:=strtocurr('10,25');
ValorFloat:=strtofloat('10,2252');
ValorString:=inttostr(332);
ValorString:=CurrtoStr(200.25);
ValorString:=CurrtoStr(200.2566);
End
25 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Introdução
Este artigo apresenta as principais novidades da linguagem Delphi no que diz respeito a desenvolvimento para
Mobile, disponibilizado recentemente através do Delphi XE4. Porém antes dos detalhes da linguagem, vamos
entender o motivo e a abrangência destas alterações.
Novo Compilador
Para oferecer suporte aos dispositivos móveis foram criados dois novos compiladores, um para o simulador do iOS e
outro para o dispositivo físico (ARM), já que as arquiteturas são distintas.Desta forma agora temos:
A novidade está nos dois últimos, os quais seguem um desenho totalmente novo, baseados em um padrão
chamado LLVM (http://llvm.org). Podemos entender o LLVM como um conjunto de módulos e ferramentas
reutilizáveis para compiladores, utilizados amplamente por diversos compiladores nativos, entre eles o próprio
Xcode, nativo da Apple.
Para suportar dispositivos móveis, o novo compilador (acima) impõe algumas mudanças de linguagem, as quais vou
listar a seguir. Na verdade, mais do que mudanças, trata-se de uma grande evolução da linguagem Delphi. No
futuro, estes e outros avanços serão portados também para os compiladores Win32, Win64 e OSX.
26 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
O ARC traz o melhor dos dois mundos: gerenciamento automático de memória sem a necessidade de um garbage
collection, tido como um grande vilão de performance nas linguagem que o utilizam. Em resumo o ARC gerencia o
ciclo de vida de objetos sem que você tenha que se preocupar com o "Free".
No exemplo acima, o objeto MyObj será removido da memória assim que sair do escopo. Importante ressaltar que a
sintax tradicional (try/finally fazendo o Free manual do objeto) continua suportada, portanto as migrações de
código estão garantidas.
Também estão disponíveis o pattern Dispose e suporte a [Weak] References. Você pode encontrar mais sobre isso
aqui:http://edn.embarcadero.com/article/43073.
Tipo String
Todos os tipos string existentes (AnsiString, UTF8String, RawByteString, WideString, AnsiChar, PAnsiChar,
PWideChar, OpenString, ShortString
) agora estão simplificados em um único: String. Além disso, as strings agora são 0-based ao invés de 1-based. Isso
significa que alguns códigos podem precisar de revisão, mas as funções de manipulação de strings já estão
preparadas para esta mudança.
Uma outra - importante - mudança é que as strings passarão a ser "imutáveis", devido ao gerenciamento de
memória dos dispositivos móveis. Nesta versão do compilador tudo continua conforme anteriormente, você
receberá apenas uma warning alertando que, futuramente, construções como a exibida abaixo não será mais
suportada:
str1[3]:=’w’;
Portanto é altamente recomendado que, para seus novos códigos, você faça uso de construções como
TStringBuilder e TStringHelper para a manipulação de strings. Um trecho de código utilizando estas classes para
ilustrar:
27 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Outras mudanças
1. Ponteiros não são suportados no mundo mobile
3. Evite chamadas a APIs diretamente, esteja pronto para as novas plataformas que virão
28 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
EMULADOR DO ANDROID
Clique no Menu Iniciar, localize o menu do Embarcadero RAD Studio XE5 e abra o Android
Tools
29 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
O Print abaixo dependerá da versão do SDK do Android instalado, caso após instalado a
máquina virtual já estiver criada é necessário apenas na primeira execução do emulador
adicionar o suporte a GPU, para isso clique no dispositivo virtual listado e clique em Edit.
30 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
31 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Caso você esteja trabalhando com outra versão do Emulador, segue abaixo um print da criação
de um novo dispositivo virtual, para isso clique no botão NEW
32 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
AVD Name: Nome do dispositivo, use um nome simples sem espaços ou caracteres
especiais
33 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Clique em OK
Iniciando o emulador
34 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
35 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Note que na barra de superior é dado um nome para este dispositivo virtual, o mesmo deverá
estar listado no Delphi para conseguirmos emular nosso aplicativo.
Para criar um novo projeto para desenvolvimento Mobile clique em Menu New \ Firemonkey
Mobile Application - Delphi
36 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Existem alguns Templates de projetos Mobile que podem ser escolhidos ao iniciar um projeto.
37 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
COMPONENTES OU CONTROLES
LABEL
38 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
O componente label serve para mostrar textos, ele pode ser encontrado
na Palheta Standard da Tool Palette
Algumas Propriedade
39 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Salve seu projeto e todos os arquivos que compõe o mesmo clicando em Menu File \ Save All
Na janela Project Manager, escolha o emulador correto, de acordo com o dispositivo que
deseja fazer o deploy
40 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Veja que no exemplo acima foi listado o mesmo nome do emulador que já se encontra aberto.
Clique em Run Without Debugging, essa opção compila o projeto e enviar para o dispositivo ou
emulador o app pronto, como estamos trabalhando sem o Debug não conseguiremos
“debugar” nosso código com paradas (breakpoint), para executar este tipo de operação use a
opção RUN(f9).
41 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Pressione várias vezes sobre a opção Num de compilação, ele habilitará as opção de
desenvolvedor, retorne a tela anterior e escolha a opção Opções do Desenvolvedor e marque a
opção Depuração de USB. (Essas opções podem mudar de acordo com o aparelho ou o
Android instalado nele, procure no Google como Habilitar Depuração de USB para
desenvolvimento no modelo de seu aparelho).
42 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Caso o Delphi não liste automaticamente o dispositivo clique com o botão direito sobre a
opção Target do Android no Project Manager e escolha a opção Refresh. Caso não funcione
uma das dicas é fechar e abrir Delphi novamente.
43 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Caso tudo ocorra certo o dispositivo deverá ser listado no Delphi, para marcar ele como alvo
de compilação clique duas vezes sobre a opção ou clique com o botão direito e escolha a
opção Activate.
44 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
“Crie aplicações para fones e tablets com Android com processadores ARM7, rodando
Android Gingerbread (2.3.3-2.7), Ice Cream Sandwich (4.0.3 e 4.0.4) ou Jelly Bean (4.1.x,
4.2.x e 4.3.x)”
Test Results
Android Device Android Percentage
(Out of 16 Comments
Name Version Passed
Samples)
45 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Galaxy S II (GT-
4.1.2 16/16 100
I9100)
Optimus L5 (LG-
4.1.2 16/16 100
E612)
Orange Nivo
4.1.2 16/16 100
(Coolpad 7560U)
LG Optimus L5 (LG
4.0.3 15/16 93.75
- E610)
Galaxy S II (GT-
2.3.3 15/16 93.75 Bug reported about Picture Taking
I9100)
HTC Desire HD 2.3.6 15/16 93.75 Bug reported about Audio Recording
HTC One X 4.1.1 15/16 93.75 Bug reported about Web Browser
46 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
HTC Desire SV 4.0.4 15/16 93.75 Bug reported about Audio Recording
Motorola Droid
4.1.2 16/16 100
Bionic
Huawei Ascend P1 4.0.3 15/16 93.75 Bug reported about Audio Recording
100
Pantone 6 4.1.2 16/16
Fizemos alguns testes em outros aparelhos não indicados na lista, como por exemplo o tablet
Motorola XOM e tivemos êxito, porém com alguns tablets da SAMSUNG testados tivemos
problemas pois NÃO tinham suporte ao NEON, portanto nem todos os aparelhos rodando
ANDROID são suportados, verifique sempre se o aparelho que deseja rodar a aplicação tenha
suporte a NEON e se encontra em uma das versões do ANDROID indicadas pela Embarcadero.
COMPONENTE BOTÃO
Palheta Standard \ TButton
Propriedade
47 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Evento OnClick
48 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
STYLE LOOKUP
Essa propriedade determina a aparência do componente, ela é fundamental pois é através
dela que o compilador irá determinar a aparência dos controles de acordo com o Sistema
Operacional do Celular (IOS ou ANDROID).
49 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
50 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Ancoragem de Componentes
A propriedade Anchors determina o sistema de ancoragem que o aplicativo usará para o
componente, você pode ancorar um componente usando as posições: left (esquerda), right(
direita), top (superior) e bottom (inferior). A ancoragem serve quando o tamanho da tela do
aplicativo é redimensionada (troca de dispositivo por exemplo) ele indicará como o
componente deverá se comportar.
Componente Edit
Componente caixa de texto.
Propriedades
51 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Exemplo de um APP
52 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Construa uma aplicação com uma Label, um Edit e um botão conforme modelo acima,
configure o tipo do teclado como VktDefault, troque propriedade name do Edit para
EDTNOME
No click do botão mostraremos uma mensagem com o que foi digitado e alteraremos o texto
do Edit via código.
COMPONENTE RADIOBUTTON
O rádio Button é usado para seleções de opções, em grupos de radiosbuttons somente um
pode ser selecionado
A propriedade TEXT altera o texto do mesmo e o evento ONClick é disparado sempre que ele é
selecionado.
A propriedade ISCHECKED do tipo boolean (true ou false) determina se ele está selecionado ou
não.
Você só pode ter um radiobutton selecionado por grupo, utilize a propriedade GroupName
para criar os grupos desejados.
53 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Neste APP foram adicionados 3 radios buttons, a propriedade TEXT de cada um foi alterada de
acordo com a função que ele irá executar (esse texto é livre)
Em cada OnClick dos radios foi adicionado um código para alterar o tipo do teclado do Edit.
O tipo de teclado foi trocado via código, o número entre parênteses é o indice do tipo
escolhido, consulte o Help para esta listagem de códigos.
54 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Componente TOOLBAR
Palheta Standard \ TtoolBar
55 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
56 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
COMPONENTES TABCONTROL
57 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Para adicionar as Abas clique com o botão direito sobre o componente e escolha a opção Items
Editor...
58 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Propriedades
59 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
O TabPosition em tpNone não mostra nenhuma opção visual para troca de Abas, a mesma
pode ser feita através de código.
60 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Propriedades da TABITEM
61 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
62 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
COMPONENTE LISTBOX
Palheta Standard \ TListBox
63 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Configure a propriedade Align como AlClient para que o componente se ajuste a tela.
Clique com o botão direito sobre o componente e escolha a opção Items Editor
64 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Cada item pode ser configurado separadamente, para isso clique sobre o Item desejado
Propridades
65 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
ItemData
StyleLookup = Esta propriedade indica aparencia do ITEM, determinando se terá ou não detail,
a posição do detail entre outras opções.
O exemplo abaixo foi adicionado no evento OnCLick da Aba Palestras, adicionando 4 itens
manualmente
var
begin
66 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
ListBoxPalestras.BeginUpdate;
ListBoxItem := TListBoxItem.Create(ListBoxPalestras);
ListBoxItem.StyleLookup:='listboxitembottomdetail';
ListBoxItem.ItemData.Detail:='Palestrante A';
ListBoxPalestras.AddObject(ListBoxItem);
ListBoxItem := TListBoxItem.Create(ListBoxPalestras);
ListBoxItem.StyleLookup:='listboxitembottomdetail';
ListBoxItem.ItemData.Detail:='Palestrante B';
ListBoxPalestras.AddObject(ListBoxItem);
ListBoxItem := TListBoxItem.Create(ListBoxPalestras);
ListBoxItem.StyleLookup:='listboxitembottomdetail';
ListBoxItem.ItemData.Detail:='Palestrante C';
ListBoxPalestras.AddObject(ListBoxItem);
ListBoxItem := TListBoxItem.Create(ListBoxPalestras);
ListBoxItem.StyleLookup:='listboxitembottomdetail';
67 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
ListBoxItem.ItemData.Detail:='Palestrante D';
ListBoxPalestras.AddObject(ListBoxItem);
ListBoxPalestras.EndUpdate;
end;
Clique com botão direito sobre a listbox, escolha a opção Add Item \ TSearchBox
68 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
69 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
ADICIONANDO LISTBOXGROUPHEADER
ListBoxGroupheader:=TListBoxGroupHeader.Create(ListBoxPalestras);
ListBoxGroupheader.Text:='TERÇA';
ListBoxPalestras.AddObject(ListBoxGroupheader);
70 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
71 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
72 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Neste exemplo acima estamos chamando a função do Show do Formulário FSegundo que é a
função que “mostra” o formulário na tela.
Na primeira compilação obteremos um erro que o Fsegundo não foi encontrado na lista de
USES, ou seja, se vamos utilizá-lo precisamos indicar sua unit na lista de Uses do nosso
formulário principal, porém o delphi pode adicioná-lo automaticamente, para isso resposta
YES na pergunta se deseja adicioná-lo.
73 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Para fechar o formulário aberto precisamos adicionar um código, no exemplo abaixo adicionei
um botão em uma toolbar e configurei o stylelookup dele para “backtoolbutton”
74 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
TMEMO
Principais propriedades
Exemplo
Finfo.memoinfo.lines.clear;
Finfo.memoinfo.lines.add(‘teste’);
75 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
TIMAGEVIEWER
Palheta Additional \ TImageViewer
Propriedades
Clique no botão LOAD da janela Bitmap Editor e escolha a imagem que deseja.
GESTURES
76 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Para ativar o Gesture clique no Formulário (utilize a palheta Structure caso o mesmo esteja
com muitos componentes na tela dificultando clicar em uma área vazia).
77 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
Esse evento tem um parâmetro EventInfo que indica as informações do Gesture que ocorreu
78 de 79
II JTI-MS – Mini Curso - APLICATIVOS MOBILE PARA ANDROID E IOS COM DELPHI XE 5
É possível também capturar o nome do Gesture ocorrido em uma string e trabalhar com ele.
Exemplo do código:
79 de 79