CheckSumControl

 

 CheckSumControl é um User Control que soma valores de uma coluna da GRID, sem atualizar(refresh) em toda  a tela, com base na marcação de um check-box da mesma GRID, ele retorna o valor da soma e da quantidade de check-box marcados para outros objetos como TextBlock. Já vem com um exemplo (Xpz).

 

CharCount Control

CheckSum Control

Principais características:

1. Somar valores da Grid, sem atualizar(refresh) toda  a tela, com base check-box marcado;
2. Conta  valores da Grid, sem atualizar(refresh) toda  a tela, com base check-box marcado;

Propriedades

ClassCheckBox : Classe do  checkbox a ser marcado, se utilizar mais de uma grid colocar class diferentes para cada um. Exemplo: ‘AttSubTitle’
InternalNameValSum :  Valor da Grid a ser somado ao marcar o checkbox. Exemplo: &Valor.InternalName
InternalNameTotal = TextBlock receberá o total da soma. Exemplo: TextBlockTotal.InternalName
InternalNameTotalCount = TextBlock receberá o quantidade de check marcado. Exemplo: TextBlockTotalCount.InternalName
PrefixoMoney = Prefixo do Valor monetário. Exemplo: R$

 

CheckSumControl em execução.

CheckSumControl em execução.

 

Implementando

Muito simples e prático de ser utilizado, simplesmente passar o Class(checkbox) e o InternalName das variável que estão na Grid  que deseja contar ou somar e mostrar em um TextBlock, para as propriedades correspondente , veja:


Event Start
 Form.JScriptSrc.Add("js/jquery.js") //No GX ev1 deve-se importar o Jquery.
EndEvent

Event Grid1.Load
 //Habita CheckBox e parametriza o UC
 &IsOk.Enabled = true
 checkSumControl1.ClassCheckBox = 'AttSubTitle' //Class checkbox a ser marcado, se utilizar mais de uma grid colocar class diferentes para cada um.
 checkSumControl1.InternalNameValSum = &Valor.InternalName //Valor da Grid a ser somado ao marcar o checkbox
 checkSumControl1.InternalNameTotal = TextBlockTotal.InternalName //TextBlock receberá o total da soma
 checkSumControl1.InternalNameTotalCount = TextBlockTotalCount.InternalName //TextBlock receberá o quantidade de check marcado
 //carrega a GRID
 &Valor = 100
 load
 &Valor = 150
 load
 &Valor = 100.75
 load
 &Valor = 990
 load
EndEvent

Event Grid2.Load
 &IsOk2.Enabled = true
 checkSumControl2.ClassCheckBox = 'Attribute'
 checkSumControl2.InternalNameValSum = &Valor2.InternalName
 checkSumControl2.InternalNameTotal = TextBlockTotal2.InternalName
 checkSumControl2.InternalNameTotalCount = TextBlockTotalCount2.InternalName
 //carrega a GRID
 &Valor2 = 200
 load
 &Valor2 = 252.5
 load
 &Valor2 = 400.75
 load
 &Valor2 = 390
 load
EndEvent


Twitter Control

Twitter Control é um User Control que gerencia e incorpora em sua página, varios tipos de plugins, tais como Tweet Button, Follow Button, Embedded Tweets, Embedded Video e  Embedded Timelines do Twitter para integrar com seu site. Já vem com um exemplo (Xpz).

twiitercontrol

Tweet Button

O botão Tweet é um pequeno botão exibido em seu site para ajudar os telespectadores facilmente compartilhar seu conteúdo no Twitter. Um botão Tweet consiste em duas partes: um link para um Tweet compositor no Twitter.com e os widgets do Twitter JavaScript para melhorar a ligação com o botão oficial e facilmente reconhecível Tweet do Twitter.

Image:TweetButton_jpg

Tweet Button Parâmetro de Referência

text optionalPre-populated text highlighted in the Tweet composer.

Example Value: custom share text

url optionalURL included with the Tweet.

Example Value: https://dev.twitter.com/web/tweet-button

hashtags optionalA comma-separated list of hashtags to be appended to default Tweet text.

Example Value: example,demo

via optionalAttribute the source of a Tweet to a Twitter username.

Appears appended to Tweet text as via @username. The Twitter account may appear in a list of recommended accounts to follow.

Example Value: twitterdev

Button display parameters

Customize your displayed Tweet Button size, Tweet count display, button alignment, and more.

These visual parameters do not apply to Web Intents, which are styled separately by implementing sites.

size optionalWhen set to large, display a larger version of the button. Set to l for iframe.

Example Value: large

align optionalForce align the button to the left or right of the generated iframe.

Default behavior: the Tweet button chooses the best alignment option for the widget’s language.

Example Value: right

count optionalWhen set to none, the number of Tweets including the specified URL will not be shown.

When set to vertical, the number of Tweets including the specified URL appears above the button.

Example Value: none

counturl optionalExplicitly define a canonical URI for aggregated Tweet count display.

Example Value: https://dev.twitter.com/

lang optionalA supported Twitter language code.

Loads text components in the specified language.

Example Value: es

dnt optionalWhen set to true, the Tweet and its embedded page do not influence Twitter targeting including suggested accounts.

Example Value: true

Follow Button

O botão Seguir é um pequeno botão exibido em seus sites para ajudar os usuários a seguir facilmente uma conta no Twitter. Um botão Seguir é composto por duas partes: um link para uma página web a intenção follow on Twitter.com e os widgets do Twitter JavaScript para melhorar a ligação com o botão oficial e facilmente reconhecível Seguir do Twitter.

Image:FollowButton_jpg

Follow Button Parâmetro de Referência

A follow button may be customized from its default settings by specifying parameter overrides.

screen_name requiredThe Twitter username to be followed.

Automatically extracted from the anchor element’s href attribute when using JavaScript-enhanced button markup.

Example Value: TwitterDev

show_screen_name optionalSet to false to hide the username of the specified account.

Example Value: false

show_count optionalSet to false to hide the number of accounts following the specified account.

Example Value: false

size optionalSet to large to display a larger button.

Example Value: large

lang optionalA supported Twitter language code.

Loads text components in the specified language.

Example Value: es

dnt optionalWhen set to true, the specified Twitter account does not influence Twitter targeting including suggested accounts.

Example Value: true

Embedded Tweets

Uma Tweet incorporado traz o melhor conteúdo criado no Twitter em seu artigo ou website. Uma Tweet incorporado pode incluir fotos originais ou um vídeo criado para exibição no Twitter ou previews links interativos para destacar o conteúdo adicional. Autor atribuição, hashtags, menciona, e outros componentes-chave da experiência Twitter ajuda a audiência do seu site se conectar com a conversa global acontecendo no Twitter.

Image:EmbeddedTweets_jpg

Embedded Tweet parâmetro de referência

An Embedded Tweet supports customization in data-* attributes and JavaScript factory functions. This reference document describes parameters used in all formats.

Reference the oEmbed API to set these parameters as part of an HTML response for a Tweet ID or URL.

Parameters

id requiredThe numerical ID of the desired Tweet.

Example Values: 20

cards optionalWhen set to hidden, links in a Tweet are not expanded to photo, video, or link previews.

Example Value: hidden

conversation optionalWhen set to none, only the cited Tweet will be displayed even if it is in reply to another Tweet.

Example Value: none

lang optionalA supported Twitter language code.

Loads text components in the specified language. Note: does not affect the text of the cited Tweet.

Example Value: es

dnt optionalWhen set to true, the Tweet and its embedded page do not influence Twitter targeting including suggested accounts.

Example Value: true

theme optionalWhen set to dark, displays Tweet with light text over a dark background.

Example Value: dark

width optionalThe maximum width of the rendered Tweet in whole pixels. This value should be between 250 and 550 pixels.

Example Value: 325

align optionalFloat the Tweet left, right, or center relative to its container. Typically set to allow text or other content to wrap around the Tweet.

Example Value: right

Embedded Video

Um vídeo incorporado traz o melhor conteúdo de vídeo criado no Twitter em seu artigo ou site em um Tweet exibição otimizada-video.

Image:EmbeddedVideo_jpg

Embedded Video Parâmetro de Referência

id requiredThe numerical ID of the desired Tweet.

Example Value: 560070183650213889

status optionalWhen set to hidden, selecting the Twitter bird logo on the bottom corner of the video player will link to the Tweet URL instead of displaying a Tweet overlay.

Example Value: hidden

lang optionalA supported Twitter language code.

Loads text components of a Tweet overlay in the specified language. Note: does not affect the text of the cited Tweet.

Example Value: es

Embedded Timelines

Timelines incorporados são uma maneira fácil de incorporar várias tweets no seu site em uma visão única coluna compacta. Mostrar as últimas tweets de uma única conta do Twitter, várias contas, ou toque na conversa em todo o mundo em torno de um tema agrupados em um resultado de pesquisa.

Image:EmbeddedTimelines_jpg

 

Embedded Timeline Parâmetro de Referência

chromeRemove a display component of a timeline with space-separated tokens.

noheader – hides the header

nofooter – hides the footer, if visible

noborders – removes all borders: around the widget, between Tweets, and inside a Tweet

noscrollbar – crop and hide the timeline scrollbar, if visible

transparent – remove background color

Example Values: transparent noborders

tweet-limitDisplay an expanded timeline of between 1 and 20 Tweets.

Example Value: 5

aria-politeSet an assertive ARIA politeness value for widget components and updates.

Example Value: assertive

langA supported Twitter language code.

Loads text components in the specified language. Note: does not affect the text of a Tweet displayed inside a timeline.

Example Value: es

themeWhen set to dark, displays Tweet with light text over a dark background.

Example Value: dark

border-colorSet the color of widget component borders, including the border between Tweets, with a hexadecimal color value.

Example Value: #a80000

widthSet the maximum width of the widget between 180 and 520 pixels.

Example Value: 300

heightSet the height of a displayed widget, overriding the value stored with the widget ID. Must be greater than 200 pixels.

Note: the height parameter does not apply when a tweet-limit parameter is specified

Example Value: 400

 

Parâmetros de substituição

The following parameters override the data source for the specific widget ID.

screen-nameDisplay Tweets from a Twitter user specified by @username.

Applies to embedded user timelines.

Example Value: TwitterDev

user-idDisplay Tweets from a Twitter user specified by ID.

Applies to embedded user timelines.

Example Value: 2244994945

list-owner-screen-nameDisplay a Twitter list belonging to a Twitter user specified by @username. Must be paired with a specific list provided by list-slug or list-id.

Applies to embedded list timelines.

Example Value: TwitterDev

list-owner-idDisplay a Twitter list belonging to a Twitter user specified by ID. Must be paired with a specific list provided by list-slug or list-id.

Applies to embedded list timelines.

Example Value: 2244994945

list-slugDisplay a Twitter list using a short identifier selected by its curator. Must be paired with a list curator provided by list-owner-screen-name or list-owner-id.

Applies to embedded list timelines.

Example Value: national-parks

list-idDisplay a Twitter list using a unique identifier assigned by Twitter. Must be paired with a list curator provided by list-owner-screen-name or list-owner-id.

Applies to embedded list timelines.

Example Value: 207763459

custom-timeline-idDisplay a collection of Tweets specified by a collection identifier.

Applies to embedded collection timelines.

Example Value: 539487832448843776

 

Implementando

Muito simples e prático de ser utilizado, simplesmente passar o endereço da pagina, para seguir, compartilhar e para o restante, possui também outras configurações disponiveis, caso desejar, veja:

Event Start
	//Compartilhar um link 
	TwitterControl1.DataVia = 'Weltowjn'
	TwitterControl1.Href    = 'https://twitter.com/share'
	
	//Follow Button
	TwitterControl2.DataVia = 'Weltowjn'
	TwitterControl2.Href    = 'https://twitter.com/Weltowjn'
	
	//Embedded Tweets
	TwitterControl3.DataVia = 'Weltowjn'
	TwitterControl3.Href    = 'https://twitter.com/Weltowjn/status/619511906018193408'
	
	//Embedded Video
	TwitterControl4.DataVia = 'Twitter'
	TwitterControl4.Href    = 'https://twitter.com/twitter/status/560070183650213889'
	
	//Embedded Timelines
	TwitterControl5.DataVia = 'Weltowjn'
	TwitterControl5.Href    = 'https://twitter.com/Weltowjn'
EndEvent

Facebook Control

Facebook Control é um User Control que gerencia e incorpora em sua página, varios tipos de plugins, tais como Like Button, Share Button, Send Button, Embedded Posts, Embedded Videos, Comments, Page Plugin e Follow Button do facebook para integrar com seu site. Já vem com um exemplo (Xpz).

Configurações

Idioma –> “en_US” ou  “pt_BR” ou  “es_ES”  e etc.

Like Button – Botão Curtir para Web

O botão Curtir é a forma mais rápida de compartilhar conteúdo com os amigos.

Um único clique no botão Curtir vai curtir itens de conteúdo na Web e compartilhá-los no Facebook. Você também pode disponibilizar um botão Compartilhar ao lado do botão Curtir para que as pessoas possam adicionar uma mensagem pessoal e decidir com quem compartilham.

Image:LikeButton_png

Configurações

Além das configurações acima, você também pode alterar o seguinte:

Configuração Descrição Padrão
LikeBtAction O verbo para exibir no botão. Pode ser “curtir” ou “recomendar” “like”
LikeBtColorScheme O esquema de cores usado pelo plug-in para todo o texto fora do próprio botão. Pode ser “claro” ou “escuro”. “light”
href A URL absoluta da página que será curtida. Versões XFBML e HTML5 padrão para a URL atual.
LikeBtKidDirectedSite Se seu site ou serviço online, ou parte do serviço, é direcionado para crianças menores de 13 anos, você deve habilitar isto “falso”
LikeBtLayout Seleciona um dos diferentes layouts disponíveis para o plug-in. Pode ser “standard”, “button_count”, “button” ou “box_count”. Consulte as Perguntas frequentes para saber mais. “standard”
LikeBtLabelRef Um rótulo para monitorar as referências que deve ser inferior a 50 caracteres e que pode conter caracteres alfanuméricos e alguns sinais de pontuação (atualmente +/=-.:_). Consulte as perguntas frequentes para saber mais. Nenhum
LikeBtShare Especifica onde incluir um botão Compartilhar ao lado do botão Curtir. Isto só funciona com a versão XFBML. “falso”
LikeBtShowFaces Especifica se é necessário exibir fotos de perfil abaixo do botão (apenas layout padrão). Você não deve habilitar isto em sites para crianças. “falso”
width A largura do plug-in (apenas layout padrão), que está sujeita à largura mínima e padrão. Consulte as perguntas frequentes abaixo para saber mais. Veja o layout padrão nas perguntas frequentes

Quais são os tipos diferentes de layout?

As seguintes opções estão disponíveis:

Layout Tamanhos padrão
standard Largura mínima: 225 pixels.
Largura padrão: 450 pixels.
Altura: 35 pixels (sem fotos) ou 80 pixels (com fotos).
box_count Largura mínima: 55 pixels.
Largura padrão: 55 pixels.
Altura: 65 pixels.
button_count Largura mínima: 90 pixels.
Largura padrão: 90 pixels.
Altura: 20 pixels.
button Largura mínima: 47 pixels.
Largura padrão: 47 pixels.
Altura: 20 pixels.

Share Button

O botão Share permite que as pessoas adicionar uma mensagem personalizada para os links antes de compartilhar em sua linha do tempo, em grupos, ou para os seus amigos através de uma mensagem Facebook.

Image:ShareButton_png

Configurações

Configuração Descrição Padrão
href O URL absoluto da página que será compartilhado. XFBML and HTML5 versions default to the current URL.
ShareBtLayout Selecciona um dos layouts diferentes que estão disponíveis para o plugin. Pode ser um dos box_count“, “button_count”, “button”, link”, icon_link”, ou “ícon”.. icon_link

Send Button – Botão Enviar

O botão Enviar permite enviar pessoas privadamente conteúdo em seu site a um ou mais amigos em uma mensagem de Facebook, para um endereço de email, ou compartilhá-lo com um grupo no Facebook.

Definições

O configurador acima não incluem todas as possíveis definições para o botão Enviar. Você também pode alterar as seguintes configurações:

Configuração Descrição Padrão
SendBtColorScheme  O esquema de cores usado pelo plugin. pode ser “light” ou “dark”. “light”
href O URL absoluto da página que vai ser enviado. Current URL.
SendBtKidDirectedSite Se o seu site ou serviço online, ou uma parte de seu serviço, é dirigida a crianças menores de 13 anos é necessário ativar este “false”
SendBtLabelRef Um rótulo para as referências de rastreamento que deve ser inferior a 50 caracteres, e pode conter caracteres alfanuméricos e alguns sinais de pontuação (atualmente + / = -:. _). None

Embedded Post – Post Embutido
Posts incorporados são uma maneira simples de colocar posts públicos por uma página ou uma pessoa no Facebook – para o conteúdo do seu site ou página web. Somente postagens públicas do Facebook Pages e perfis podem ser incorporados.

Image:EmbeddedPosts_png

Configuração Descrição Padrão
width  A largura pixel da coluna (entre 350 e 750). 350
href URL do post. Exemplo:

https://facebook.com/

gxusercontrol/posts

/845877678814554

Embedded Videos – Video Imbutido

Com o player de vídeo embutido você pode facilmente adicionar vídeos do Facebook para o seu site. Você pode usar qualquer vídeo de página pública ou uma pagina pessoal como fonte de vídeo.

Image:EmbeddedVideoPlayer_png

Definições

O configurador acima não incluem todas as possíveis configurações para o player de vídeo embutido. Você também pode alterar as seguintes configurações:

Configuração Descrição Padrão
href URL absoluto do vídeo. n/a
VideosDataAllowFullScreen Permitir que o vídeo a ser reproduzido no modo de tela cheia. Pode ser falso ou verdadeiro. false
VideosDataAutoPlay Automaticamente começar a jogar o vídeo quando a página é carregada. O vídeo será reproduzido sem som (mudo). As pessoas podem ligar o som através dos controles do player de vídeo. Esta definição não se aplica a dispositivos móveis. Pode ser falso ou verdadeiro. false
width A largura do recipiente de vídeo. Min. 220px. auto

Comments – Comentários

O plug-in Comments  permite que as pessoas comentem o conteúdo em seu site usando sua conta Facebook. Se as pessoas desejam que eles possam compartilhar esta atividade para os seus amigos e amigos de amigos no Feed de notícias também. Ele também contém ferramentas de moderação embutidos e classificação de relevância social especial.

Image:CommentsPlugin_png

Definições

O configurador acima não incluem todas as configurações possíveis para a sua Comentários plugin. Você também pode alterar as seguintes configurações:

Configuração Descrição Padrão
CommentsColorScheme O esquema de cores usado pelo plugin. pode ser “light” ou “dark”. “light”
href A URL absoluta que os comentários postados no plugin será permanentemente associado. Histórias sobre Facebook sobre comentários postados no plugin irá conectar-se a esta URL. Current URL.
CommentsMobile Um valor booleano que especifica se a mostrar a versão móvel otimizado ou não. Auto-detected
CommentsNumPosts O número de comentários de mostrar por padrão. O valor mínimo é 1. 10
CommentsOrderBy A fim de utilizar ao exibir comentários. Pode ser “social”, reverter o tempo”, ou “tempo”. “social”
width A largura do plugin. Ou um valor de pixel ou o literal de 100% para a largura de fluido. A versão móvel do plug-in Comentários ignora o parâmetro de largura, e em vez disso tem uma largura de fluido de 100%. 550

Page Plugin – Plugin Página

O plugin página permite que você facilmente incorporar e promover qualquer página do Facebook em seu site. Assim como no Facebook, os visitantes podem gostar e compartilhar a página sem ter que deixar o seu site.

Image:PagePlugin_png   Ou Assim …Image:PageFaceBook_2_jpg

Definições
Além das definições acima, você também pode alterar o seguinte:

Configuração Descrição Padrão
href A URL da página no Facebook None
width A largura pixel da plugin. Min. é 180 & Max. é de 500 340
height A altura do pixel do plugin. Min. é 70 500
PageHideCover Ocultar foto da capa no cabeçalho false
PageShowFacepile Mostrar fotos de perfil quando os amigos como este true
PageShowPosts Mostrar mensagens de linha do tempo da página. false
PageSmallHeader Use o pequeno cabeçalho em vez false
PageAdaptContainerWidth Tente encaixar dentro da largura do recipiente true

Follow Button – Botão Seguir

Com o botão Seguir é possível assinar atualizações públicas de outras pessoas no Facebook.

Image:FollowButton_png

Definições

O configurador acima não inclui todas as possíveis configurações do botão Seguir. Você também pode alterar as seguintes configurações:

Configuração Descrição Padrão
FollowBtColorScheme O esquema de cores usado pelo plug-in. Pode ser “claro” ou “escuro”. “light”
href A URL do perfil no Facebook.com do usuário a ser seguido. Nenhum
FollowBtKidDirectedSite Se seu site ou serviço online, ou parte do serviço, é direcionado para crianças menores de 13 anos, você deve habilitar isto “falso”
FollowBtLayout Seleciona um dos diferentes layouts disponíveis para o plug-in. Pode ser “standard”, “button_count” ou “box_count”. Consulte as perguntas frequentes para saber mais. “padrão”
FollowBtShowFaces Especifica se é necessário exibir fotos de perfil abaixo do botão (apenas layout padrão). Você deve habilitar isto em sites para crianças. “falso”
width A largura do plug-in. O layout escolhido afeta as larguras mínimas e padrão que você pode usar, por isso, consulte as perguntas frequentes abaixo para saber mais. Depende do layout

Perguntas frequentes

Não sei qual é a URL de perfil do Facebook?

Ao visualizar o perfil da pessoa que você deseja que seja seguida depois de clicar no botão, o navegador mostrará a URL que você deve usar na barra de endereços.

Por exemplo, se você visualizar o perfil pessoal do Mark Zuckerberg, a URL mostrada na barra de endereços será:

https://www.facebook.com/zuck

Esta é a URL que você deve usar como valor de href no seu botão Seguir.

Recebo um erro “Página não encontrada” quando digito uma URL de perfil válida

Existem algumas coisas que você pode verificar quando isso acontece:

  1. A URL de perfil que você está usando é realmente um perfil pessoal, não uma Página do Facebook? Páginas devem usar o botão Curtir
  2. A pessoa cujo perfil você está usando com o botão Seguir habilitou esta opção? Você pode verificar isso pedindo para ela verificar as Configurações de seguidores e habilitá-las.
  3. Use a URL de perfil alternativa com a ID de usuário dessa pessoa em vez de seu nome de usuário. Por exemplo, http://www.facebook.com/4 em vez de http://www.facebook.com/zuck.

Quais são os tipos diferentes de layout?

Existem três opções:

Layout Tamanhos padrão
standard Largura mínima: 225 pixels.
Largura padrão: 450 pixels.
Altura: 35 pixels (sem fotos) ou 80 pixels (com fotos).
box_count Largura mínima: 55 pixels.
Largura padrão: 55 pixels.
Altura: 65 pixels.
button_count Largura mínima: 90 pixels.
Largura padrão: 90 pixels.
Altura: 20 pixels.

Implementando

Muito simples e prático de ser utilizado, simplesmente passar o endereço da pagina, para seguir, curtir, compartilhar e para o restante, possui também outras configurações disponiveis, caso desejar, veja:

Event Start
	//Like Button
	FaceBookControl1.Href = 'https://www.facebook.com/gxusercontrol'
	
	//Share Button
	FaceBookControl2.Href = 'https://www.facebook.com/gxusercontrol'
	
	//Send Button
	FaceBookControl3.Href = 'https://www.facebook.com/gxusercontrol' 
	
	//Embedded Posts
	FaceBookControl4.Href = 'https://www.facebook.com/gxusercontrol/posts/845877678814554' 
	
	//Embedded Videos
	FaceBookControl5.Href = 'https://www.facebook.com/facebook/videos/10153231379946729/' 
	
	//Comments
	FaceBookControl6.Href = 'https://www.facebook.com/gxusercontrol' 
	
	//Page Plugin
	FaceBookControl7.Href = 'https://www.facebook.com/gxusercontrol' 
	
	//Follow Button
	FaceBookControl8.Href = 'https://www.facebook.com/welton.nascimento.33' 
EndEvent

Biometria Digital Control

Biometria Digital Control foi desenvolvido em Applet/JWS, e pode ser executado de qualquer navegador que suportam tecnologia Applet ou JWS, já vem com um exemplo(Xpz em java e C#) funcional de registrar e verificar a biometria de uma determinada pessoa, dá suporte para os softwares biométricos Digital Persona 4500.

BiometriaDigitalControl

Principais características:

1. Registrar Biometria;
2. Verificar Biometria;
3. Pode cadastrar o 1 dedos, para poderem ser verificados(validados) posteriormente;
4. Com suporte  Java Web Start(JWS) para navegadores que não dão suporte a tecnologia Applet.
5. Suporte a Java e C#.

 

Observações:
1. Precisa do Java 64-bit instalado na máquina do cliente, testado e homologado até a ultima versão do JAVA;
2. Foi testado no Windows XP, Windows 7 64-bits.
3. Navegadores 32 e 64-bits. Ex.:  IE,  Firefox e outros que suportam a tecnologia Applet ou JWS.
4. Depende do Software da Biometria estar instalado na máquina do cliente e as Dlls(Vem com o UC) caminho para downloads.
5. Caso o UC esteja sendo executado de um servidor não local, configure o painel de control do java na aba segurança deve ser definida para média no cliente, para o UC acessar os drives da maquina do cliente;
New 6. Configure o servidor da Web para usar o tipo MIME do Java Web Start, Cada servidor da Web possui uma maneira específica de adicionar tipos MIME. Por exemplo, para o servidor da Web Apache, você deve incluir a seguinte linha no arquivo de configuração .mime.types: application/x-java-jnlp-file JNLP.
New 7. No IE o User Control abre embutido no navegador, no fire fox abre um pop-up,  e no chrome baixa o arquivo jnpl ao clicar no arquivo abre o pop-up com a funcionalidade (não abre automático no chrome, por limitação do navegador).
New 8. deve se colocar permissão de leitura e escrita na pasta do User Control no servidor de aplicação.

 

Implementando

Versão 1.0 – Suporte a C#

Versão 3.0 – Suporte a JAVA e C#
BiometriaDigitalImg01

/* UserControl BiometriaDigitalControl Versão 3.0.0 Criado por: Welton J. N. Data:01/03/2018
Obs:Favor editar os seguintes procedimentos: PSetBioDigitalControl,PGetBioDigitalControl para poder gravar no banco de dados, 
PSetBioDigitalControlNJPL gera o aquivo JNLP na pasta do JAR do UC(dar permissão de leitura e escrita).
*/

Event Start
	
	/*Define o Usuário que será Utilizado*/
	&BioId = 1
	BiometriaDigitalControl1.BioLinkFalhou   = ''
	BiometriaDigitalControl1.BioLinkSucesso  = 'http://www.gxusercontrol.com.br/wp/'
EndEvent

Exemplo:

Registrar biometria:

Passo 01- Conectado com o dispositivo aguardando para fazer a leitura da impressão digital

Passo 02 – Efetuando a leitura da impressão digital e armazenando no banco de dados:

Verificar/Validar Biometria:

Passo 01: Validando a digital com uma digital invalida;

 

Passo 02: Validando a digital com uma digital correta o UC irá direncionar o navegador para pagina configurada no mesmo;


			

WebCam Control

 

WebCam Control foi desenvolvido em Flash(2.0) e em HTML5(3.0), e pode ser executado de qualquer navegador, com suporte as tecnologias, tira foto e envia imagem para seu servidor (fazendo upload do arquivo) podendo recortar a imagem, ótimo para cadastro de pessoa ou de produtos entre outras coisas. Já vem com um exemplo de código(xpz) de como pode ser utilizado.

Na Versão 3.0 desenvolvido em HTML 5  com suporte a C#  e JAVA.

 

Versão 3.0

Versão 3.0

Principais característica:

1. Tira foto;
2. Envia foto para o servidor;
3. Executa áudio ao tirar a foto(Somente na versão 2.0 e inferior);
4. Recortar foto;

 

Obs.: Identifica a web cam conectada no seu computador. Na versão 2.0 O arquivo shutter.mp3 que esta dentra da pasta o user control deve ser adicionado também na raiz da pasta web/shutter.mp3. A propriedade DirUploadTemp do UC deve ser configurada com uma pasta no servidor com permissão de leitura e escrita. Versão testada somente em ambiente C#. Na versão 3.0 os navegadores estão exigindo https para ambientes diferentes de localhost, para poder habilitar a webcam como medida de segurança.

 

Implementando

 


VERSÃO 3.0 - HTML 5 Suporte a JAVA e C#, tema não responsivo. Genexus Ev2 e Ev3 e 15. Simples implementação o UC 
retorna a imagem(png) na base64. 


UC_WebCamControl_v3
Event Start
  //Obersavacao: Genexus Ev2 que não vem com referencia Jquery favor adicionar.
  Form.JScriptSrc.Add('Shared/jquery/jquery.js')
  //Genexus Ev1 não suporta.
EndEvent


Event Enter
    //ESTE EVENTO TEM QUE SER DISPARADO DEPOIS DE CAPTURAR A IMAGEM DA WEBCAM
    //&AtributoFileBase64 - LongVarChar - adicione a propriedade
    //&AtributoImgBase64 - LongVarChar - adicione a propriedade
    &Blob.FromBase64String(&AtributoFileBase64)
    &FILE.Source = &Blob
    
    //Salva arquivo na Pasta
    &CaminhoCompletoSave = 'C:\Des\apache-tomcat-7.0.72\webapps\testeuc\temp' + '\imagem01.png'
    &FILE.Copy(&CaminhoCompletoSave)
    Msg('Imagem salva na pasta com sucesso!')
    
    //PEGA O ARQUIVO BLOB E GRAVA NO BANCO        
    //---------IMPLEMENTAR---------  
EndEvent 



VERSÃO 2.0 Suporte a Somente a C# e em Flash Ev1, Ev2 e Ev3 e 15, não responsivo.


Event Start

	WebCamControl1.NomeImgGerada = 'NomeImagem_' + &WEBSESSION.Id.Trim()
EndEvent


Event Enter

	/*ESTE EVENTO TEM QUE SER DISPARADO DEPOIS DE CAPTURAR A IMAGEM DA WEBCAM*/

	IF WebCamControl1.DirUploadTemp = '' Or WebCamControl1.DirUploadTemp = 'WebCamControl'
	  &DIRECTORY.Source = 'WebCamControl'
	  &BASE_CAMINHO = &DIRECTORY.GetAbsoluteName() + '\uploads\'
	ELSE
	  &DIRECTORY.Source = WebCamControl1.DirUploadTemp
	  &BASE_CAMINHO = &DIRECTORY.GetAbsoluteName()
	ENDIF	

	IF &DIRECTORY.Exists()
	  &BASE_CAMINHO = &BASE_CAMINHO + WebCamControl1.NomeImgGerada + '.jpg'
	  &FILE.Source = &BASE_CAMINHO

	  IF &FILE.Exists()
	   //PEGA O ARQUIVO E GRAVA NO BANCO 
	   //---------IMPLEMENTAR---------	  

	   MSG(&BASE_CAMINHO)
	   //DEPOIS DO ARQUIVO SALVO DELETE O ARQUIVO TEMPORARIO

	   //&FILE.Delete()
	  ELSE
	   &MSG = "Erro: Arquivo não exite -> " + &BASE_URL_IMAGEM.Trim()
	   MSG(&MSG)
	  ENDIF
	ELSE
	  &MSG = "Erro: Caminho inválido -> " + &BASE_URL_IMAGEM.Trim()
	  MSG(&MSG)
	ENDIF
	EndEvent
 

Scanner Control

Scanner Control foi desenvolvido em Applet e em JWS, e pode ser executado de qualquer navegador, com suporte a tecnologia Applet ou JWS, já vem com um exemplo (Xpz) funcional de como scannear um ou vários documentos em um único arquivo PDF, podendo salvar na maquina do usuário ou enviar para o servidor, como preferir, e armazenar no banco de dados, utiliza a DLL (jtwain.dll) que reconhecer o Scanner (ou Web Cam) na maquina do usuário, antes de enviar para o servidor tem como visualizar no próprio navegador, bem configurável (Mensagens, Texto dos botões, pastas temporários e etc.) para se ajustar ao seu sistema deixando-o mais moderno.

Scanner Control

Scanner Control

Principais características:

1. Rotina de escaneamento gera arquivos PDF;
2. Escaneamento vai gerar arquivos PDF single-page ou multi-page;
3. Pode escolher o nome dos arquivos e a pasta onde eles devem ser salvos(No cliente e no Servidor);
4. A rotina pode ser executada em uma estação qualquer e o arquivo pdf será enviado para o servidor;
5. Possibilita visualizar o arquivos PDF no navegador;
6. Textos, Botões, Mensagens e pastas parametrizáveis;
7. Vem com um exemplo funcionando em C#.
8. Fonte de dados do escaneamento configuráveis em tempo de execução.

 

Observações:

1. Precisa do Java 32-bit instalado na máquina do cliente;
2. Foi testado no Windows XP, Windows 7 e Windows 10 32-bits e 64-bits.
3. Precisa de um SoftWare de Scanner(ou Web Cam também reconhece) instalado no Cliente e a DLL (jtwain.dll)(Vem com o UC) colocada no Windows/system32, caso o sistema seja 64-bits colocar também na pasta Windows\SysWOW64.
4. Caso o UC esteja sendo executado de um servidor não local, configure o painel de control do java na aba segurança deve ser definida para média no cliente, para o UC acessar os drives da maquina do cliente;
New 5. Configure o servidor da Web para usar o tipo MIME do Java Web Start, Cada servidor da Web possui uma maneira específica de adicionar tipos MIME. Por exemplo, para o servidor da Web Apache, você deve incluir a seguinte linha no arquivo de configuração .mime.types: application/x-java-jnlp-file JNLP.
New 6. No IE o User Control abre embutido no navegador, no fire fox abre um pop-up,  e no chrome baixa o arquivo jnpl ao clicar no arquivo abre o pop-up com a funcionalidade (não abre automático no chrome, por limitação do navegador).
New 7. deve se colocar permissão de leitura e escrita na pasta do User Control no servidor de aplicação.

 [ IMPORTANTE ]  8. No Windows 10 não está funcionando corretamente a DLL de comunicação TWAIN.DLL , estamos verificando mas não temos solução imediata

Implementando

Se for executar em um sistema C# a configuração é a padrão do UC:

Na implementação Somente Editar o Procedimento PSetScannerControl para poder salvar no banco, para salvar no servidor e no cliente a configuração é no próprio UC.

 

IF &MENSAGEM.IsEmpty()
	&MENSAGEM = &MsgEnvioOk // "ARQUIVO ENVIADO COM SUCESSO!"
	//Salvando Arquivo no Servidor o Caminho foi configurado no UC.
	&HTTPREQUEST.ToFile(&CAMINHO_ARQ)
	/*
	//IMPLEMENTAR AQUI PARA SALVAR O ARQUIVO NO BANCO DE DADOS - EXEMPLO

	//FAVOR DESCOMENTAR E COLOCAR OS ATRIBUTOS DE ONDE SERÁ AMARZENADO O ARQUIVO PDF NO BANCO
	    FOR EACH
	        WHERE ScannerId = &ID
	           ScannerDigital = &CAMINHO_ARQ //ATUALIZANDO DOCUMENTO PDF
	    WHEN NONE //INCLUINDO UM NOVO DOCUMENTO PDF
	  NEW
	   ScannerId      = &ID
	   ScannerDigital = &CAMINHO_ARQ
	  WHEN DUPLICATE
	   ScannerDigital = &CAMINHO_ARQ
	  ENDNEW
	    ENDFOR
	//FIM DA IMPLEMENTAÇÃO*/
	ENDIF
	&HTTPRESPONSE.AddString(&MENSAGEM)

Sobre a DLL de comunicação TWAIN.DLL

Atualmente qualquer editor gráfico é capaz de receber dados do scanner insta­lado, graças ao padrão TWAIN. O Windows possui um driver chamado TWAIN source manager, encarregado de fazer a conexão entre programas gráficos e os drivers dos scanners. Todos os programas gráficos modernos são TWAIN compatíveis, assim como ocorre com os scanners. Este padrão faz com que o reconhecimento do scanner pelos programas gráficos seja tão padronizado como é o uso do mouse.

OBS: TWAIN não é abreviatura ou sigla de termo algum. Muitos brincam dizendo que significa “Technology without an interesting name”.

 

Figura 4

Funcionamento do sistema TWAIN.

A figura 4 mostra o funcionamento do sistema TWAIN. O centro de tudo é o TWAIN source manager, indicado como TWAIN.DLL (no Windows 9x/ME existem dois gerenciadores, o TWAIN.DLL e o TWAIN_32.DLL). Progra­mas Twain compatíveis en­viam comandos ao gerenciador TWAIN de uma forma padronizada, pedindo-lhes que seja enviado o arquivo gráfico capturado pelo scanner. A maioria dos editores gráficos modernos possui um co­mando Scan (ou Acquire, ou ainda Capture), obedecendo ao sistema TWAIN. O gerenciador TWAIN, por sua vez, envia comandos padronizados ao driver do dispositivo de entrada apropriado. Não é comum, mas um compu­tador pode ter diversos dispositivos de entrada TWAIN (TWAIN sources), como por exemplo, um scanner e uma câmera digital – como é exemplificado na figura 4. Cada dispositivo de entrada de imagem deve ter o seu próprio TWAIN driver, que é fornecido pelo seu fabricante. O UC Scanner control utiliza deste recurso da DLL para comunicar-se com os dispositivos de Scanner ou webcam instalados no computador do cliente


			

JcropImage Control

O JcropImage Control é um User Control que permite cortar imagem no próprio navegador do cliente e enviar para o servidor, parecido com o que é usado no Facebook, utiliza da biblioteca Jquey(JCrop) para cortar a imagem selecionada. O UC vem com um exemplo de como utilizá-lo, uma maneira simples e dinâmica de recortar fotos no browser.

 

Obs.: A propriedade DirUploadTemp do UC deve ser configurada com uma pasta no servidor com permissão de leitura e escrita. Versão testada somente em ambiente C#, para JAVA terá que ser feitas algumas modificações, prevista para próxima versão.

Implementando

Event Start
	/*A IMAGEM DEVE ESTAR NO SERVIDOR*/
	JcropImageControl1.ImageUrl = Imagem_JcropImageControl.Link() // OU ASSIM: JcropImageControl1.ImageUrl = "Resources/Imagem_JcropImageControl.jpg"
	JcropImageControl1.aspectRatio = '1' // 0 - Corte Livre 1 - Corte Retangular ou Quadrado
	&Imagem.Visible = false
	TblCortarImage.Visible = True
	BtnRefresh.Visible     = False
EndEvent 
 
 
Event Enter
	/*ESTE EVENTO TEM QUE SER DISPARADO DEPOIS DE RECORTAR A IMAGEM*/
	&FILE.Source = &ImagePath
	IF &FILE.Exists()
		//PEGA O ARQUIVO E GRAVA NO BANCO		
		//---------IMPLEMENTAR---------   
		
		//----------
		//MOSTRANDO A IMAGEM CORTADA
		&Imagem.Visible = True
		/*Forçar o Navegador não pegar do Cache*/
		&ImagePath = &ImagePath + '?' + Trim(Str(Random()*1000000)) //Resources/Imagem_JcropImageControl.jpg?121215414
		&Imagem.FromURL(&ImagePath)
		TblCortarImage.Visible = false
		BtnRefresh.Visible     = True
		Msg(&ImagePath)
		//DEPOIS DO ARQUIVO SALVO DELETE O ARQUIVO TEMPORARIO
		//&FILE.Delete()
	ELSE
		&MSG = "Erro: Arquivo não exite -> " + &ImagePath.Trim()
		MSG(&MSG)
	ENDIF 
EndEvent

GxImgResize

GxImgResize

GxImgResize

 

Objeto Externo GxImgResize para Manipular Imagens. Vem com manual e Xpz para facilitar o seu uso.

Notas da versão
1. aumenta a imagem proporcionalmente;
2. diminui a imagem proporcionalmente sem perder a qualidade;

 

Como Instalar:

 

Extrair a DLL em anexo e coloca na pasta web/Bin/

Passo 01 – Extrair a DLL em anexo e coloca na pasta web/Bin/

 

Passo 02 - Indicando Diretorio

Passo 02 – Indicando Diretório

Passo 03 - NEXT

Passo 03 – NEXT

 

Passo 04 - Importando DLL

Passo 04 – Importando DLL

Pronto, você já pode utilizar !

Como utilizar:

Possui os seguintes Métodos:

SalvarResize(string pDiretorioImagemOrigem, string pDiretorioImagemDestino, int pWidth, int pHeight)
-> Redimensionam a imagem em px e reduz o tamanho em kb, ao passar valores nos campos pWidth e pHeight a imagem sera redimensionada de acordo com os valores passados, caso o valor passado seja 0(zero) ira manter as proporções do arquivo original em pixel e reduzira o tamanho em Kb.

Ex.: imagem original Dimensao:1280 X 1024
Tamanho: 1,04MB
&GxImgResize.SalvarResize(“C:\\dois.jpg”, “C:\\dois_gerada.jpg”,350, 350)

o Ex.:

Compactar(string pDiretorioImagemOrigem, string pDiretorioImagemDestino)

-> reduz o tamanho em kb, somente irá manter as proporções do arquivo original em pixel e reduzirá o tamanho em Kb.

Ex.: imagem original Dimensão:1280 X 1024 Tamanho: 1,04MB
&GxImgResize.Compactar(“C:\\dois.jpg”, “C:\\dois_gerada.jpg”)

SalvarResizeMax(string pDiretorioImagemOrigem, string pDiretorioImagemDestino,int pWidth, int pHeight)

redimensionam a imagem em px e reduz o tamanho em kb, somente irá maximizar a imagem, caso for maior que os valores passado então o método irá manter as proporções do arquivo original em pixel e reduzirá o tamanho em Kb.

Ex.: imagem original Dimensão:1280 X 1024
Tamanho: 1,04MB

&GxImgResize.SalvarResizeMax(“C:\\dois.jpg”,”C:\\dois_gerada.jpg”, 3500, 3500)

SalvarResizeMin(string pDiretorioImagemOrigem, string pDiretorioImagemDestino,int pWidth, int pHeight)

Redimensionam a imagem em px e reduz o tamanho em kb, somente irá maximizar a imagem, caso for maior que os valores passado então o método irá manter as proporções do arquivo original em pixel e reduzirá o tamanho em Kb.

Ex.: imagem original Dimensão:1280 X 1024
Tamanho: 1,04MB

 

&GxImgResize.SalvarResizeMin(“C:\\dois.jpg”,”C:\\dois_gerada.jpg”, 350, 350);

CharCountControl

 

 CharCountControl é um User Control que Conta e limita caracteres em campos input e textarea com barra de progresso, a limitação e a barra são configuráveis assim como varias outras propriedades. Já vem com um exemplo (Xpz).

 

CharCount Control

CharCount Control

Principais características:

1. Conta Caracteres;
2. Limita a quantidade máxima de caracteres (configurável);
3. Possui barra de progresso para acompanha a quantidade de caracteres digitada em relação ao total máximo (configurável).

 

Implementando

Muito simples e prático de ser utilizado, simplesmente passar o InternalName da variável do genexus que deseja contar ou limitar a quantidade de caracteres, veja:

Event Start
	CharCountControl1.AtrVarInternalName = &CampoTexteare.InternalName
	CharCountControl2.AtrVarInternalName = &CampoInput.InternalName
EndEvent


Biometria Control

Biometria Control         

Biometria Control foi desenvolvido em Applet, e pode ser executado de qualquer navegador com suporte a tecnologia Applet, já vem com um exemplo(Xpz) funcional de registrar e verificar a biometria de uma determinada pessoa, dá suporte para os softwares biométricos.

 

 

Compatibilidades Fabricantes:

  1. NitGen Hamster DX
  2. Hamster III (FingerTech).

Principais características

  1. Registrar Biometria;
  2. Verificar Biometria;
  3. Pode cadastrar os 10 dedos, para poderem ser verificados(validados) posteriormente;

Versão do GeneXus Suportados:

  • GeneXus Evollution 1 – OK
  • GeneXus Evollution 2 – OK
  • GeneXus Evollution 3 – OK.

Observações:

  1. Precisa do Java 32-bit instalado na máquina do cliente, testado e homologado até a versão Java JRE 7.25;
  2. Foi testado no Windows XP, Windows 7 32-bits e 64-bits.
  3. Somente Navegadores 32-bits que dão suporte a tecnologia Apple. Ex.:  IE,  Firefox e outros.
  4. Depende do Software da Biometria estar instalado na máquina do cliente e as Dlls(Vem com o UC) colocadas no Windows/system32.
  5. Caso o UC esteja sendo executado de um servidor não local, configure o painel de control do java na aba segurança deve ser definida para média no cliente, para o UC acessar os drives da maquina do cliente;

 

Implementando

Versão 2.0 – Suporte a C# e Java:

Para C#: É a configuração padrão que vem no UC, não precisando informar o jar e nem o caminho completo, semelhante a versão 1.0.
Para Java: Deve ser configurado como a figura abaixo, e informar o caminho completo.
Configuração padrão para Java:

 

Versão 1.0 – Suporte a C#: 

	/*
	UserControl BiometriaControl Criado por: Welton J. N. Data:19/09/2013
	Obs:Favor editar os seguintes procedimentos: PSetBioControl,PGetBioControl para poder gravar no banco de dados da sua aplicação;
	*/

	Event Start
	/*Define o Usuário que será Utilizado, pode utilizar do banco de dados ou passando por parâmetro fixo*/
	&BioId = 1
	/* Opcional -> Define as Urls para ser direcionada a pagina, Caso a Biometria seja verdadeira ou falsa*/
	// BiometriaControl1.BioLinkFalhou   = TesteBiometriaFalhou.Link()
	// BiometriaControl1.BioLinkSucesso  = TesteBiometriaSucesso.Link()
	EndEvent	

	Event 'BtnRegistrar'
	BiometriaControl1.BioTipo = "0"
	EndEvent	

	Event 'BtnVerificar'
	BiometriaControl1.BioTipo = "1"
	EndEvent