Professional Documents
Culture Documents
19
27
33
37
Captulo Dos
CONTENIDO
43
52
64
76
84
Captulo Tres
INSTALACIN Y CONFIGURACIN DE
LOS AMBIENTES
Captulo Uno
e mbarcadero
www.ittoolsltda.com
Captulo Uno
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
Pulse Intro o introduzca una contrasea para PAServer y luego pulse Intro.
e mbarcadero
www.ittoolsltda.com
Captulo Uno
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
e mbarcadero
www.ittoolsltda.com
Captulo Uno
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
e mbarcadero
www.ittoolsltda.com
10
Captulo Uno
CREAR UN PERFIL
DE CONEXIN PARA
MAC
Seleccione agregar
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
11
e mbarcadero
www.ittoolsltda.com
12
Captulo Uno
Seleccionar agregar
En el cuadro de dilogo Agregar Nuevo SDK, seleccione Dispositivo iOS como
plataforma.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
13
Mi Mac) y el combo box SDK versin con la lista de las versiones SDK
disponibles en la plataforma de destino:
CONFIGURACIN
ANDROID
e mbarcadero
www.ittoolsltda.com
14
Captulo Uno
A continuacin instalar todos los paquetes: tools, Android 4.4 y las versiones de
Android que necesite. Adems puede instalar los Extras.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
15
Configurar el
simulador de
Android
e mbarcadero
www.ittoolsltda.com
16
Captulo Uno
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
17
Una vez realizados estos pasos Delphi detectara el simulador de Android. Si conecta
un dispositivo Android al pc Delphi lo detectara y podr realizar el despliegue en
el dispositivo directamente.
Las SDK`s para Android se configuran con la instalacin de RAD Studio.
e mbarcadero
www.ittoolsltda.com
18
Captulo Uno
DESARROLLO DE APLICACIONES
MOVILES CON FIREMONKEY CREANDO LA PRIMERA APLICACIN
Captulo Uno
1. Crear una nueva aplicacin mvil FireMonkey. Seleccione Archivo> Nuevo> FireMonkey
aplicaciones mviles (File>New>FireMonkey Mobile Application - Delphi).
e mbarcadero
www.ittoolsltda.com
20
Captulo Uno
Repita estos pasos, pero ahora agregar un componente TLabel y TButton al formulario.
Seleccione el botn y cambie la propiedad Text en el Inspector de Objetos para Decir
hola.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
21
e mbarcadero
www.ittoolsltda.com
22
Captulo Uno
Para un componente TButton, el nombre del componente est configurado por defecto
para Button1 (o Button2 Button3, dependiendo del nmero de TButtons que ha creado
en esta solicitud).
La forma (Form) en la que se encuentran estos componentes tambin tiene un nombre.
Seleccione el fondo del FireMonkey Mobile Form Designer y seleccione la propiedad
Name en el Object Inspector. Se muestra el nombre del formulario Form1 (o Form2,
Form3, ...). Tambin puede buscar el nombre de la forma en la vista de estructura:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
23
Cuando cambie al Editor de cdigo, se puede ver el cdigo fuente que el IDE ha
generado. Usted debe encontrar tres componentes definidos (Edit1, Label1 y Button1):
Ahora puede aplicar cdigo en el bloque begin .. end del mtodo Button1Click.
El siguiente fragmento de cdigo implementa una respuesta que muestra un pequeo
cuadro de dilogo que dice Hola + <nombre que ingreso en la caja de texto>:
e mbarcadero
www.ittoolsltda.com
24
Captulo Uno
En Delphi, las comillas que rodean literales de cadena deben ser comillas simples (es
decir, cadena). Usted puede utilizar el signo ms (+) para concatenar cadenas. Si
usted necesita una comilla simple dentro de una cadena, se pueden utilizar dos comillas
simples consecutivas dentro de una cadena, que produce una nica comilla.
Mientras que usted est escribiendo cdigo, algunos tooltip aparecen, indicando el tipo
de parmetro que debe especificar. Los tooltip tambin muestran los tipos de miembros
que se apoyan en una clase determinada:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
25
Captulo Uno
FireMonkey define varios tipos de botones, y puede utilizar estos diferentes tipos de botones
con los mismos pasos que se describen aqu. Los botones FireMonkey incluyen TButton y
TSpeedButton.
A continuacin se presentan algunos ejemplos de diferentes estilos con componentes
Button disponibles para que usted pueda utilizar en diferentes partes de la interfaz de
usuario de una aplicacin mvil:
Definir el aspecto
y la sensacin de
un componente
Button
Despus de colocar un nuevo botn en el Diseador FireMonkey Mobile, puede especificar algunas
propiedades importantes para un componente seleccionado utilizando el Inspector de Objetos.
Seleccionar un componente (en este caso, un botn), y a continuacin, busque y cambie
el valor de algunas propiedades de la siguiente manera:
e mbarcadero
www.ittoolsltda.com
28
Captulo Uno
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
29
Crear un control
segmentado
utilizando los
componentes
Button (Solo iOS)
FireMonkey utiliza el componente Button para definir el control segmentado, que ofrece a
los usuarios la posibilidad de seleccionar un valor entre varias opciones.
e mbarcadero
www.ittoolsltda.com
30
Captulo Uno
Haga clic y arrastre estos tres botones para seleccionar estos componentes:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
31
Crear un scope
bar en un
componente
toolbar
toolbuttonleft
toolbuttonmiddle
toolbuttonright
e mbarcadero
www.ittoolsltda.com
32
Captulo Uno
UTILIZAR UN COMPONENTE
CALENDARIO PARA RECOGER UNA
FECHA EN UNA APLICACIN
Captulo Uno
e mbarcadero
www.ittoolsltda.com
34
Captulo Uno
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
35
Este cdigo muestra un cuadro de dilogo de mensaje con una fecha seleccionada. La
funcin FormatDateTime convierte la fecha seleccionada en un formato especificado (en
este caso dddddd da formato de fecha y el estilo de largo):
e mbarcadero
www.ittoolsltda.com
36
Captulo Uno
Captulo Uno
e mbarcadero
www.ittoolsltda.com
38
Captulo Uno
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
39
Construccin de una
lista de productos
utilizando el cdigo
Para crear una lista de elementos mediante cdigo, se puede utilizar el mtodo Add de la
siguiente manera:
e mbarcadero
www.ittoolsltda.com
40
Captulo Uno
Visualizacin
un elemento
especfico
Si usted no sabe el valor del ndice, se puede calcular el valor mediante el mtodo IndexOf
de la siguiente manera:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
41
Ejecucin de un
controlador de
eventos para
la seleccin del
usuario
e mbarcadero
www.ittoolsltda.com
42
Captulo Uno
Captulo Dos
e mbarcadero
www.ittoolsltda.com
44
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
45
e mbarcadero
www.ittoolsltda.com
46
Captulo Dos
PASO 2:
FireMonkey ofrece muchos tipos de controladores de eventos para cubrir la mayora de las
acciones de los usuarios. Despus se seleccionar el botn Done, el marco FireMonkey
enva un evento OnChange al control TEdit. Por otra parte, no hay ningn evento especfico
para el botn de retorno. En esta seccin, se implementan manejadores de eventos para
apoyar a ambos escenarios.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
47
e mbarcadero
www.ittoolsltda.com
48
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo de ITTOOLS - prohibida su reproduccin
49
El comportamiento bsico ahora se implementa para esta aplicacin Web Browser. Pruebe
a ejecutar su aplicacin ya sea en el simulador de iOS o Android.
Despus de ejecutar la primera aplicacin del navegador Web, es posible darse cuenta de
que el teclado virtual no est optimizado.
IOS y Android proporcionan varios teclados virtuales de la siguiente manera:
e mbarcadero
www.ittoolsltda.com
50
Captulo Dos
e mbarcadero
www.ittoolsltda.com
51
Captulo Dos
Para cada pestaa, puede especificar iconos predefinidos (iOS), as como un icono
personalizado, y una etiqueta de texto.
Adems, usted puede colocar pestaas en la parte superior o la parte inferior del control.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
53
e mbarcadero
www.ittoolsltda.com
54
Captulo Dos
Haga clic en Add Item tres veces, por lo que ahora tiene tres instancias de
TabItem. Cierre el cuadro de dilogo.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
55
e mbarcadero
www.ittoolsltda.com
56
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
57
e mbarcadero
www.ittoolsltda.com
58
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
59
Aqu estn los pasos para habilitar al usuario moverse a diferentes pginas de la ficha
haciendo clic en un botn:
e mbarcadero
www.ittoolsltda.com
60
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
61
Con el paso anterior, ahora el ttulo (la propiedad Text) del botn se cambia
automticamente a Go To Security, ya que el ttulo de TabItem2 es Security
en nuestro ejemplo. Cambiar el tamao del botn para ajustar el nuevo texto,
o cambiar la propiedad CustomText del componente ChangeTabAction1 como
se muestra aqu:
e mbarcadero
www.ittoolsltda.com
62
Captulo Dos
TabControl1.TabIndex:=1;
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
63
Uso de componentes
listbox para mostrar una
vista de tabla en una
aplicacin mvil.
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
65
e mbarcadero
www.ittoolsltda.com
66
Captulo Dos
Agregar un encabezado
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
67
Property
Value
Align
StyleLookup
TextAlign
Text
alClient
toollabel
taCenter
(texto que quiere)
e mbarcadero
www.ittoolsltda.com
68
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
69
e mbarcadero
www.ittoolsltda.com
70
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
71
listboxitembottomdetail
listboxitemrightdetail
listboxitemleftdetail
e mbarcadero
www.ittoolsltda.com
72
Captulo Dos
Si desea crear objetos que no sean un elemento simple, o controlar otras propiedades, se
puede crear una instancia de la tarea primero, y luego aadirlo a la lista.
El cdigo siguiente agrega elementos a un ListBox, como se muestra en la imagen:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
73
procedure TForm40.FormCreate(Sender:TObject);
var
c:Char;
i:Integer;
Buffer:String;
ListBoxItem : TListBoxItem;
ListBoxGroupHeader : TListBoxGroupHeader;
begin
ListBox1.BeginUpdate;
for c :=atozdo
begin
// Add header (A to Z) to the List
ListBoxGroupHeader := TListBoxGroupHeader.Create(ListBox1);
ListBoxGroupHeader.Text:=UpperCase(c);
ListBox1.AddObject(ListBoxGroupHeader);
// Add items (a, aa, aaa, b, bb, bbb, c, ...) to
the list
for i :=1to3do
begin
// StringOfChar returns a string with a specified number of repeating characters.
Buffer :=StringOfChar(c, i);
// Simply add item
// ListBox1.Items.Add(Buffer);
// or, you can add items by creating an instance of TListBoxItem
by yourself
ListBoxItem := TListBoxItem.Create(ListBox1);
ListBoxItem.Text:= Buffer;
// (aNone=0, aMore=1, aDetail=2, aCheckmark=3)
ListBoxItem.ItemData.Accessory:= TListBoxItemData.
TAccessory(i);
ListBox1.AddObject(ListBoxItem);
end;
end;
ListBox1.EndUpdate;
end;
e mbarcadero
www.ittoolsltda.com
74
Captulo Dos
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
75
Captulo Dos
Este tutorial describe una estrategia general para el uso de una forma comn para los
diferentes factores de la forma (como iOS, Android), sin necesidad de utilizar diferentes
formas para cada factor de forma.
En el FireMonkey Mobile Form Designer, puede obtener una vista previa de la interfaz de
usuario sin necesidad de ejecutar la aplicacin en un dispositivo - slo cambiar el dispositivo
u orientacin en el desplegable de la esquina superior derecha:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
77
alNone
alTop
alBottom
alLeft
alRight
alCenter
alClient
e mbarcadero
www.ittoolsltda.com
78
Captulo Dos
Las siguientes imgenes muestran el diseo de paisaje (horizontal) y para el retrato (vertical)
cuando se tienen dos (2) componentes que utilizan alTop, y un (1) componente que utiliza
alClient.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
79
Left
Right
Bottom
Top
En la siguiente imagen, el componente principal (que contiene dos regiones) utiliza la
propiedad Padding para asegurar el espacio en el interior del componente principal:
e mbarcadero
www.ittoolsltda.com
80
Captulo Dos
Si desea que el control de edicin mantenga la misma posicin relativa con respecto a
la barra de herramientas (su padre), se puede establecer la propiedad Anchors en akLeft,
akTop, akRight. Cuando se cambia el tamao de la barra de herramientas, el control de
edicin cambia el tamao de acuerdo a la configuracin Anclas:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
81
Seleccione los controles que desea mover. A continuacin, arrastre el grupo de los controles
sobre el control que debe ser el padre, y soltar los controles all. En la vista de estructura,
el grupo de controles ahora es hijo de la nueva matriz:
1. Initial State
Usted puede utilizar Alinear, relleno, mrgenes, anclas, y otras propiedades de TLayout
para definir el diseo de un rea especfica. Usted puede utilizar el componente TLayout
igual que la etiqueta DIV en HTML.
e mbarcadero
www.ittoolsltda.com
82
Captulo Dos
BUSY:
USO
DE
UN
En general, usted no quiere que su forma tenga demasiados elementos, que puedan obligar
a los usuarios desplazarse por la interfaz de usuario. En muchos casos, se puede utilizar un
componente TabControl con varias pginas para evitar cualquier desplazamiento.
Si tiene que colocar muchos elementos en el formulario, puede utilizar un componente
TVertScrollBox para definir un rea de desplazamiento como se describe aqu:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
83
Captulo Dos
Esta funcionalidad se proporciona como acciones, y usted tiene que escribir una sola lnea
de cdigo para cada tarea.
Una accin corresponde a uno o ms elementos de la interfaz de usuario, como comandos
de men, botones de barra de herramientas y controles.
Las acciones tienen dos propsitos:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
85
Componente TToolBar
Tres componentes TButton. Cada botn utiliza diferentes iconos.
Establecer la propiedad StyleLookup para los tres botones
para cameratoolbuttonbordered, searchtoolbuttonbordered y
actiontoolbuttonbordered, respectivamente.
Componente TImage
Configurar la propiedad Align a alClient.
Componente TActionList
e mbarcadero
www.ittoolsltda.com
86
Captulo Dos
Este cdigo asigna una imagen tomada de la cmara del dispositivo mvil a la propiedad
de mapa de bits del componente TImage.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
87
e mbarcadero
www.ittoolsltda.com
88
Captulo Dos
El cdigo anterior asigna una imagen del componente TImage a Share Sheet Functionality.
Despus de seleccionar Facebook de la lista de servicios, puede publicar la foto en
Facebook con su comentario:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
89
Captulo Tres
En esta seccin se describen los pasos bsicos para localizar su dispositivo mvil (con
latitud y longitud), como en la siguiente imagen:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
91
un TListBoxItem con el
SubAdminArea como texto.
nombre
ListBoxItemSubAdminArea
texto.
un componente TWebBrowser (WebBrowser1) para mostrar la pgina Web
(Google Maps). Establecer la propiedad Align a alClient.
e mbarcadero
www.ittoolsltda.com
92
Captulo Cuatro
Despus de crear estos componentes, seleccione todos los artculos TListBoxItem y seleccione
listboxitemleftdetail en la propiedad StyleLookup. Esto permite que el TListBoxItem muestre
tanto el rtulo como el texto detallado.
EL SENSOR DE UBICACIN
El sensor de localizacin est envuelto por el componente TLocationSensor.
TLocationSensor dispara un evento OnLocationChanged cuando el dispositivo
detecta el movimiento. Puede ajustar la sensibilidad de TLocationSensor mediante la
propiedad Distance. Si establece Distance a 10, TLocationSensor dispara un evento
OnLocationChanged al mover 10 metros.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
93
e mbarcadero
www.ittoolsltda.com
94
Captulo Cuatro
Como TGeocoder no es un componente (esto es slo una clase), usted necesita definir
estos pasos a travs de su cdigo (no se puede colocar un componente, ni asignar un
controlador de eventos a travs del Inspector de Objetos).
En primer lugar, definir un nuevo campo FGeocoder: TGeocoder en la seccin privada
de la forma. Tambin puede definir un procedimiento OnGeocodeReverseEvent como en
el siguiente fragmento de cdigo.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
95
Ahora usted puede crear una instancia de TGeocoder y configurarla con los datos con el
siguiente cdigo
Por ltimo, si ha creado con xito una instancia de TGeocoder y TGeocoder no se est
ejecutando, llame TGeocoder.GeocodeReverse con la informacin de ubicacin. Despus
TGeocoder recibe datos, y el evento OnGeocodeReverseEvent se dispara.
procedure
TForm44.LocationSensor1LocationChanged(Sender:TObject;
const OldLocation, NewLocation: TLocationCoord2D);
begin
// code for previous steps goes here
// Setup an instance of TGeocoder
if not Assigned(FGeocoder)then
begin
if Assigned(TGeocoder.Current)then
FGeocoder := TGeocoder.Current.Create;
If Assigned(FGeocoder)then
FGeocoder.OnGeocodeReverse:= OnGeocodeReverseEvent;
end;
// Translate location to address
if Assigned(FGeocoder)and not FGeocoder.Geocoding then
FGeocoder.GeocodeReverse(NewLocation);
end;
e mbarcadero
www.ittoolsltda.com
96
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
97
Captulo Tres
Cuando los usuarios configuran las notificaciones de aplicaciones en sus dispositivos, las
notificaciones pueden ser entregadas desde aplicaciones en los tres estilos bsicos que se
muestran aqu. El banner aparece brevemente, pero la alerta requiere un despido por parte
del usuario.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
99
Despus de establecer el nmero de placa del icono a 18, se puede ver en su pantalla de
inicio de iOS:
HORARIO DE NOTIFICACIN
Tambin puede programar mensajes de notificacin por el mtodo ScheduleNotification.
Para mostrar un mensaje de notificacin, es necesario crear una instancia de la clase
TNotification y, a continuacin, definir el nombre (identificador) y el mensaje:
e mbarcadero
www.ittoolsltda.com
100
Captulo Cuatro
procedure TForm1.ScheduleNotification;
var
NotificationService: IFMXNotificationCenter;
Notification: TNotification;
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXNot
ificationCenter)then
NotificationService := TPlatformServices.Current.GetPlatform
Service(IFMXNotificationCenter)as IFMXNotificationCenter;
ifAssigned(NotificationService)then
begin
Notification := TNotification.Create;
try
Notification.Name:=MyNotification;
Notification.AlertBody:=Delphi for iOS is here!;
// Fired in 10 second
Notification.FireDate:=Now+EncodeTime(0,0,10,0);
// Send notification in Notification Center
NotificationService.ScheduleNotification(Notification);
finally
Notification.Free;
end;
end
end;
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
101
ACTUALIZAR O
PROGRAMADO
CANCELAR
UN
MENSAJE
DE
NOTIFICACIN
e mbarcadero
www.ittoolsltda.com
102
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
103
Alerta de notificacin
Para utilizar una alerta de notificacin en lugar de un banner de aviso, el usuario final
tiene que cambiar el estilo de comunicacin a travs de la pgina de configuracin del
Centro de Notificacin:
e mbarcadero
www.ittoolsltda.com
104
Captulo Cuatro
Notification := TNotification.Create;
Notification.Name:=MyNotification;
Notification.AlertBody:=Delphi for iOS is here!;
Notification.AlertAction:=Code Now!;
Notification.HasAction:=True;
// Fired in 10 seconds
Notification.FireDate:=Now+EncodeTime(0,0,10,0);
// Show Notification Message
NotificationService.ScheduleNotification(Notification);
finally
Notification.Free;
end;
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
105
Captulo Tres
Para otras bases de datos como Oracle, es necesario tener al menos una
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
107
Nota: El ajuste FailIfMissing en False indica al explorador de datos que debe crear un nuevo
archivo de base de datos si el archivo no est disponible.
e mbarcadero
www.ittoolsltda.com
108
Captulo Cuatro
Haga clic en el botn Probar conexin. Con esta operacin, se crea el nuevo
archivo de base de datos si no exista el archivo:
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
109
Para configurar un componente ListBox y otros elementos de interfaz de usuario, siga estos
pasos:
e mbarcadero
www.ittoolsltda.com
110
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
111
Despus de estos pasos se conecta la interfaz de usuario de la aplicacin con los datos
de una base de datos SQLite. Si ha utilizado una tabla con los datos existentes para este
tutorial, ahora debera ver los datos reales en el Diseador de formularios.
Crear el controlador de eventos para que el botn Delete sea visible cuando
el usuario selecciona un elemento de la lista
La propiedad Visible para el botn Delete se establece en False. Por lo tanto, por defecto,
el usuario final no ve este botn. Puede que sea visible cuando el usuario selecciona un
elemento de la lista, de la siguiente manera:
Seleccione ListBox1 y definir el siguiente controlador de eventos para el evento OnItemClick.
e mbarcadero
www.ittoolsltda.com
112
Captulo Cuatro
procedure TForm1.ButtonAddClick(Sender:TObject);
var
TaskName:String;
begin
try
if InputQuery(Enter New Item,Name, TaskName)and(TaskName.
Trim<>)then
begin
SQLQueryInsert.ParamByName(ShopItem).AsString:= TaskName;
SQLQueryInsert.ExecSQL();
Item.Refresh;
ButtonDelete.Visible:= ListBox1.Selected<>nil;
end;
except
on e: Exception do
begin
ShowMessage(e.Message);
end;
end;
end;
La funcin InputQuery muestra un cuadro de dilogo que pide al usuario que introduzca
texto. Esta funcin devuelve True cuando el usuario selecciona OK, as que usted puede
agregar datos a la base de datos slo cuando el usuario selecciona OK y el texto contiene
algunos datos.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
113
SQLQueryDelete.ParamByName(ShopItem).AsString:= TaskNa-
SQLQueryDelete.ExecSQL();
Item.Refresh;
ButtonDelete.Visible:= ListBox1.Selected<>nil;
except
on e: Exception do
begin
SHowMessage(e.Message);
end;
end;
end;
e mbarcadero
www.ittoolsltda.com
114
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
115
e mbarcadero
www.ittoolsltda.com
116
Captulo Cuatro
Captulo Tres
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
119
Se puede escoger entre 3 tipos de servidor: VCL, Consola o Servicio. En este caso Se
creara un servidor VCL.
e mbarcadero
www.ittoolsltda.com
120
Captulo Cuatro
Luego escoger el puerto a trabajar, por defecto se utiliza el puerto 211. Se puede verificar
que el puerto a utilizar se encuentre libre o buscar un puerto disponible.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
121
e mbarcadero
www.ittoolsltda.com
122
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
123
Regresando a la interfaz de usuario del servidor, se procede a programar los botones pero
primero hay que usar la unidad ServerContainer.
e mbarcadero
www.ittoolsltda.com
124
Captulo Cuatro
El siguiente paso ser guardar nuestro servidor, para esto se creara un conjunto de carpetas,
una carpeta para los archivos del servidor y otra carpeta para los archivos del cliente.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
125
e mbarcadero
www.ittoolsltda.com
126
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
127
e mbarcadero
www.ittoolsltda.com
128
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
129
Con el servidor iniciado se procede a crear el cliente mvil que va a consumir los datos,
para esto se creara un nuevo proyecto en el grupo de proyectos del proyecto existente
haciendo clic derecho sobre ProjectGroup1:
e mbarcadero
www.ittoolsltda.com
130
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
131
A continuacin se procede a crear el cliente DataSnap dentro del proyecto cliente. ir a File>New->other.
e mbarcadero
www.ittoolsltda.com
132
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
133
e mbarcadero
www.ittoolsltda.com
134
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
135
e mbarcadero
www.ittoolsltda.com
136
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
137
e mbarcadero
www.ittoolsltda.com
138
Captulo Cuatro
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
139
e mbarcadero
www.ittoolsltda.com
140
Captulo Cuatro
A continuacin presionar clic derecho del mouse sobre el formulario y seleccionar Bind
Visually.
e mbarcadero
www.ittoolsltda.com
Material de capacitacin exclusivo para el SENA - prohibida su reproduccin
141
e mbarcadero
www.ittoolsltda.com
142
Captulo Cuatro