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

Captulo

C olle c tio n Ayuda nte : Un


8
Barc o d e U n d Dat ab as e
Ap pl icat io n

in this Captulo
Utilizando el Barcode componente de Escner
Creando variedades multidimensionales
En desarrollo y utilizando funciones de base de datos tradicional
2 C H Un P T E R E yo G H T Un
C POP LELN E T OyoROF ON Un
V ECN T R S S 2
yo S
Un N TDUnR N O Tyo : DUn B Un R C
O D E Un N D D Un T Un B

LA aplicacin de AYUDANTE de la COLECCIN replicates la funcionalidad de


algunos de el populares barcode aplicaciones de escner
disponibles en el mercado. Su funcin bsica es para escanear un
barcode y almacenar la ubicacin y nombre de el objeto
escaneado en una base de datos local. Puedes utilizar aplicaciones
de escner para muchos dierent cosas. El Ayudante de Coleccin
podra soler catalogar y mantener pista de una coleccin de medios
de comunicacin como un DVD o CD coleccin, por ejemplo.
Tambin pueda ser utilizado tan parte de un sistema organizativo
donde cajas o contenedores de almacenamiento son labeled con
imprimidos barcodes.

Yon building the Collection Ayudante, you learn how to utilize the
functionality of the Barcode Scanner componente. The Barcode
Scanner is Un fairly simple component ingenioh just un fe w compo-
nent bloques that provide un lo t of funcionalidad. The Barcode
Scanner Usos the device camerun a sca n barcodes. The Barcode
Scanner component can scan Ningn t only traditional barcodes, pero
can scan the increasingly popular matrix (en algn momentos called QR
or Quick Respuesta) cdigos tambin . QR Cdigos have the capability of
storing far more information than traditional barcodes und open up un
lo t of interestinaplicacin de gs for using the Barcode Scanner
componente.

Creando Ayudante
de Coleccin 1.0
El Ayudante de Coleccin toma vuestro uso de el TinyDB
componente a el nivel prximo. Uno de el ms frecuentemente
pregunt cuestiones sobre TinyDB es Cmo puede selecciono un
elemento o etiqueta en TinyDB y recuperar aquel elemento? En
este captulo, te muestras cmo para utilizar la tcnica de stor - ing
todo utiliz etiquetas en TinyDB l de modo que estirando el dato de
la base de datos es controlable.

En crear el Ayudante de Coleccin, t nd fuera ms sobre una


tcnica adelantada que te dejas para crear quasi-variedades
multidimensionales en Inventor de Aplicacin. Las listas en
Inventora de Aplicacin son variedades de nivel solo en
programacin tradicional. La variedad es justo otra manera de decir lista.
Utilizando algn listo (albeit complejo) texto parsing, puedes crear
3 C H Un P T E R E yo G H T Un
C POP LELN E T OyoROF ON Un
V ECN T R S S 3
yo S
Un N TDUnR N O Tyo : DUn B Un R C
O D E Un N D D Un T Un B
multi-variedades dimensionales en Inventor de Aplicacin. Un multi-
la variedad dimensional aumenta el nmero de valores que un solos
vari- la lista capaz puede tener. Un multi-la variedad dimensional es ms
entendida si les visualizas como mesa. Cada etiqueta tiene dos
piezas separadas de la informacin almacenada junto con una coma
que les separa . El Ayudante de Coleccin almacena el nombre de
elemento y su ubicacin en un dos- variedad dimensional que
puede ser visualizado utilizando Mesa 8-1.

Mesa 8-1 Una


Variedad
Bidimensional
Sencilla
Barcode (Etiqueta)
Nombre, Ubicacin
(Valor1)
123456789
Dire Straits, Balda1
987654321
Rosa Floyd, Balda

Cada la representa un elemento individual y cada


columna alguna propiedad o atributo de aquel
elemento. Recuperando el barcode recupera ambos el
nombre y la ubicacin de el elemento. ThEs es un
ejemplo muy sencillo, pero el principio puede ser
utilizado en dato ms complejo lejano estructuras.
Para caso, cada etiqueta podra tener diez o veinte
valores separaron por comas.

Utilizas el escaneado barcode como la etiqueta para


cada elemento y, bajo aquella etiqueta, almacenas
ambos el nombre y la ubicacin separada por una
coma. Entonces puedes utilizar el texto de Inventor
de Aplicacin parsing bloquea para iterar a travs del
dato que utiliza un ForEach bloque cundo est regresado
de TinyDB .

Refer back to Chapter 4 fo un refresher en el ForEach bloque. NINGNT E

Tr diseo
Figura 8-1 espectculos los croquis de
diseo para la aplicacin de Ayudante de
la Coleccin.
4 C H Un P T E R E yo G H T Un
C POP LELN E T OyoROF ON Un
V ECN T R S S 4
yo S
Un N TDUnR N O Tyo : DUn B Un R C
O D E Un N D D Un T Un B

Figura -:
The
croquis
de diseo
de
Ayudante
de
Coleccin

Ayudante de coleccin 1.0 inicios con la funcionalidad


ms bsica. La aplicacin escanea una barra- cdigo y
almacena el cdigo junto con usuario-informacin
introducida. El marco de almacenamiento es local
utilizando TinyDB. La 1.0 versin de la aplicacin es
capaz de mostrar todos los contenidos de la
aplicacin en un formatted y exhibicin legible.
Tr
primitives
Uso estos basics para construir el
Ayudante de Coleccin:

Un mtodo de escanear barcodes y poblando un texto eld


con los resultados de escner
Cajas de texto para recoger el barcodes, nombres, y
ubicaciones de elementos.
Botones para iniciar el barrido, ahorro, y exhibicin de
elementos.
Un mtodo para almacenar atributos mltiples de un
elemento solo
Un mtodo para recuperar, parsing, y formatting atributos
mltiples de TinyDB.
Un mtodo para cleanly mostrando todos los elementos en
la base de datos

New
Componen
tes
Estos usos de aplicacin slo
uno componente nuevo:

Barcode Escner

New
Bloque
s
Aqu es los bloques nuevos utilizars
para construir esta aplicacin:

Aade elemento para listar


Ruptura
Selecciona elemento de lista

Tr
progresi
n
Estos son los pasos tomas para construir arriba de la 1.0
versin. Es siempre una idea buena de tener una idea
spera de qu orden pretendes emprender vuestro
primitives. Despus de que uno primitivo est manejado,
puedes mover encima al prximo un:

1. Complexin la pantalla de entrada de elemento


principal.
2. Complexin la pantalla de exhibicin de la base de
datos.
3. Mango el Escner/Aade acontecimiento de botn del
Elemento.
4. Mango el Salvar acontecimiento de botn del
Elemento.
5. Mango el botn de Base de datos/de Elementos de Exhibicin
acontecimiento.
6. Mango el Atrs a acontecimiento de botn de Pantalla
Principal.

Vuestro ms duro primitivo es el mtodo para parsing


y formatting el dato en el multi- variedad dimensional
fuera de TinyDB. Despus de que consigues que el
algoritmo clav abajo, aun as, te reutilizacin l en la
2.0 versin de la aplicacin cundo construyes
funcionalidad de bsqueda a la aplicacin.

Empezando
encima Ayudante
de Coleccin 1.0
Inicio un proyecto nuevo y rebautizarlo Ayudante_de
Coleccin1_0. Pone la Pantalla1 propiedad de Ttulo a
Coleccin Assistant. Cargar el CA_icono.png le Para la
propiedad de Icono y poner las propiedades de Icono con el
icono le de el proyecto les descargaste de el sitio
de Web del compaero de este libro. (Ve la
introduccin de este libro si necesitas instrucciones
para descargar el proyecto les.)

Necesitas construir arriba de la interfaz de usuario


para aceptar ambas entrada de el Barcode Escner
com- ponent y el usuario antes de que est
salvado a la base de datos. Vuestra interfaz de
usuario utiliza dos VerticalArrangements como
VirtualScreens. VirtualScreen1 est utilizado para la
pantalla de entrada de dato principal. VirtualScreen2
est utilizado para la pantalla de exhibicin de la base
de datos:

1. Sitio dos VerticalArrangements al Espectador.


2. Rebautizar el VerticalArrangements VirtualScreen1 y
VirtualScreen2 .
3. Pone el Ancho y propiedades de Altura para ambos
VirtualScreens para Llenar Padre.

Necesitas crear VirtualScreen1 con un grande, botn visto


fcilmente para escanear un barcode en la parte superior de
la pantalla principal. Tenga que ser seguido por tres texto
elds.

El rst texto eld est poblado por el dato de regreso de un


exitoso Barcode escner de Escner. Porque no quieres el
cdigo para ser accidently bungled arriba por el usuario
despus de que est escaneado, deselect la propiedad
Habilitada en el texto eld. El Barcode el escner todava
puede poblar la caja de texto y t todava pueden utilizar los
contenidos de la caja de texto programmatically. El usuario no,
aun as, ser capaz a manualmente poblar la caja de texto.
Puedes ejercer esta clase de controlar encima cajas de texto
cundo son programmatically pobl. Tambin podras utilizar
este func- tionality cundo una caja de texto est poblada a raz
de un clculo hecho en los nmeros o el texto introducidos
en otro texto elds.
El segundo y terceras cajas de texto estn habilitadas y
aceptar entrada de el usuario para especicar el nombre y la
ubicacin de un objeto escaneado:

1. Arrastrar un botn al Espectador y gota l a el


VirtualScreen1.
2. Rebautizar el botn btnAddItem en la columna de
Componentes.
3. Cambio el FontSize propiedad a 25 .
4. Cambio la propiedad de Texto para Escanear Elemento para
Aadir.

Luego es la caja de texto que est poblado cundo el barcode


est escaneado. Inutilizas la caja de texto as que el usuario no
puede alterar el nmero despus de que ha sido escaneado:

1. Arrastrar un TextBox componente y caerlo abajo el


botn de Elemento del Escner.
2. Rebautizar el TextBox componente txtBarCode.
3. Uncheck La propiedad Habilitada.
4. Pone la propiedad de Pista para Escanear Barcode.
5. Pone la propiedad de Ancho para Llenar Padre.

El prximo dos cajas de texto son donde el usuario introduce


el nombre y ubicacin de la barra escaneada- cdigo. Si el
elemento es un collectible Guerras de Estrella gurine o un DVD,
el nombre y necesidad de ubicacin para ser almacenado
en una manera signicativa. Utilizas la propiedad de Pista
para indicar lo que informa- tion el usuario tendra que
introducir ms que etiquetar las cajas de texto:

1. Arrastra y gota dos TextBox componentes bajo el


txtBarCode componente.
2. Rebautizar el rst caja de texto txtName y poner su
propiedad de Pista a Nombre de Elemento.
3. Rebautizar la segunda caja de texto txtLoc y poner su
propiedad de Pista a Ubicacin de Elemento.
4. Set tanto la propiedad de Ancho para Llenar Padre para
ambas cajas de texto.

Luego, sitio el botn para salvar ambos el cdigo escaneado


y los elementos de texto introducidos a TinyDB :

1. Arrastra y caer un botn bajo la ltima caja de texto.


2. Rebautizar el botn btnSave.
3. Pone la propiedad de Texto de el botn para Salvar Elemento
a Base de datos.
El botn de Elementos de la Exhibicin deja vuestro
usuario puede ver que un elemento escaneado ha
sido colocado en TinyDB. Es tambin el
acontecimiento que los mangos que estiran los
elementos fuera de TinyDB y parsing les al
VirtualScreen2:

1. Arrastra y caer un botn bajo el bntSave botn.


2. Rebautizar el botn btnDisplay.
3. Pone la propiedad de Texto de el botn para Mostrar Elementos.

Aquellos son todos de los elementos de interfaz del


usuario para VirtualScreen1. VirtualScreen2 est
compuesto pri- marily de una etiqueta para mostrar
TinyDB elementos y un botn para regresar el
usuario a el principal VirtualScreen1.

La etiqueta colocas al VirtualScreen2 est poblado


con texto descriptivo. Esto es en colocar
principalmente tan placeholder texto para
troubleshooting. Si el texto es sin cambios cundo
intentas para mostrar TinyDB elementos, sabes para
comprobar los bloques de actualizacin de la etiqueta.

1. Arrastra y caer un componente de Etiqueta a


VirtualScreen2..
2. Rebautizar el componente de Etiqueta lblDBDisplay.
3. Pone la propiedad de Texto a DB Exhibicin.

El nal elemento de interfaz del usuario es el botn


para regresar el usuario a la pantalla principal a con-
tinue introduciendo elementos despus de mostrar
elementos. En la 2.0 versin, tendrs un botn
similar para regresar de la pantalla de bsqueda del
elemento. Planeando adelante puede mantener t de
teniendo que rebautizar componentes:

1. Arrastra y caer un botn bajo el lblDBDisplay etiqueta.


2. Rebautizar el componente de Botn btnDisplayBack. Pone la
propiedad de Texto para Respaldar.
Luego aades el dos componentes no visibles: Ayudante de
Coleccin utiliza el Barcode
Escner y el TinyDB componentes.
3. Arrastra y caer el Barcode componente de Escner de el
Otro Stu paleta.
4. Arrastra y caer el TinyDB componente de la paleta Bsica a
la vista de Diseo.
Recuerda: es un componente no visible y aparece slo bajo la
vista de Diseo.

Aquello es para la interfaz de usuario de Ayudante de


Coleccin 1.0. Vuestra interfaz de usuario tendra que
parecer.
Figura
8-2.
Figura -:
El
Ayudant
e de
Colecci
n
complet
ado 1.0
interfaz
de
usuario

Seleccionar el VirtualScreen2 componente y deselect su


componente Visible. El VirtualScreen2 desaparece de el
Espectador. Para hacer ajustamientos, puedes recheck el
componente visible para hacerlo visible en el Espectador otra
vez.

Inicio con el Editor de Bloques por manejar el Elemento de


Escner para Aadir el botn nombr btnAddItem. El btnAddItem
llama el Barcode el escner construido-en mtodo que inicios
arriba de el construidos-en Barcode Escner. Cundo el
usuario escanea un barcode, un acontecimiento est generado
aquello contiene el resultado de el escner. Cundo ests
construyendo acontecimiento-aplicaciones conducidas, ayuda
para seguir la estela de acontecimiento y complexin arriba
de los acontecimientos cuando ocurriran . Llamada el escner
de el btnAddItem acontecimiento han- dler y entonces construir el
BarcodeScanner acontecimiento que est generado despus de
escanear:.

1. Typeblock El btnAddItem.Acontecimiento de clic handler.


2. Typeblock El BarcodeScanner1.DoScan Llamada de mtodo y
chasquear l a el acontecimiento handler.

El .DoScan Llamada de mtodo contiene todo del cdigo e


instrucciones para vuestro acontecimiento. Lanza el barcode
escner y esperas para un barcode para pasar delante de el
cmara del telfono. Cundo un
El escner exitoso est reconocido, el valor que est
escaneado est pasado atrs al BarcodeScanner1.AfterScan
Acontecimiento handler. El resultado de el escner est
pasado a el acontecimiento handler como un argumento
resultado nombrado. Aquel argumento puede ser rebautizado por
rebautizar el bloque de nombre en el casquete de resultado en el
acontecimiento handler. A pesar de que no normalmente cambias
el nombre de el bloque de nombre del resultado, a veces necesitas
hacer tan si Inventor de Aplicacin no automticamente crea el
bloque que es plugged a el casquete de resultado.

Cundo el acontecimiento ocurre, aades el resultado a una lista


de escane cdigos. Esta lista es la lista clave .Porque
almacenas todo de la informacin que utiliza el barcode como
la etiqueta, esta lista es importante para recuperar todos los
datos introdujeron a la base de datos. Tambin necesitas recordar
para cargar esta lista con la Pantalla1.Intialize Acontecimiento.

Despus de cada escner, salvas la lista entera a TinyDB .


Aquella manera, puedes recuperar todo de la barra- cdigos que
ha sido escaneado. Entonces puedes utilizar el barcodes como
etiquetas para recuperar dato de TinyDB .

T tambin puesto el texto de el discapacitado (no invisible)


txtBarcode caja de texto a el resultado de el escner.
Primero, crear la lista variable para ser utilizada para
almacenar el barcodes:

1. Typeblock Un variable y rebautizarlo varBarcodelist.


2. Typeblock Una marca un bloque de lista y chasquear l a el
barBarcodeList bloque.

Esto es un valid bloque sequence even con la marca un bloque de lista empty. lista
Este reminds you durante t roubletiroteo o cl earing el variable que este variable es unli st. capaz
especi
Luego, el inicio que construye el .AfterScan
cas.
Acontecimiento handler para almacenar el cdigo
escaneado en el variable y la variable en TinyDB bajo 3.
una palabra clave sola: Typebloc
k El
1. Typeblock El BarcodeScanner1.AfterScan varBarcode
Acontecimiento handler. Aviso el prepopu- lated List
casquete de resultado. Un bloque de valor bloque
acompaante est creado y colocado en el Mi variable
Denitions cajn. global y
2. Typeblock El Undd Elementos para Listar bloque y chasque
chasquear l a el .AfterScan Acontecimiento ar l a
la lista
handler. El Undd Elementos para Listar el bloque te
dejas para aadir elementos mltiples a un vari-
Casquete en el aadir elementos para listar bloque. NINGNT E
4. Typeblock the result value Bloquek und snap it
into the rst item socket on the aade elementos to list
bloque. Recuerda, the result bloquek was cread in tr
My Denitions drawer when you usod the .AfterScan
Acontecimiento. You can change the name result A
whateve r you like by changing the name bloquek on
the .AfterScan Inclusot handler.
5. Typeblock El txtBarcode.Texto [a] bloque y
chasquear l en el .AfterScan Acontecimiento bajo
el aadir elementos para listar bloque. Typeblock Otro
bloque de valor del resultado y chasquear l a
el .txtBarcode.Bloque de texto. Esto pone el resultado
de escner a el Textbox cundo el escner completa.
Esto da vuestro usuario retroalimentacin visual en
el escner.
6. Typeblock El TinyDB1.StoreValue Bloque y chasquear
l en prximo.
7. Uso un bloque de texto para poner el casquete de
etiqueta a barcodelist .
8. Typeblock El varBarCodeList variable global y
chasquear l a el valueToStore
Casquete.

El completado btnAddItem.Acontecimiento de clic y el


BarcodeScanner1.Despus de que escner
El acontecimiento tendra que parecer Figura 8-3.

Figura -:
The
btnAddI
tem.
Clic y
Barcode
Escner
1.
AfterSc
an
Acontec
imiento
s
Al llegar a este punto, tienes un variable aquello
contiene todo el barcodes aquello nunca ha sido
escaneado y almacenado en TinyDB bajo la etiqueta
barcodelist. Has almacenado el barcodes en TinyDB de
modo que puedes cargar el preload la variable con
todo el escner anterior dato cundo el applica- tion
est empezado. La lista de barcodes es vuestro clave
a estirar el dato almacenado en TinyDB. Porque
almacenaste dato con el barcodes como etiquetas, el
barcodes es vuestra lista de etiquetas. Podras utilizar
la lista en una lista picker o para estirar el dato fuera
de la base de datos programmatically. En este appli-
catin, utilizas la lista de barcodes como manera de
iterar a travs de todos los elementos almacen en
TinyDB. Cada barcode est sacado de la lista y
utilizado como etiqueta para estirar la informacin
almacenada en el TinyDB componente con aquel
barcode.

Despus de un barcode ha sido escaneado y un


nombre de elemento y la ubicacin ha sido introducidos
por vuestro usuario, necesitas salvar el introducido
info en TinyDB con el barcode como la etiqueta.
Utilizas el Salvar Elemento a botn de Base de datos
como el acontecimiento para salvar a la base de
datos. Utilizas un poco truco cundo almacenas el
dato de modo que pueda ser recuperado y parsed
con un ForEach bloque. El nombre y el dato de ubicacin
est almacenado bajo el barcode, separado por
comas. Cundo recuperas el dato, utilizas la coma
como punto partido. Esto es aproximadamente
equivalente a un multidimen- sional variedad en
lenguajes de programacin tradicionales..

1. Typeblock El btnSave.Acontecimiento de clic handler y arrastrarlo a


un claro workspace.
2. Typeblock El TinyDB1.StoreValue Bloque y chasquear l a el
acontecimiento handler.
3. Typeblock El BarcodeScanner1.Bloque de resultado.
Ser prudente no para confundir l con el resultado
el valor local bloquea aquello es en vuestro Mi
Denitions cajn. Aquello bloquea trabajos nicos
dentro del contexto de el BarcodeScanner1.AfterScan
Acontecimiento cuando es un valor de parmetro
local . El BarcodeScanner1.Bloque de resultado tiene los
mismos contenidos pero est localizado en el
BarcodeScanner1 cajn. Chasquear este bloque a
el casquete de etiqueta en el TinyDB1.StoreValue Bloque.
4. Typeblock Un bloque de texto de la marca y
chasquear l a el valueToStore casquete en el
TinyDB1.StoreValue Bloque. Utilizas el bloque de texto de la
marca para unir el nombre y texto de ubicacin
elds, separado por una coma.
5. Typeblock El txtName.Bloque de texto y chasquear
l a el casquete de texto en el bloque de texto de la
marca.
6. Typeblock Un bloque de texto y reemplazar el
default texto con una coma. Chasquear el bloque
de coma en el casquete de texto bajo el txtName.Bloque
de texto.
7. Typeblock El txtLoc.Bloque de texto y chasquear l a el casquete
de texto prximo.
Un escaneado barcode de 123456789, un nombre de
Boba Fett accin gure, y una ubicacin de armario
de Sala est almacenada tan mostrada en Mesa 8-2.

Mes Nombre,
a 8- Ubicaci
Etiqu Valor
eta
1234567 Boba Fett Accin gure,
89 armario de Sala

Puedes almacenar tan muchos valora tan te gusta


bajo la etiqueta separada por comas. Ms tarde en
este captulo, te muestras cmo para separar el dato
en los valores. Tambin puedes utilizar cualquier
delimitador te gusta, pero una coma es normalmente
bastante fcil de utilizar y ver..

Despus de que has almacenado el elemento


escaneado con su nombre y ubicacin, puedes
aclarar todas las cajas de texto en VirtualScreen1 por
poner su .Propiedad de texto a un bloque de texto del
espacio.

1. Typeblock El txtBarCode.Texto [a] bloque y


chasquear l en bajo el TinyDB1.
StoreValue Bloque.
2. Typeblock El txtLoc.Texto [a ] bloque y chasquear
l en prximo.
3. Typeblock El txtName.Texto [a] bloque y chasquear
l en prximo.
4. Sitio un bloque de texto vaco en cada de los
bloques de texto.

Vuestro btnSave.Acontecimiento de clic handler tendra que


parecer el en Figura 8-4. The Escane el cdigo y las
cajas de texto estn almacenados en TinyDB y las
cajas de texto estn aclaradas para el escner prximo.

Figura -:
El
completa
do
btnSave.
Aconteci
miento
de clic
handler
El acontecimiento prximo necesitas al mango es el
usuario tocando el botn de Elementos de la
Exhibicin en VirtualScreen1. Estas marcas de botn
VirtualScreen2 visibles, carga todo el barcodes de
TinyDB , y entonces parses el multi-variedad
dimensional fuera a sus valores separados y para-.
Esteras l
para
exhibicin.

YNuestro algorithm fo l oading each bunrcoda y entonces formatting el dato stored 3


con el barcla oda es un poco complex. Despus de que you understy el process, you cun .
reuse esta lgica fo multi-dimensional arrunys of ynuestro own.

Primero cargas el varBarcodeList a un ForEach bloque. S


Entonces construyes la lgica siguiente: Para cada e
barcode en el varBarcodeList, partido el valor
t
almacenado bajo el barcode a una variable llam
tmpList. El bloque de ruptura divide cualquier cuerda de
texto a una lista en el carcter escoges. Tan, t
partiste el nombre,cuerda de ubicacin almacenada con
m
el barcode a una lista provisional. Entonces puedes
utilizar un nested ForEach bloque a formato el tmpList a p
un formatted pieza de texto para mostrar. Creas el v
formatted texto de el tmpList por seleccionar- ing el rst a
elemento en el tmpList y escribindolo a una variable
r
provisional, y entonces seleccionando el elemento
prximo y uniendo l con el elemento anterior con 2
formatting como newlines. Finalmente, escribes el
barcode y formatted texto a un provisional
formatted variable para aguantar mientras vas en a el a
prximo barcode almacen en el varBarcodeList.
e
Este proceso entero suena confundir y convoluted,
s. Es complejo, pero puedes entender l por l
ipping adelante para Representar 8-5 y leyendo a
travs de los bloques en sencillos ingleses.
s
Para cada elemento en i
varBarCode, el siguiente:
g
1. Set tmpList a un sencillo lista de dos elementos u
(utilizando ruptura) de los contenidos de TinyDB.
i
Utilizando el barcode cargado a var por el ForEach
bloque. e
2. Set tmpvar1 a el elemento en ndice 1 en tmpList. n
Esto es el valor de Nombre almacenado bajo el t
barcode.
e
formatted texto: Nombre REMEMBE
de Elemento:
\n (newline
Carcter)
Nombre
\n
4. Ahora puesto tmpvar1 a el elemento en ndice 2 en
tmpList. Esto es la ubicacin almacenado bajo el
barcode.
5. Unir los contenidos de tmpvar2 con el
siguientes formatted texto atrs a tmpvar2 :
Nombre de Ubicacin:
\n
Ubicacin (en tmpvar1)
\n
================= (separator Caracteres
entre entradas)
\n
6. Une en tmpvar3 los contenidos de tmpvar3 y
tmpvar2 .
7. Vuelve hasta arriba y l otra vez para cada
barcode.
8. Finalmente puesto el lblDBDisplay.Texto a los
contenidos de tmpvar3 , el cual es todo el
formatted el texto creado por cada pase a travs del
nested ForEach bloques.

Cuando construyes arriba de cada


conjunto de bloques, reere para
Representar 8-5 para guiaje.

Primero, crear todas las variables provisionales y la


lista provisional que te utilizar a travs del.
btnDisplay.Acontecimiento
de clic handler:

1. Dene Una variable nombr tmpList. Chasquea en


una Marca un bloque de Lista.
2. Dene Una variable nombr tmpvar1. Chasquea en
un bloque de texto vaco.
3. Dene Un nombre variable tmpvar2. Chasquea en
un bloque de texto vaco.
4. Dene Una variable nombr tmpvar3. Chasquea en
un bloque de texto vaco.

El var y var1 bloques de valor son dened cundo creas


el ForEach bloques. El var bloques de valor aparecen en
el Mi Denitions cajn. Pueden ser typeblocked porque
aparecen en la parte superior de la lista cundo t
typeblock el texto var.
Typeblock El btnDisplay.Acontecimiento de clic handler y
colocarlo encima un claro workspace en el Editor de
Bloques. El btnDisplay.Acontecimiento de clic es bastante
mucho tiempo cundo eres nished con l, as que
marca seguro tienes habitacin para l.
Figura -:
The
complet
btnDispla
y.Aconteci
miento de
clic
handler

El rst cosa que pasa cundo el usuario toca el botn


de Exhibicin es que VirtualScreen2 est hecho visible
y VirtualScreen1 est hecho invisible:

1. Typeblock the VirtualScreen1.Visible [A ] bloquek und snap un false


bloquek in lo.
2. Typeblock El VirtualScreen2.Visible [a] bloque y chasquear un
bloque cierto en l.
3. Typeblock El tmpVar3 [a] bloque y chasquear l en bajo el
VirtualScreen bloques.
Chasquea en un bloque de Texto del espacio. Esto
aclara el provisional formatting variable as que
pueda ser fresco y reluciente para cada prensa
de el botn de Exhibicin.

Luego, el inicio que construye la lgica para el ForEach los bloques


mostrados en Figura 8-5.
1. Typeblock Un ForEach bloque y chasquear l en el
acontecimiento handler.

Remember Que Aplicacin yonvent o normalmente prepopulates el var socket en el NINGNT


ForEach bloque. Si el var socket es unpopulated, you necesidad to chasquea en un
bloque de nombre from el D enitions drunw er y r ename l t o el n ext sequential var
nmero/de nombre combination.
2. Typeblock El varBarcodeList bloque de valor y
chasquear l a el en casquete de lista en el fondo
de el ForEach bloque.
3. Typeblock El tmpList [a] y chasquear l a el ForEach
bloque.
4. Typeblock Un bloque de ruptura y chasquear l a
el tmpList bloque.
5. Typeblock Un TinyDB1.GetValue Bloque y chasquear
l a el casquete de texto en el
tmpList Bloque.
6. Typeblock El var bloque y chasquear l a el
.GetValue Bloque. ThEs utiliza el barcode actualmente
cargado de el TinyDB como la etiqueta para el
.GetValue Bloque.
7. Typeblock Un bloque de texto y reemplazar el
texto con una coma. Chasquear el bloque de coma
a el en casquete en el bloque de ruptura.

Esta serie de bloques carga los contenidos almacenaron bajo el


actualmente cargados barcode y rupturas l en la coma. El
bloque de ruptura es un bloque muy manejable que vueltas
cualquier cuerda de texto a una lista de elementos dividi en
el carcter que chasqueas a el en casquete. Puedes utilizar el
bloque de ruptura a temporalmente girar una lnea de texto a
una lista as que puedes tratar cada palabra en la lnea de
texto por su nmero de ndice en la lista. Recuerda que las
listas en Inventora de Aplicacin tienen un ndice num- ber
aquello es igual a su sitio en la lista.

Luego construyes el ForEach bloque que procesos el tmpList


variable de lista a formatted texto para exhibicin. Nested
ForEach Los bloques pueden ser confundir: Mantiene en importar
que el exterior ForEach el bloque carga una lista provisional y el
interior ForEach el bloque procesa que tempo- rary lista. El
exterior ForEach carga otra lista provisional para hacerlo todo otra
vez:

1. Typeblock Un segundo ForEach bloque y chasquearlo debajo


el tmpList [a] bloque.
2. Typeblock El tmpList bloque de valor global y chasquear
l en el en casquete de lista en el fondo de el ForEach
bloque.

Esto es el interior ForEach bloque que procesos los elementos en


el tmpList variable. Utilizas las variables provisionales para
seleccionar los elementos fuera de la lista provisional y
formato el nal texto de exhibicin. Esta lgica podra ser
hecha ms estanco y ms graceful por utilizar el seleccionar
elemento de lista en el segundo conjunto de bloques y no
utilizando tmpvar1. Aun as, sea un poco ms duro de entender
qu ests haciendo. Despus de construir esta serie y
consiguindolo para trabajar en vuestro telfono, puedes
querer volver e intentar pensar a travs de cmo el mismo
objetivo podra ser cumplido con menos bloques.
El seleccionar bloque de elemento de la lista te dejas para
estirar un elemento solo fuera de una lista por su ndice
num- ber. Sabes que el tmpList tiene el formato de
nombre, ubicacin, as que sacas el rst elemento de
ndice y sitio l en tmpvar1:

1. Typeblock El tmpvar1 [a] bloque y chasquear l en el interior


ForEach bloque.
2. Typeblock El Seleccionar bloque de Elemento de la Lista y
chasquear l a el a casquete en el
tmpvar1 bloque.
3. Typeblock El tmpList bloque de valor global y chasquear l a
el casquete de lista en el
Selecciona bloque de Elemento de la Lista.
4. Typeblock Un nmero 1 bloque y chasquear l a el casquete de
ndice.

Ahora utilizas tmpvar2 como sitio de holding provisional a


formato el texto alrededor de el Nombre que te colocado
en tmpvar1. El unir o bloques de texto de la marca podran
ser utilizados para esta tarea. Para para- matting
texto, es un poco ms fcil a envision lo que el
nished el resultado parecer cundo utilizas los bloques
de texto de la marca:

1. Typeblock El tmpvar2 [a] bloque y chasquear l en bajo el tmpvar1


bloque.
2. Typeblock El bloque de texto de la marca y chasquear l a el
tmpvar2 bloque.
3. Typeblock Un bloque de texto con el Nombre de
Elemento del texto: y chasquear l en el casquete de
texto. Ser seguro para dejar un espacio nal.
4. Typeblock Un bloque de texto con el newline carcter (\n) y
chasquear l a el texto prximo
Casquete.
5. Typeblock El tmpvar1 bloque de valor y chasquear l en el
casquete de texto prximo.
6. Typeblock Un bloque de texto con el newline carcter y
chasquear l en ltimo.

Ahora te reutilizacin el tmpvar1 para extraer el


elemento prximo en el tmpList para formatting:
1. Typeblock El tmpvar1 [a] bloque y chasquear l
en bajo el tmpvar formatting bloques.
2. Typeblock El seleccionar bloque de elemento de la lista y
chasquear l a el tmpvar1 bloque.
3. Typeblock El tmpList bloque de valor y chasquear
l a el casquete de lista en el seleccionar bloque de
elemento de la lista.
4. Typeblock Un nmero 2 bloque y chasquear l a el casquete de
ndice.
Luego, unir los contenidos actuales de tmpvar2 con nuevos
formatted el texto construido alrededor de el con- tiendas de
tmpvar1 . Utilizando un unir bloque para unir los contenidos
de una variable con texto nuevo y colocarlo atrs en la
misma variable es mucho gusta utilizar la adicin (+) bloque
a increment un valor numrico en una variable. Tomas qu
es en la variable, aade algo a l, y entonces colocarlo
atrs en la variable.

1. Typeblock El tmpvar2 [a] bloque y chasquear l en prximo


en el interior ForEach bloque.
2. Typeblock Un unir bloque.
3. Typeblock El tmpvar2 valor global bloque y chasquear l a el
rst casquete en el
Une bloque.
4. Typeblock Un bloque de texto de la marca y chasquear l a
el segundo casquete en el unir bloque.
5. Typeblock Un bloque de texto y poner el texto a Nombre
de Ubicacin: con un espacio nal.
Chasquea l a el casquete de texto en el bloque de texto de la
marca.
6. Typeblock Un bloque de texto y poner el texto a un
newline carcter. Chasquea l a el prximo Casquete de texto.

REMEMBER El n ewline character fo Aplicacin yonvent o t ext es el \n combination.

7. Typeblock El tmpvar1 valor global bloque y


chasquear l al casquete de texto prximo.
El tmpvar1 ahora contiene el valor de Ubicacin de
tmpList .
8. Typeblock Un bloque de texto con un newline
carcter y chasquear l en el casquete de texto
prximo.
9. Typeblock Un bloque de texto con algn
separator texto como ========= y chasquear l en
el casquete de texto prximo.
10. Typeblock Un bloque de texto con un newline
carcter y chasquear l en el ltimo bloque en el
Bloque de texto de la marca.

Vuestra serie de bloque prxima est colocada en el


exterior ForEach bloque bajo el interior ForEach (ve Figura 8-
5). Necesitas tomar el formatted texto que contiene
la barra escaneada y almacenada- cdigo, nombre, y
ubicacin con su formatting y tienda l en tmpvar3,
donde est unido cada vez con el anteriormente
formatted elementos hasta que todo el escaneados
barcodes ha sido para- matted y est a punto para ser
mostrado
1. Typeblock El tmpvar3 [a] bloque y chasquear l en bajo el
interior ForEach bloque.
2. Typeblock Un unir bloque y chasquear l a el tmpvar3 bloque.
3. Typeblock El tmpvar3 valor global bloque y chasquear l a el
rst casquete en el
Une bloque.
4. Typeblock El tmpvar2 valor global bloque y chasquear l a el
segundo casquete en el
Une bloque.

La ltima cosa que pasa en el btnDisplay.Acontecimiento de


clic handler es la exhibicin de todo el formatted
elementos en el tmpvar3 variable en el lblDBDisplay
etiqueta en VirtualScreen2:

1. Typeblock El lblDBDisplay.Texto [a] bloque y chasquear l en el


btnDisplay.
Clic bajo el nested ForEach bloques.
2. Typeblock El tmpvar3 valor global bloque y chasquear l a el
bloque de texto.

Vuestro btnDisplay.Acontecimiento de clic handler ahora


tendra que parecer Figura 8-5. Carga el con- tiendas
de el varBarcodeList y empieza utilizar el barcodes como
etiquetas para poblar un tempo- rary lista que es
entonces utilizado a elementos de formato para
exhibicin. Entonces puebla la etiqueta de exhibicin
de base de datos grande en VirtualScreen2.

Despus de vuestro usuario ha perused los elementos


mostraron en la etiqueta, necesitas manejar el
Posterior pero- tonelada de el VirtualScreen2.

1. Typeblock El btnDisplayBack.Acontecimiento de clic handler.


2. Typeblock Un VirtualScreen2.Visible [a] bloque y chasquear en un
bloque falso.
3. Typeblock Un VirtualScreen1.Visible [a] bloque y chasquear en un
bloque cierto.

El acontecimiento nico dej al mango es la Pantalla 1.Intialize


Acontecimiento que ocurre en inicio de aplicacin-arriba.
Necesitas cargar el barcodes almacen en TinyDB a el
varBarcodeList vari- capaz. Aun as, si es el rst la carrera o el
usuario ha aclarado el dato de el Androide applica- tion
encuadres, necesitas hacer seguro no cargas un null valor a la
lista. Si cargas un null valor a la lista, los errores de aplicacin
fuera de cualquier tiempo vuestros intentos de aplicacin para
utilizar la variable como lista. El rst tiempo los intentos de
usuario para aadir algo con una barra escaneada- cdigo, la
aplicacin chocara . Esto es un resultado de el bloque de lista de
la marca de hecho cambiando la estructura de una variable.
Escribiendo un null el valor a la variable saca su esencial listy-
ness. Porque usos de Inventor de la Aplicacin slo una clase
sola de variable, la variable toma su tipo o clase de el
dato actualmente almacenado en l. Utilizas un sencillo Si
bloque para ver si cualquier dato
Est almacenado en TinyDB. Si el TinyDB es vaco, no cargas
cualquier cosa a la variable, evitar- ing el null valor. Si TinyDB
de hecho tiene dato de usuario almacenado en l, sea
cargado a la variable.

1. Typeblock La Pantalla1.Inicializa acontecimiento


handler.
2. Typeblock Un Si bloque y chasquear l a el
.Inicializa acontecimiento.
3. Typeblock Un no bloquear y chasquear l a el
casquete de prueba en el Si bloque.
4. Typeblock Un equals operador de comparacin (=) y
chasquear l a el no bloquear.
5. Typeblock Un TinyDB1.GetValue Bloque y chasquear l a
el rst casquete en el com- parison operador.
6. Typeblock Un bloque de texto y cambiar el texto a
barcodelist y chasquear l al.
TinyDB1.GetValue Bloque.
7. Typeblock Un bloque de texto y sacar el default texto,
dejando un bloque de texto del espacio. Chasquea l a el
segundo casquete en el operador de comparacin.
8. Typeblock El varBarcodeList [a] bloque y chasquear l a
el Si bloque dentro del acontecimiento handler.
9. Typeblock Un TinyDB1.GetValue Bloque y chasquear l a el
varBarcodeList bloque.
10. Typeblock Un bloque de texto y hacer el texto
barcodelist. Chasquear el bloque de texto a el casquete de
etiqueta en el .GetValue Bloque.

Estos bloquea rst control para hacer seguro que el .GetValue El


bloque no est regresando un null valor. Si el valor no es null,
el varBarcodeList est poblado con los contenidos de la
etiqueta barcodelist.

En la versin prxima de Ayudante de Coleccin, aades


capacidad de bsqueda para estirar elementos individuales
de la base de datos y mostrar el dato almacenado.

Por crear Ayudante de


Coleccin 1.0, aprendiste

El Barcode componente de Escner puede soler


cambiar las lneas misteriosas y puntos de UPC y
matriciales QR cdigos a texto que puede ser
utilizado en vuestras aplicaciones.
Puedes utilizar texto texto iterativo parsing para
crear multi-variedades dimensionales en TinyDB o
una variable.

Ahora eres a punto para mover encima para aadir


an ms complejidad en el Ayudante de Coleccin
2.0.
Creando
Ayudante de
Coleccin 2.0
La 2.0 versin de la Ayudante de Coleccin aade
algunos powerhouse funcionalidad a el appli- catin as
como ensendote cmo para buscar el dato
almacenado en TinyDB. El dato formatting y
estructurando de la 1.0 versin es reused para
mostrar los resultados de bsqueda. ThAntes de es
tres piezas bsicas de informacin que vuestras
tiendas de aplicacin en TinyDB: el barcode, un
nombre, y una ubicacin. Necesitas aadir la
capacidad de buscar encima todo de estos
elementos y regresar cualesquier resultados. El
mtodo te muestras a ti uso para buscar es
ligeramente ms complejo que te realmente necesidad
para un aplicacin tan sencilla. Aun as, lo utilizo
para ensearte un mtodo que balanza bien a otras
aplicaciones. Puedes utilizar la metodologa de
bsqueda despliegas en el Ayudante de Coleccin
para buscar a travs de datos que est almacenado
en TinyDB, TinyWebDB, o variables globales a toda
costa de la cantidad de datos. Mantiene en importar
que los proyectos en este libro no es preceptivo sino
descriptivo. En otras palabras,, este proyecto no
ilustra cmo tendras que implementar una rutina de
bsqueda, sino cmo podras implementar una rutina de
bsqueda. Uno de las alegras de programar est
viniendo arriba con maneras nuevas y nicas para
solucionar problemas ms eciently.

Tr
dise
o
Figura 8-6 espectculos los croquis de
diseo para Ayudante de Coleccin
2.0.
Figura -:
croquis
de Diseo
para
Ayudante
de
Coleccin
2.0

En esta versin, aades una tercera pantalla virtual


como casa de bsqueda y una cuarta pantalla virtual
como pantalla de resultados de la bsqueda. Tambin
aades elementos de interfaz nueva a cada cual de el
existiendo pantallas virtuales. La funcionalidad global
para la 2.0 versin incluye aadir elementos por
escanear un
barcode E introduciendo metadata, y buscando elementos por
escanear un elemento o escribiendo en un plazo de bsqueda.

Vuestro reto de diseo primario est aadiendo la funcionalidad


de bsqueda para habilitar un usuario para buscar por
escaneado barcode o nombre o ubicacin..

Tr
primitive
s
Estos son los algoritmos bsicos y piezas de lgica para
las adiciones a vuestra aplicacin:

Dos pantallas nuevas para bsqueda y resultados.


Elementos de navegacin nueva en existir pantallas
Un mtodo para cargar y buscando el dato almacenado

New
Compone
ntes
Ningn componente nuevo est
introducido en esta aplicacin.

New
Bloque
s
Slo uno el bloque nuevo est utilizado en
versin 2.0 de Ayudante de Coleccin:
Es en lista?

Tr
progresi
n
Estos son vuestros pasos de nivel alto necesitas tomar tan
mueves a travs de vuestro primitives. En realidad,
construyes el algoritmo de bsqueda una vez para el barcode
bsqueda y entonces reutilizacin que cdigo a travs de los
acontecimientos de bsqueda prximos. Tambin utilizas un
segundo barcode escner para mantener el .El resultado bloquea
distinto en caso vuestro usuario es ambos aadiendo y
buscando en la misma sesin. Esto tambin te das la
oportunidad de ver cmo para utilizar ocurrencias mltiples de
el mismo acontecimiento. A pesar de que el .AfterScan Es el
mismo real-acontecimiento mundial, si se apellida del Aadir
botn de Elemento o las marcas de botn de la Bsqueda
para muy dierent acontecimientos de Inventor de la
Aplicacin.

1. Aadir el nuevo VirtualScreens.


2. Aadir el nuevo navigational elementos.
3. Aade cajas de texto de Bsqueda nuevas y
botones de Bsqueda para barcode, nombre, y
ubicacin..
4. Aade elementos de resultados de Bsqueda nuevos.
5. Complexin navigational elementos para cambiar pantallas.
6. Mango barcode escner y acontecimientos de bsqueda.
7. Acontecimientos de bsqueda de nombre de mango.
8. Acontecimientos de bsqueda de ubicacin de mango.

Empezando
encima Ayudante
de Coleccin 2.0
Inicio por utilizar el Salvar Tan botn en la vista de Diseo para
salvar una copia nueva de vuestro Ayudante de Coleccin.
Cambio el nombre a CollectionAssistant2_0 . Ests creando
una copia de Ayudante de Coleccin 1.0 Coleccin nombrada
Ayudante2_0. Marca seguro la Exhibicin los componentes
Invisibles en caja de control del Espectador est seleccionado en
la parte superior de la vista de diseo.

Para la revisin, necesitas aadir funcionalidad de bsqueda a


vuestra aplicacin. Esto requiere dos nuevo VirtualScreens
adems de el dos encontrado en Ayudante de Coleccin
1.0. El tercer VirtualScreen est activado por tocar un botn
de Bsqueda de la pantalla principal. The Cuarto
VirtualScreen est activado cundo el proceso de bsqueda
muestra los resultados (o carencia de resultados).

En esta revisin, aades dos nuevo VerticalArrangements para


utilizar tan VirtualScreens. Recuerda para dejar la propiedad
Visible comprobada hasta que has hecho el muy ltimo
ajustamiento a la interfaz de usuario:

1. Arrastra dos nuevo VerticalArrangements para Disear vista.


2. Rebautizar el rst VerticalArrangement VirtualScreen3.
3. Rebautizar el segundo VerticalArrangement VirtualScreen4.

Vuestras necesidades de usuario para ser capaces a navigate


de pantalla a pantalla, as que necesitas colocar Atrs pero-
toneladas que regreso un usuario a la pantalla principal, el cual
es VirtualScreen1. Tambin utilizas un nuevo pero- tonelada en
la pantalla principal para tomar el usuario a la pantalla de
bsqueda.

Primero, indica a vuestro usuario lo que


el propsito global de esta pantalla es:
1. Arrastra y caer una etiqueta a VirtualScreen3. Lo rebautiza
lblSearchBanner.
2. Pone la propiedad de Texto de lblSearchBanner para leer Buscar
Elemento en Base de datos
Utilizando Un de el
Siguiente:
Complexin prxima arriba
de los elementos de
interfaz de la bsqueda:

1. Arrastrar un HorizontalArrangement al
VirtualScreen1 bajo el Salvar Elemento a
Botn de base de datos.
2. Arrastrar un botn nuevo a el
HorizontalArrangement y rebautizar el botn btn-
Search.
3. Pone la propiedad de Texto de btnSearch para
Buscar.
4. Arrastrar el botn de Elementos de la Exhibicin
de el VirtualScreen1 a el HorizontalArrangement a
la derecha de el botn de Bsqueda nuevo.

La interfaz de usuario de VIrtualScreen3 ser


compuesto de una serie de cajas de texto sigui por
botones de Bsqueda. El tres elds y los botones
corresponden a barcode bsqueda, bsqueda de
nombre, y bsqueda de ubicacin. El barcode la
bsqueda es nica en aquel lo dejar el usuario a
cualquier escner un barcode para bsqueda o
manualmente introducir los nmeros para bsqueda.

Primero, complexin arriba de el


barcode interfaz de usuario de la
bsqueda en VirtualScreen3:

1. Arrastrar un HorizontalArrangement a
VirtualScreen3. ThEs aguanta el TextBox compo-
nent y los dos componentes de Botn.
2. Arrastrar un TextBox componente a el
HorizontalArrangement. Rebautizar la caja de texto
txtSearchBarcode.
3. Pone la propiedad de Pista de txtSearchBarcode
para Introducir o Escner Barcode.
4. Arrastra y caer un botn a la derecha de el
txtSearchBarcode caja de texto. Lo rebautiza btn-
SearchBarcode. Esto es el botn utiliz para provocar
el acontecimiento utilizas para iniciar un barcode
bsqueda en TinyDB.
5. Pone la propiedad de Texto de el btnSearchBarcode
para Buscar.
6. Arrastra y caer otro botn a la derecha de el
ltimo botn. Lo rebautiza btnScan- BarCodeForSearch.
Esto es el botn un usuario puede tocar para
escanear un existiendo barcode para poblar el
txtSearchBarcode caja de texto.
7. Pone la propiedad de Texto de
btnScanBarcodeForSearch para Escanear.

Utilizando estos elementos de interfaces y una pista


suave de vuestra propiedad de Pista, el usuario sabe que
tampoco pueden introducir o escanear un barcode a la
caja de texto.
Luego, complexin los elementos de
interfaz del usuario para buscar TinyDB
por nombre:

1. Arrastra y caer un HorizontalArrangement


bajo el arreglo horizontal anterior en
VirtualScreen1.
2. Arrastra y caer un TextBox componente a el
HorizontalArrangement. Lo rebautiza
txtSearchName.
3. Pone la propiedad de Pista para txtSearchName para Introducir
Nombre para Buscar.
4. Arrastra y caer un botn a la derecha de el
txtSearchName caja de texto. Lo rebautiza btn-
SearchName.
5. Cambio la propiedad de Texto para Buscar.

Sitio todo de los componentes de interfaz del


usuario para buscar TinyDB dato por ubicacin:

1. Arrastra y caer un tercer


HorizontalArrangement en VirtualScreen3 debajo
los componentes de bsqueda anteriores.
2. Arrastra y caer un TextBox componente a el
HorizontalArrangement. Lo rebautiza
txtSearchLoc.
3. Pone la propiedad de Pista de txtSearchLoc para Introducir
Ubicacin para Buscar.
4. Arrastra y caer un botn a la derecha de el
txtSearchLoc caja de texto. Lo rebautiza btn-
SearchLoc.
5. Pone la propiedad de Texto de btnSearchLoc para Buscar.

Finalmente, necesitas un elemento de navegacin


para dejar usuarios para regresar a la pantalla
principal sin completar una bsqueda:

1. Arrastra y caer un botn como el ltimo


componente en el VirtualScreen3. Lo rebautiza
btn- SearchBack.
2. Pone la propiedad de Texto para Respaldar.

Estos son todos los componentes para vuestra


pantalla de bsqueda, el cual es VirtualScreen3.
Tendras que tener una lista de componente y diseo
que parece Figura 8-7.
VirtualScreen4 es mucho como VirtualScreen2 en
aquel es un sitio sencillo para mostrar cualesquier
resultados de el algoritmo de bsqueda. Dos
etiquetas indican a el usuario qu son est mirando
en y entonces mostrar los resultados:
1. Arrastra y caer una etiqueta a el
VirtualScreen4. Lo rebautiza lblSearchResults- Banner.
2. Pone la propiedad de Texto para Buscar Pantalla de
Resultados.
3. Arrastra y caer una segunda etiqueta bajo el
rst. Lo rebautiza lblSearchResults.
4. Pone la propiedad de Texto a algunos

placeholder texto como Resultados Aqu.

Finalmente, puesto un componente de

navegacin para tomar el usuario atrs a la

pantalla principal.

1. Arrastra y caer un componente de Botn como


el ltimo componente en VirtualScreen4. Lo
rebautiza btnResultsBack.
2. Pone la propiedad de Texto de el btnResultsBack
para Respaldar.

El btnScanBarcodeForSearch el botn activa el barcode


escner de modo que vuestro usuario puede escanear
el barcode quieren buscar. Aun as, no quieres utilizar
el mismo Barcode componente de Escner que est
siendo utilizado por el Escner y Aadir botn de
Elemento. Esto es porque cada escner genera no slo
un acontecimiento pero tambin un bloque con los
ltimos escners resulta almacenado en l. Quieres
hace seguro que ltimo escner de elemento de la
tienda de vuestro usuario nunca es confundido con el
resultado de escner de elemento de bsqueda. Para
conseguir alrededor de este , aades un segundo
Barcode componente de Escner y utilizar los
acontecimientos y los bloques del segundo
componente.

Arrastra y caer un nuevo Barcode componente


de Escner de el Otro Stu paleta.

Marca seguro la propiedad Visible para

VirtualScreen3 y VirtualScreen4 es deselected.


Vuestro Ayudante de Coleccin completado 2.0

interfaz de usuario tendra que parecer Figura 8-7.

Ahora, encima a construir la lgica y algoritmos para


vuestro Ayudante de Coleccin 2.0 aplicacin en el
Editor de Bloques. Pusiste cada cual de los botones
Posteriores en VirtualScreen3 y VirtualScreen4 para
regresar el usuario a la pantalla principal. El
acontecimiento de botn de la Bsqueda activa
VirtualScreen3. VirtualScreen4 est activado despus
del algoritmo de bsqueda ha sido corrido.
Figura -:
Los
compon
entes
de
interfaz
de
usuario
nuevos

Primero, instalado el botn Posterior para emotivo


el usuario de VirtualScreen3 atrs a la pantalla
principal. VirtualScreen3 es la pantalla de bsqueda
primaria, as que nombra el botn btnSearchBack:

1. Typeblock El btnSearchBack.Acontecimiento de clic


handler y arrastrarlo a un trabajo vaco- espacial
en vuestro Editor de Bloques.
2. Typeblock El VirtualScreen3.Visible [a] bloque y chasquear l a
el acontecimiento.
Chasquea en un bloque falso.
3. Typeblock El VirtualScreen1.Visible [a] bloque y
chasquear l en bajo el VirtualScreen3 bloque.
Chasquear un bloque cierto a el VirtualScreen1.Visible
[a] bloque.

Este acontecimiento res cundo el botn Posterior


est tocado y dirige el usuario atrs a la pantalla
principal. Los bloques prximos manejan la pgina de
resultados Respalda botn en VirtualScreen4:
1. Typeblock El btnResultsBack.Acontecimiento de clic
handler.
2. Typeblock El VirtualScreen4. Visible [a ] bloque y
chasquear l en el acontecimiento handler.
Chasquea en un bloque falso.
3. Typeblock the VirtualScreen1.Visible [A ] bloquek
und snap it in under el
VirtualScreen4 bloque. Snap Un true bloquek into the

VirtualScreen1 [a ] casquete. Ahora instalado el

acontecimiento de botn de la Bsqueda para

VirtualScreen1.

1. Typeblock El btnSearch.Acontecimiento de clic handler.


2. Typeblock El VirtualScreen1.Visible [a] bloque y
chasquear l a el acontecimiento handler.
Chasquea en un bloque falso.
3. Typeblock El VirtualScreen3.Visible [a] bloque y
chasquearlo luego en el acontecimiento handler.
Chasquea en un bloque cierto.

Esto trae arriba de la pantalla de


bsqueda cundo el usuario toca el botn
de Bsqueda.

El acontecimiento prximo necesitas al mango es el


botn de Escner en la pantalla de bsqueda. Cundo
el usuario toca el botn de escner, tenga que traer
arriba de el barcode escner. Cundo el usuario
escanea un barcode exitosamente, el resultado de el
escner tendra que ser cargado a el txtSearchBarcode
y utilizado para buscar TinyDB. Si vuestro usuario
manualmente tipos en un cdigo para bsqueda, el
botn de Bsqueda utiliza el nmero de el
txtSearchBarcode.

1. Typeblock El btnScanbarcodeForSearch.Acontecimiento de
clic handler.
2. Typeblock El BarcodeScanner2.DoScan Llamada de
mtodo y chasquear l en el acontecimiento han-
dler. Marca seguro que es el .DoScan De el segundo
barcode escner.

El barcode el escner genera un acontecimiento cundo


all es un escner exitoso. The BarcodeScanner2.AfterScan El
acontecimiento llama el mismo procedimiento que el
btnBarcode- llamadas de acontecimiento de la Bsqueda.
Construyes un procedimiento para ser utilizado para
ambos acontecimientos. The procBarcodeSearch se apellida
de el BarcodeScanner2.AfterScan Y tambin de el
btnSearchBarcode.Acontecimiento de clic. Whichever El
acontecimiento llama el procedimiento, toma como
su bsqueda denomina los contenidos de txt-
SearchBarcode caja de texto. Pone el .AfterScan
Acontecimiento para poblar el txtSearchBarcode caja
de texto con los resultados de el escner. Colocas la
llamada de procedimiento en ambos estos
acontecimientos en justos un momento.
1. Typeblock El BarcodeScanner2.AfterScan Acontecimiento handler.
2. Typeblock El txtSearchBarcode.Texto [a] bloque y chasquear
l al.
.AfterScan Bloque.

cundo
Si Aplicacin yonvent o es no automaticaliado populate el resultado socket en el
.AfterScan tratando
event Mangor, you necesidad to tapn en un bloque de nombre. algo tan
com- plex
3. Typeblock El resultado1 bloque de valor y como estos
chasquear l a el txtSearchBarcode.Texto bloques. T
Bloque. tambin
reutilizacin
4. Typeblock El btnSearchBarcode.Acontecimiento de clic las variables
handler. provisionale
s utilizaron
Pone estos dos acontecimientos aparte para un por el
momento. Colocas la llamada de procedimiento en formatting
ellos apenas lo creas. rou- tine en
el
El procedimiento de bsqueda carga los contenidos de acontecimiento
el varBarcodeList un elemento a la vez utilizando un de
ForEach bloque. Entonces comprueba para ver si el plazo exhibicin.
de bsqueda es igual a el actualmente cargado
barcode. Si el actualmente cargado barcode es igual
como el plazo de bsqueda, sea formatted y
produccin para buscar resultados. Este algoritmo
est conseguido con un IfElse bloque en el ForEach que
controles la variable local contra el plazo de bsqueda.
El formatting est manejado por la misma lgica que
te utilizado para formatting en la 1.0 versin.

Primero, dene las variables sers utilizar en el


procedimiento. Necesitas una variable para el plazo
de bsqueda y otro para los resultados de bsqueda:

1. Typeblock Una variable nueva y rebautizarlo


varSearchTerm.
2. Tapn un bloque de texto vaco a l..
3. Typeblock Una variable nueva y rebautizarlo
varSearchResults.
4. Tapn en un bloque de texto vaco.

Estos dos variables estn utilizadas a travs del


procedimiento para proporcionar claridad en
comprensivo qu est yendo en. No son estrictamente
necesarios y la rutina podra ser hecha ms ecient
sin ellos. Aun as, la claridad es de rst importancia
REMEMBER
Inicio por crear el procedimiento y poniendo el
varSearchTerm a el nmero aquello ha sido introducido
a el txtSearchBarcode por el usuario o un escner.
Cuando construyes el procedimiento, reere a el
complet bloques en Figuras 8-8, 8-9, y 8-10..

1. Typeblock El procedimiento nuevo y rebautizarlo


procBarcodeSearch.
2. Typeblock El procBarcodeSearch llamada y chasquear
l a el BarcodeScanner2.
AfterScan Acontecimiento handler.
3. Typeblock Otro procBarcodeSearch llamada y
chasquear l a el btnSearchBar- acontecimiento de cdigo
handler.
4. Typeblock El varSearchTerm [a] bloque y chasquear
l a el procedimiento.
5. Typeblock El txtSearchBarcode.Bloque de texto y
chasquear l a el varSearch- bloque de Plazo.

Ahora colocas el nested ForEach e IfElse bloques para


comprobar todo el barcodes en el var- BarcodeList:

1. Typeblock Un ForEach bloque y chasquear l en


bajo el varSearchTerm bloque.
2. Typeblock El varBarcodeList y chasquear l a el
fondo de ForEach bloque en el en casquete de lista.

Estos bucles a travs del varBarcodeList y carga cada


elemento uno a la vez a la variable local, var2, el
cual era dened cundo creaste el ForEach bloque.

NINGNT E Si el var2 variable isn't creunt ed, you cun chasquear un bloque de nombre ent o el
var socket en el
ForEach Bloque y r ename lo.

Ahora necesitas probar si el elemento actualmente


cargado es igual como el plazo de bsqueda que te
salvado a varSearchTerm . Utilizas un IfElse bloque para
construir la lgica que dice, Si el con- tiendas de var2
no es igual como los contenidos de varSearchTerm ,
nada; si son igual, formato los contenidos.

1. Typeblock Un IfElse bloque y chasquear l a el


ForEach bloque.
2. Typeblock Un no bloquear y chasquear l a el
casquete de prueba en el IfElse bloque.
3. Typeblock Un equals (=) operador de comparacin
y chasquear l a el no bloquear.
4. Typeblock El var2 bloque de valor y chasquear
l en el rst casquete en el operador de
comparacin.
5. Typeblock El varSearchTerm bloque de valor global y
chasquear l a el segundo casquete en el
operador de comparacin.

El procedimiento para el barcode la bsqueda tendra


que parecer Figura 8-8 al llegar a este punto. Dejar
el entonces-hacer el casquete vaco en el IfElse bloque. Si
los contenidos de la variable provisional y la variable
de plazo de la bsqueda no son igual, no quieres
cualquier cosa todava. Aquello es el rst el caso en
qu la prueba evala a cierto , signicando que var2 no
es igual al plazo de bsqueda. El ForEach el bucle carga
otro barcode a el var2 variable y sus contenidos
sern evaluados en la misma manera.

Figura -:
Empeza
ndo el
procBar
Code
procedi
miento
de
Bsque
da

Si la prueba evala cuando no cierto, quieres tomar


el barcode en var2 y uso l como etiqueta para
recuperar los contenidos almacenaron bajo aquel
barcode. T entonces formato que contenido con el
mismo ForEach bucle utilizaste en el btnDisplay.Acontecimiento
de clic.

Para el segundo caso, cundo la prueba evala no cierta,


t rst aclarar el varSearchResults de cualesquier
resultados de bsqueda anteriores. Entonces estirar los
contenidos almacenaron bajo el barcode y tienda l
en el tmpList utilizaste anteriormente:

1. Typeblock El varSearchResults [a] y chasquear l a


el ms-hacer casquete en el IfElse bloque.
2. Typeblock Un bloque de texto y puesto lo vaco.
Chasquear el bloque de texto vaco al.
varSearchResults.
3. Typeblock El tmpList [a] y chasquear l en prximo en el ms-
hacer casquete.
4. Typeblock Un bloque de ruptura y chasquear l a
el tmpList bloque.
5. Typeblock Un TinyDB1.GetValue Y chasquear l a
el casquete de texto en la ruptura
Bloque.
6. Typeblock El var2 bloque de valor y chasquear l
a el .GetValue Bloque.
7. Typeblock Un bloque de texto y poner el texto a
una coma. Chasquea l a el en casquete en el
Bloque de ruptura.

Estos bloques recuperan los contenidos almacenaron


bajo el barcode actualmente en el var2 variable local y
partido l a una lista almacenada en el tmpList
variable. Despus del tmpList est cargado con los
contenidos almacenaron bajo el barcode que el
usuario busc, necesitas utilizar un ForEach para iterar a
travs del tmpList y formato l:

1. Typeblock Un ForEach bloque y chasquear l en


bajo el tmpList bloque.

2. Typeblock El tmpList bloque variable global y


chasquear l a el en casquete de lista en el fondo
de el ForEach bloque.

WUnRNING Unf ter un f ew ForEach bloqueks, Aplicacin yonvent o s ometimes faqueja to auto-
populate la variable socket en el ForEach bloqueks. To x thi s, use un bloque de
nombre from el Denition drunw er en el Built-En tab. Chasquear el bloque de nombre ent
o la variable socket en el ForEach bloque. You Necesidad to change el t ext nombre
en el bloque de nombre. Nose El n ext sequential nmero var combination (en otro w
ords, el previous ForEach you creunt ed dened el var2, so you tener que use var3 en
el bloque de nombre).

Luego, uso el truco del programador viejo de tomar


prestado cdigo de t. T ya puesto junto los bloques para
formatting y outputting el dato de TinyDB , as que por qu
complexin l otra vez? Localizar el btnDisplay.Acontecimiento de
clic handler. Encontrar el interior ForEach bloque en el nested
ForEach bloques. Los bloques que formato el TinyDB1 dato es los
necesitas copiar. La manera ms fcil de hacer este es para
copiar el entero ForEach bloque y entonces arrastrar fuera de
los bloques contiene. No utiliza el copiado ForEach los asuntos
que esto puede causar es irri- tating y duro a x. En cambio,
justo sacar las tripas de el ForEach: todo del formatting
bloques que uso las variables provisionales.
1. Localizar el btnDisplay.Acontecimiento de clic handler.
2. Clic el interior ForEach nested bloque.
3. Uso el Ctrl+C para copiar y Ctrl+V a pasta l.
4. Arrastrar la copia luego a vuestro procBarcodeSearch
procedimiento.
5. Clic en el bloque superior en el copiado ForEach
bloque y arrastrar todos los bloques de interior y
chasquearles a vuestro ForEach bloque en vuestro
procBarcodeSearch (ve Figura 8-9).
6. Puedes eliminar el viejo copiado y unused ForEach bloque.

Ningnw anunciod the barcode that was searched to the formatted


resultados from the var2 local variable:

1. En el ltimo tmpVar2 [a] bloque, sacar el separator


caracteres ( utilizaste una serie de equals seales
para separar el formatted resultados cundo
construiste el formatting lgica) y ltimo newline
carcter y puesto les a un lado.
2. Typeblock El var2 valor bloque variable local y
chasquear l a el casquete de texto abierto en el
bloque de texto de la marca.
3. Copia el newline bloque de carcter. Chasquear la copia a el
casquete de texto prximo.
4. Resnap En el separator caracteres en el casquete de texto
prximo.
5. Chasquear vuestro nal newline carcter a el casquete de texto
prximo.

Figura -:
The
formattin
g bloquea
tomado
de
btnDispla
y.Aconteci
miento
de clic
handler
Ahora que te ha formatted cualesquier partidos de el tmpList,
necesitas escribir fuera de el tmpVar a la variable de resultados.
Entonces puedes hacer una decisin aproximadamente si la
bsqueda era exitosa basado en los contenidos de el
varSearchResults variable.

1. Typeblock El varSearchResults [a] bloque y chasquear


l en bajo el ltimo tmpVar
formatting Bloque.
2. Typeblock El tmpvar2 valor bloque variable
global y chasquear l al.
varSearchResults Bloque.

Finalmente, necesitas probar el varSearchResults para ver


si cualquier cosa emparejado y era writ- diez a la
variable. Si no, escribes No Encontrado a los resultados de
bsqueda. Si hay resultados en la variable de
resultados de la bsqueda, escribes los resultados a
la etiqueta de exhibicin en VirtualScreen4.

1. Typeblock Un Si bloque y chasquear l en


bajo el exterior ForEach bloque en el
procBarcodeSearch Procedimiento.
2. Typeblock El equals (=) operador de comparacin
y chasquear l a el Si bloque.
3. Typeblock El varSearchResults bloque de valor global
y chasquear l en el rst casquete en el
operador de comparacin.
4. Typeblock Un bloque de texto y eliminar el texto
para un bloque vaco. Chasquea l a el segundo
casquete en el operador de comparacin.
5. Typeblock El varSearchResults [a] bloque y
chasquear l a el entonces-hacer casquete en el Si
bloque.
6. Typeblock Un bloque de texto y cambiar el texto
a No Found. Chasquear este bloque de texto a el
varSearchResults bloque t justo colocado.

Si el varSearch variable de resultados es vaca, la cuerda


de texto No Encontrada est escrito al vari- capaz. Ahora
justo necesitas escribir los contenidos de el
varSearchResults variable a la etiqueta de exhibicin y
habilitar el VirtualScreen4:

1. Typeblock El lblSearchResults.Texto [a] bloque y


chasquear l en bajo el Si
Bloque.
2. Typeblock El varSearchResults bloque de valor
y chasquear l a el lbl- SearchResults.Bloque de
texto.
3. Typeblock El VirtualScreen3.Visible [a] bloque y
chasquear l en bajo el
varSearchResults. Chasquea en un bloque falso.
4. Typeblock El VirtualScreen4.Visible [a ] bloque y
chasquear l en bajo previ- ous bloque. Chasquea
en un bloque cierto.

Vuestro completado procBarcodeSearch el procedimiento tendra que


parecer Figura 8-10.

Figura -:
El
completa
do
procBarc
ode
procedim
iento de
Bsqued
a

Este procedimiento se apellida por el


BarcodeScanner2.AfterScan Acontecimiento y el btn-
SearchBarcode.Acontecimiento de clic.

1. Localizar el BarcodeScanner2.AfterScan Acontecimiento handler.


2. Typeblock El procBarcodeSearch bloque de llamada y chasquear
l a el .AfterScan
Acontecimiento handler.
3. Localizar el btnSearchBarcode.Acontecimiento de clic handler.
4. Typeblock El procBarcodeSearch bloque de llamada y
chasquear l a el .Acontecimiento de clic handler.
Ningnw the Scan und Search acontecimientos are mangod for the
barcode search functionality on el search pantalla. Ningnw to
handle the Search button inclusot for the Name Search text
caja, you complexin out un similar lgica. The name search
Inclusot pruebas each barcode in the varBarcodeList to ve whether
the text string entered into the txtNameSearch text box i s
tiendad in TinyDB. Yof el text string is emparej, it cargas und
formatos that barcode into the Search resultas variable.

Primero, sitio el btnSearchName.Acontecimiento de clic y


cargar el texto introducido a la caja de texto a la
variable de plazo de la Bsqueda. Entonces colocas el
exterior ForEach bloque que cargas cada barcode en el
varBarcodeList:

1. Typeblock El btnSearchName.Acontecimiento de clic


handler y colocarlo encima un trabajo vaco-
espacial de el Editor de Bloques.
2. Typeblock El varSearchTerm [a] bloque y chasquear
l a el btnSearchName.
Acontecimiento de clic.
3. Typeblock El txtSearchName.Bloque de texto y
chasquear l a el varSearchTerm
Bloque.
4. Typeblock Un ForEach bloque y chasquear l en
bajo el txtSearchName.Bloque de texto.

WUnRNING Make sure que elre es un bloque de nombre en la variable socket en elt op of el
ForEach bloque. Sometimes Aplicacin yonvent o f aqueja to populate lo. Si elre es ningn
bloque de nombre, drag un from el Denition drunw er y chasquear l ent o la variable
socket en el ForEach bloque. ChanGe el bloque de nombre to el n ext sequential var
number. En este c uns e, you would nombre l var4.

5. Typeblock El varBarcodeList bloque de valor y


chasquear l a el en casquete de lista en el fondo
de el ForEach bloque.

Tan l anteriormente, este ForEach carga cada cual


barcode almacenado en TinyDB a un tempo- rary lista
para evaluacin o formatting:.

1. Typeblock El tmpList [a] bloque y chasquear l a


el ForEach bloque.
2. Typeblock Un bloque de ruptura y chasquear l a
el tmpList bloque.
3. Typeblock Un TinyDB1.GetValue Y chasquear l a
el casquete de texto en la ruptura
Bloque.
4. Typeblock El var4 bloque de valor (la variable local
de el ForEach bloque) y chasquear l a el .GetValue
Bloque.
5. Typeblock Un bloque de texto y puesto lo a una coma sola.
Chasquea l a el en casquete en el
Bloque de ruptura.

Estos bloquea puestos el tmpList hasta ser queried por


un IfElse bloque. The IfElse Pruebas de bloque si los
contenidos de varSearchTerm es en el tmpList. Si no, el
IfElse bloque nada y el ForEach carga el conjunto
prximo de datos en el varBarcodeList:

1. Typeblock Un IfElse bloque y chasquear l en bajo el tmpList


bloque.
2. Typeblock Un no bloquear y chasquear l a el bloque de
prueba de el IfElse bloque.
3. Typeblock Un Es en Lista? Bloque y chasquear l a el no
bloquear.
4. Typeblock El varSearchTerm bloque de valor y chasquear l a el
casquete de cosa en el
Es en Lista? Bloque.
5. Typeblock El tmpList bloque de valor global y
chasquear l a el casquete de lista en el Es en
Lista? Bloque.

El Es en Lista? El bloque te dejas para comprobar si una


cuerda es en un specied lista. En este caso,
ests comprobando el tmpList aquello est creado de el
dato almacenado bajo un barcode etiqueta. Si el plazo
de bsqueda no es en la lista, nada est hecho y el
prximo barcode est utilizado como etiqueta a
reload el tmpList. Ahora manejas el segundo caso. Si el
plazo de bsqueda es en el tmpList, necesitas a formato
y produccin la lista..

Primero, claro fuera de cualesquier resultados de


sobra en el varSearchResults y colocar un nuevo ForEach
Bloque para manejar el formatting de
el dato encontrado de TinyDB :

1. Typeblock El varSearchResults [a] y chasquear l a


el ms-hacer casquete en el IfElse bloque.
2. Chasquea en un bloque de texto del espacio a el varSearchResults
bloque.
3. Typeblock Un nuevo ForEach bloque y chasquear l en prximo
en el ms-hacer casquete.
4. Typeblock El tmpList bloque de valor global y
chasquear l a el en casquete de lista en vuestro
nuevo ForEach bloque.

Serc ause Aplicacin yonvent o s ometimes forgets, make sure la variable socket es TIP
populated con un bloque de nombre nombr var5.
Utilizas el formatting de el btnDisplay.Clic tan t anteriormente.
Recuerda que es ms fcil de copiar un bloque de contener
como el ForEach porque cuando copias y pasta un bloque de
contener, los bloques internos estn copiados tambin.
Copiars y pasta el formatting bloques de el interior ForEach
de el btnDisplay.Acontecimiento de clic, y entonces utilizas el
formatting bloques en vuestro btnSearchName.Acontecimiento de clic,
por ello ahorro t la tarea tediosa de construir la misma cosa.
T entonces discard el copiado ForEach bloque.

1. Localizar el btnDisplay.Acontecimiento de clic.


2. Clic el interior ForEach bloque en el
acontecimiento.
3. Uso el Ctrl+C y Ctrl+ V llaves para copiar y
pasta el ForEach y todo su contuvo bloques. Lo
arrastra encima por vuestro btnSearchName
acontecimiento.
4. Clic y arrastrar el rst bloque en el copiado
ForEach bloques. Todo el sujet los bloques estn
arrastrados. Gota el conectado formatting bloques a
el ForEach el bloque localizado en el entonces-hacer
casquete en vuestro IfElse el bloque localizado en el
btnSearchName.Acontecimiento de clic.
5. Eliminar el unused viejo ForEach bloque.

Tendras que aadir cul barcode la bsqueda estuvo


encontrada debajo a el formatted texto. Para hacer
este, aadir el var4 variable local de el exterior ForEach
bloque a el ltimo formatting paso. Te Tapn l en
correcto por encima de la lnea de separator
caracteres:

1. Localizar el ltimo tmpvar2 bloque en el formatting


bloques.
2. Sacar el ltimo newline bloque de carcter de el
bloque de texto de la marca y puesto lo aparte.
3. Sacar el separator carcter text bloque y puesto
lo aparte.
4. Typeblock El var4 variable local de el exterior
ForEach bloque. Esto contiene el barcode aquel soli
estira el dato de TinyDB .
5. Chasquear el var4 bloque a el bloque de texto
abierto en el bloque de texto de la marca.
6. Seleccionar el newline bloque y crear una copia de
l utilizando Ctrl+C y Ctrl+V .
7. Chasquea en un newline carcter bajo el var4
bloque.
8. Chasquea en el separator el bloque de texto del
carcter bajo el newline bloque de carcter.
9. Chasquea en el ltimo newline bloque de
carcter.

Finalmente, puesto el varSearchResults contenidos a el


formatted texto en tmpvar2 y entonces mostrar la
variable en VirtualScreen4 y hacer la pantalla visible:
1. Typeblock El varSearchResults [a] y chasquear l
en despus de que el ltimo formatting bloque
(ve Figura 8-11).
2. Typeblock El tmpvar2 valor global bloque y chasquear l a el
varSearchResults
Bloque.
3. Typeblock El VirtualScreen3.Visible [a] bloque y
chasquear l en bajo el fuera- lado ForEach bloque.
(Ahora tenga que ser el ltimo bloque en el
.Acontecimiento de clic.)
4. Chasquear un bloque falso a el VirtualScreen3 bloque.
5. Typeblock El VirtualScreen4.Visible [a] bloque y chasquear en un
bloque cierto.
6. Typeblock El lblSearchResults.Texto [a] bloque y chasquear l
en bajo el
VirtualScreen4 bloque.
7. Typeblock El varSearchResults bloque de valor
global y chasquear l a el lbl- SearchResults.Bloque
de texto.

Vuestro completado btnSearchName.Acontecimiento de clic


handler tendra que parecer Figura 8-11 y
Figura 8-12.

Figura -:
El
completad
o
btnSearch
Name.
Bloques
de
acontecim
iento del
clic
(superiore
s)
Figura -:
El
completad
o
btnSearch
Name.
Bloques
de
acontecim
iento del
clic
(inferiores
)

Desafian
te T
Estos nes de proyecto con dos retos. The rst Es para
completar la aplicacin que utiliza la lgica misma
exacta (y bloques de cdigo) para manejar el
btnSearchLoc acontecimiento. Has construido la lgica y
los bloques para el btnSearchName acontecimiento. La
bsqueda de ubicacin tendra que ser idntica con la
excepcin de utilizar las cajas de texto de la
ubicacin y botn de Bsqueda. Prueba construir el
acontecimiento para parecer el btnSearchName
acontecimiento.

The second challenge is more diCulto. TSue is unn es


un of redundant bacalaoe in ter aplicacin. Whenever
the search routine Productos un resultado, the resulting
datuna necesidads to be formatted para exhibicin. To
accomplish Esto, you copied the exact same bloques to
nuncay acontecimiento. Yot would be lejano more
ecient to have un procedure that could handle the
text formatting for te. You Podra el n call the procedure
whenever you needed to format unn entry from TinyDB1
und display lo.

Si eres arriba para un reto de bonicacin, uso un


procedimiento con bloque de resultado y pasar el
barcode a el procedimiento para formatting y
exhibicin..

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