Criação de sites, softwares e sistemas inteligentes.

Campos com máscaras em IntraWeb com jQuery - parte II Destaque

Extendendo o artigo anterior, preparamos um executável stand-alone Intraweb para demonstração do uso de máscaras, agora com suporte à máscaras para tipos monetários, fazendo uso do plugin jQuery Mask Input Money.

O executável com código fonte pode ser baixado aqui(atualizado em 25/03/2013). Essa demonstração foi criada utilizando Delphi 2005 e IntraWeb 7.2.41 mas também se aplica às demais versões, apenas mantenha a estrutura de pastas para a aplicação funcionar normalmente. Para usar as units numa aplicação ISAPI, verifique as mudanças necessárias na unit CONSTANTES_WEB.

Estude o código fonte e veja que com as units que criamos fica muito fácil fazer uso da biblioteca jQuery. Estamos abertos à sugestões sobre assuntos para os próximos artigos sobre esse incrível framework. Até!

Última modificação emQuarta, 24 Setembro 2014 13:32
CGM

A CGM é uma empresa especializada em desenvolvimento de projetos de informática e sistemas personalizados.

A sólida parceria desenvolvida com seus clientes na última década atestam a vocação da CGM Automação no desenvolvimento de programas específicos com o que é de mais moderno em informática. Nossos profissionais comprovam uma longa experiência profissional, que é compartilhada com cada um de nossos clientes.

Website.: www.cgmautomacao.com.br
Mais nesta categoria: INTRAWEB - RAD para Web »

Comentários  

0 # Wagner Freitas 18-04-2011 23:06
Minha humilde sugestão .... :lol:
Exemplo fazendo uso de upload de multiplos arquivos.
Uso de janelas modais ,como usuário e senha.
Responder | Responder com citação | Citar
0 # Alonso Jr 20-04-2011 01:24
Janelas modais como em uma aplicação desktop são impossíveis de se fazer devido ao funcionamento do protocolo HTTP. No desktop, a aplicação é travada até que o usuário faça uma ação e então o fluxo da rotina continua. Na web, pelo protocolo HTTP ser "stateless", não há controle do lado cliente pela aplicação e nem vice-versa. E além disso, não tem como "travar" o navegador até que haja uma resposta. A única alternativa é usar funções "callback". Farei um artigo e demonstração sobre isso.

Obrigado pelas sugestões!
Responder | Responder com citação | Citar
0 # Wagner Freitas 20-04-2011 11:58
Talvez a palavra "modal" não expressou o eu que queria passar.
Minha sugestão de artigo é um exemplo usando messagebox/dialogs com Jquery.
Responder | Responder com citação | Citar
0 # Edmilson Mattos 05-05-2011 22:00
Gostaria de parabenizar pelo incentivo ao desenvolvimento com IW. A grande dificuldade hoje de quem trabalha com Delphi 2010 e IW em encontrar material principalmente nos tópicos citados abaixo:

Requisições em ajax atualizando apenas um div do Html que foi gerado pelo proprio IW.

Suporte a janelas Modal?(Uma janela(DIV html) sobrepõe a outra e o fundo fica
obscuro).

Herança Visual.

Suporte a Jquery.

Principalmente uma função de calback para retorno de valores de uma janela para outra.

O pessoal sempre usa gambiarra pra esse ultimo tópico, deve ter um jeito mais profissional de fazer isso.
São apenas sugetões de tópicos que nas gogladas, sempre vejo o pessoal perguntando, tanto em forum ingles quanto portugues.
Se postar artigos com esse conteudo a comunidade Delphi ficaria mais forte a cada dia.
Responder | Responder com citação | Citar
0 # Diego 09-09-2011 15:13
Gostaria de saber a melhor forma de trabalhar com templates + CSS no IntraWeb do Delphi 2010. vi que usa no teu exemplo, mas no delphi 2010 não aparece nenhum componente de template. Como você fez???
Responder | Responder com citação | Citar
0 # Administrator 12-09-2011 02:50
Obrigado pelo comentário, Diego. Não uso templates no exemplo. Você pode ver como funciona baixando os demos oficiais da Atozed:

http://www.atozed.com/IntraWeb/Download/IntraWebDemos.EN.aspx

Rode o projeto "features", ele tem uma demonstração sobre o uso de templates em LAYOUT CONTROLS > HTML TEMPLATE.
Responder | Responder com citação | Citar
0 # Junior 18-09-2011 11:28
olá amigo,

baixei o codigo e fiz tudo como estava lá... so q na minha aplicação ISAPI n ta rodando n... porem faço a msm coisa em uma stand alone e roda normal... o q será ?

help !!!
Responder | Responder com citação | Citar
0 # Administrator 29-09-2011 20:43
Olá, Junior, perdão pela demora em responder. Uma coisa muito importante que esqueci de mencionar é que o caminho dos scripts deve ser alterado quando rodar a aplicação em ISAPI.

Na unit CONSTANTES_WEB, concatene o método WebApplication.AppURLBase antes de "/files/scripts".
Responder | Responder com citação | Citar
0 # Administrator 30-09-2011 16:21
Atualizei a unit CONSTANTES_WEB, incluindo uma diretiva para ISAPI.
Responder | Responder com citação | Citar
0 # Alvaro Naves 29-09-2011 20:19
Sobre as máscaras: Observe que funcionam bem, só que :
1- Quando se DIGITA os dados nos componentes com máscara, OK na primeira vez.
2- Quando se ESCREVE via programa nos componentes com máscaras utilizando as formatações padrão do Delphi, OK.
3- Mas APÓS A ESCRITA nos componentes com máscara estas são PERDIDAS. Tente DIGITAR novamente.
Onde seria o local no Intraweb para se RECARREGAR as máscaras ? Esta é uma das formas que pensei, não se se há outra.

Agradeço a ajuda.
Responder | Responder com citação | Citar
0 # Administrator 30-09-2011 12:51
Bom dia, Alvaro. Não consegui reproduzir esse problema. Está acontecendo com o demo que fiz ou com algum aplicativo seu?
Responder | Responder com citação | Citar
0 # Administrator 30-09-2011 16:09
Alvaro, realmente as máscaras não funcionam se tiver definido a propriedade do IWForm "UpdateMode" como "umPartial". Não constatei isso antes porque nunca uso, já que causa diversos problemas. Como perguntado via e-mail, o CSS pode ser definido no ServerController, na propriedade StyleSheet.FileName, como no demo.
Responder | Responder com citação | Citar
0 # Administrator 20-10-2011 11:11
Alvaro, respondendo sua pergunta sobre como usar o ScriptEvents:

para alterar o caption de um component:
IWTop().FindElem('NOMEDOCOMPONENTEEMCAIXAALTA').va lue = 'VALOR'

para chamar uma função JavaScript, jQuery, por exemplo:

javascript:$('#BTNENVIAR').hide();
Responder | Responder com citação | Citar
0 # Alvaro Naves 26-10-2011 15:18
Obrigado Alonso, durante um projeto Intraweb, onde a documentação é pouca, quando tentamos melhorar a qualidade é que vamos percebendo as dificuldades. Aliás como em qualquer ambiente.
Seguindo, estou utilizando o modo UpdateMode como umPartial, caso contrário o número de submits fica insuportável. E Outra coisa, a cada um o form volta ao início obrigando ao usuário a procurar o edit seguinte para a entrada de dados. E aí volto ao problema das máscaras.
Há como configurar este comportamento sem o umPartial ?
Responder | Responder com citação | Citar
0 # RICARDO 04-01-2012 17:10
Tentei de todas as formas mas no meu form não funcionou as mascaras, não sei onde estou errando, uso a versão Delphi XE intraweb standalone, e no meu form não tem a propriedade UPdateMode..., porem fiz conforme manda o figurino... e nada de apresentar as mascaras.

Agradeço se alguem puder ajudar.
Ricardo
Responder | Responder com citação | Citar
0 # Administrator 04-01-2012 19:31
Olá Ricardo. Só um tiro às escuras: verifique se a propriedade AllowSubFolders (no ServerController) está "True".
Responder | Responder com citação | Citar
0 # Ricardo 05-01-2012 01:21
No meu ServerController não existe esta propriedade. Tá complicado.
Responder | Responder com citação | Citar
0 # Administrator 06-01-2012 12:12
Ricardo, descobri o problema. No Intraweb XII você deve retirar "/files" dos caminhos na unit CONSTANTES_WEB. Baixe novamente o ZIP e verifique as mudanças necessárias nesta unit.
Responder | Responder com citação | Citar
0 # Ricardo 06-01-2012 20:09
Alonso, obrigado pela ajuda, mas continua mesma situação, uso Delphi XE com Intraweb XI, no server controller existe algumas opções de FilesDir, InternalFileDir, InternalFileURL, achei que poderia ser isto, mas configurei de todas a formas com ou sem "/Files" e não funcionou....
Responder | Responder com citação | Citar
0 # Administrator 09-01-2012 13:51
Você consegue compilar e rodar o demo que fiz? Se ainda não tentou, tente. Antes de compilar, comente e descomente os códigos indicados na unit "CONSTANTES.PAS".

Ao compilar, ignore todos os erros relacionados a propriedades não existentes.
Responder | Responder com citação | Citar
0 # Ricardo 11-01-2012 04:21
Alonso, obrigado mesmo, olhando no demo, consegui fazer funcionar!! Valeu ! Só que o stilo (Css.css) não conseguir fazer funcionar, nem no meu sistema e nem no seu demo... o que pode ser ?

Obrigado
Responder | Responder com citação | Citar
0 # Jean 13-05-2015 14:36
Ricardo, eu tbm uso Delphi XE e Intraweb XI, mas não consegui fazer funcionar, as mascaras nao aparecem, poderia enviar um demo funcional ?
Obrigado
Responder | Responder com citação | Citar
0 # Jean 14-05-2015 20:21
O segundo demo deu certo, obrigado.
Responder | Responder com citação | Citar
0 # RICARDO 04-01-2012 17:12
Citando Alvaro Naves:
Sobre as máscaras: Observe que funcionam bem, só que :
1- Quando se DIGITA os dados nos componentes com máscara, OK na primeira vez.
2- Quando se ESCREVE via programa nos componentes com máscaras utilizando as formatações padrão do Delphi, OK.
3- Mas APÓS A ESCRITA nos componentes com máscara estas são PERDIDAS. Tente DIGITAR novamente.
Onde seria o local no Intraweb para se RECARREGAR as máscaras ? Esta é uma das formas que pensei, não se se há outra.

Agradeço a ajuda.



No meu teste não aparece nem na primeira vez, uso delphi XE, standalone. Fiz tudo conforme manda o figurino.
att.
Ricardo
Responder | Responder com citação | Citar
0 # Ricardo 22-12-2011 20:18
Alonso, muito interessando o Demo, mudando um pouco o foco do assunto aqui, poderia postar algo no uso de estilo (CSS), percebi que vc usa em seu demo, e ficou muito bom, acho que o CSS deixa o visual do sistema mais profissional. Uso Deplhi XE. Obrigado.
Responder | Responder com citação | Citar
0 # RAFAEL MIRANDA 16-07-2012 13:08
Olá Bom dia,

Fantástico o uso do JQuery no IntraWEB, so não consegui colocar para funcionar em uma aplicação ISAPI, os fontes não reconhece o comando webapplication.URLBase e não consigo compilar.
Responder | Responder com citação | Citar
0 # Administrator 16-07-2012 14:37
Olá Rafael. Eu cometi um erro na Unit CONSTANTES_WEB: esqueci de adicionar a Unit "IWApplication" na cláusula Uses. Faça isso e funcionará. Obrigado pela visita e comentário!
Responder | Responder com citação | Citar
0 # Fred 27-09-2012 17:42
Alonso, muito bom seu artigo.

Estou precisando de uma máscara com valores em reais R$.

Por exemplo: 99999,00, mas que não obrigue o usuário informar exatamente a quantidade de casas. podendo o campo ser 9,99 ou 999,99.

Desde já agradeço a atenção
Responder | Responder com citação | Citar
0 # Administrator 28-09-2012 12:10
Obrigado, Fred. A máscara já funciona exatamente da maneira que você precisa. Baixe o zip com o código fonte e executável disponibilizado neste artigo.
Responder | Responder com citação | Citar
0 # Fred 28-09-2012 15:45
Alonso, Obrigado pela atenção.

Conseguir fazer funcionar com o novo código que baixei.

Porem estou com o seguinte problema, quando coloco para funcionar as mascaras todos os eventos OnAnsync existentes nos objetos do formulário param de funcionar. Tem alguma dica para tentar resolver este problema ?
Responder | Responder com citação | Citar
0 # Fred 28-09-2012 15:51
Alonso,

Sobre a mensagem que acabei de mandar, agora percebi que nenhum botão do form esta funcionando. O que pode ser ?
Responder | Responder com citação | Citar

Adicionar comentário


Código de segurança
Atualizar