Jump to content
uniGUI Discussion Forums

BrunoNoe

Members
  • Content Count

    39
  • Joined

  • Last visited

Community Reputation

1 Neutral

About BrunoNoe

  • Rank
    Newbie

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. BrunoNoe

    ACBR CNPJ Erro

    Por nada Abraço
  2. BrunoNoe

    ACBR CNPJ Erro

    Nao consegui resolver com a ACBR, na epoca uma pessoa me falou que usava um site e que atendia ele, testei e funcionou pra mim, e é gratis dependendo do numero de consultas, a minha é minima. Site: https://www.receitaws.com.br/ Vou colocar o codigo que usei no botao para te ajudar. Usar os componentes (tem no delphi) TRestRequest, TRestClient, TRestResponse Criar o record TCNPJ TCNPJ = record Razao: string; Fantasia: string; Endereco: string; Numero: string; Complemento: string; Bairro: string; Cidade: string; UF: string; CEP: string; EndEletronico: string; Telefone: string; end; procedure TFrmEmpresaManutencao.spdCNPJClick(Sender: TObject); var Url, cCnpj: string; lErro: boolean; mCNPJ: TCNPJ; begin if Empty(dbCNPJ.Text) then begin MensagemShow('CNPJ não pode estar vazio!!'); dbCNPJ.SetFocus; exit; end; cCnpj := SubstituirStrTodos(dbCNPJ.Text,'.',''); cCnpj := SubstituirStrTodos(cCNPJ,'/',''); cCnpj := SubstituirStrTodos(cCNPJ,'-',''); Url := 'https://www.receitaws.com.br/v1/cnpj/' + cCnpj; restClienteCNPJ.BaseURL := Url; restClienteCNPJ.ContentType := 'application/json'; restResponseCNPJ.ContentType := 'application/json'; RESTRequestCNPJ.Params.Clear; RestResponseCNPJ.ResetToDefaults; RestRequestCNPJ.Method := rmGet; lErro := false; try RestRequestCNPJ.Execute; except lErro := true; end; if lErro then begin MensagemShow('Erro ao buscar CNPJ, tente novamente mais tarde ou confirme se o CNPJ foi digitado corretamente.'); exit; end else begin mCNPJ := RetornoDadosCNPJ(RESTResponseCNPJ.JSONText); dtm.fdqEmpresaManutNOME.AsString := mCNPJ.Fantasia; dtm.fdqEmpresaManutENDERECO.AsString := mCNPJ.Endereco; dtm.fdqEmpresaManutNUMERO.AsString := mCNPJ.Numero; dtm.fdqEmpresaManutCOMPLEMENTO.AsString := mCNPJ.Complemento; dtm.fdqEmpresaManutBAIRRO.AsString := mCNPJ.Bairro; dtm.fdqEmpresaManutCIDADE.AsString := mCNPJ.Cidade; dtm.fdqEmpresaManutUF.AsString := mCNPJ.UF; dtm.fdqEmpresaManutCEP.AsString := mCNPJ.CEP; dtm.fdqEmpresaManutEMAIL.AsString := mCNPJ.EndEletronico; dtm.fdqEmpresaManutTELEFONE.AsString := mCNPJ.Telefone; end; end; // Função que ira retornar os dados function RetornoDadosCNPJ(cJson: string): TCNPJ; var i: integer; cAux: string; begin // mCNPJ é um TMemo que coloquei pra trazer as informações FrmPrinc.mCNPJ.Lines.Clear; FrmPrinc.mCNPJ.Lines.Text := cJson; result.Razao := ''; result.Fantasia := ''; result.Endereco := ''; result.Numero := ''; result.Complemento := ''; result.Bairro := ''; result.Cidade := ''; result.UF := ''; result.CEP := ''; result.EndEletronico := ''; result.Telefone := ''; for I := 0 to FrmPrinc.mCNPJ.Lines.Count -1 do begin cAux := trim(FrmPrinc.mCNPJ.Lines); if pos('"nome"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'nome:'); result.Razao := cAux; end else if pos('"fantasia"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'fantasia:'); result.Fantasia := cAux; end else if pos('"logradouro"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'logradouro:'); result.Endereco := cAux; end else if pos('"numero"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'numero:'); result.Numero := cAux; end else if pos('"complemento"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'complemento:'); result.Complemento := cAux; end else if pos('"bairro"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'bairro:'); result.Bairro := cAux; end else if pos('"municipio"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'municipio:'); result.Cidade := cAux; end else if pos('"uf"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'uf:'); result.UF := cAux; end else if pos('"cep"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'cep:'); cAux := SubstituiStr(cAux,'.',''); cAux := SubstituiStr(cAux,'-',''); result.CEP := cAux; end else if pos('"email"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'email:'); result.EndEletronico := cAux; end else if pos('"telefone"',cAux) > 0 then begin cAux := DadoCNPJ(cAux,'telefone:'); result.Telefone := cAux; end; end; end; // função que fiz so pra facilitar a tirada das informações de todas as tags (telefone, razao, etc) function DadoCNPJ(cTexto, cTirar: string): string; var cAux: string; begin cAux := SubstituirStrTodos(cTexto,'"',''); cAux := SubstituiStr(cAux,cTirar,''); cAux := copy(cAux,1,length(cAux)-1); result := TrimAll(cAux); // "complemento": "APT 03", // assim que vem as respostas, tiro o titulo, as aspas, e retorno so o resultado que quero end;
  3. BrunoNoe

    WebBrowser Firemonkey Unigui

    Obrigado pela ajuda Milko Entao, no meu form do unigui ja tem um scroll, com todos os edits dentro de um container (cada edit em um container pra fazer essa subida do scroll). Nao havia funcionado chamando do app, coloquei entao no meu projeto do firemonkey android um scroll e nele o webbrowser e tambem nao adiantou. Como havia colocado o webbrowser como client, pensei em mudar pra custom pra ver se funcionaria mas tambem nao deu. O que me incomoda é na url direto no chrome funcionar sem problema nenhum, mas no aplicativo chamando ela nao funciona Meu delphi é o Berlin (nao havia avisado antes e nao sei se faria alguma diferença rs).
  4. BrunoNoe

    WebBrowser Firemonkey Unigui

    Bom dia, acabei envolvido em outros projetos e tive que dar uma pausa no unigui, voltei a testar a versao demo dele e me veio um problema. Unigui funcionando nos browser é uma excelente alternativa, mas no futuro o projeto da minha empresa necessita que qualquer pessoa possa entrar no programa pra fazer um chamado. Como muitos são pessoas mais simples, precisamos de algo mais simples para eles encontrarem a ferramenta, pensamos em usar um aplicativo. Fiz uma tela com alguns edits e criei no firemonkey uma tela apenas com um WebBrowser chamando minha url pra ver se realmente é uma ideia viavel. Os edits que estão mais embaixo, quando clico neles, abre o teclado e o mesmo sobrepoe os edits. Se eu abrir minha url em qualquer navegador ele eleva normalmente os edits pra poder visualizar, mas no webbrowser no firemonkey isso nao foi feito. Eu vi aqui que muitos falaram que estao usando dessa forma, alguem teve esse mesmo problema e conseguiu resolver? *Erro que visualizei em celular android
  5. BrunoNoe

    ACBR CNPJ Erro

    Bom dia, estou com dificuldade em fazer funcionar a busca do CNPJ com o unigui. Unigui é a versao demo, rodando no servidor da amazon. Erro quando busca o captcha. Retorna "socket error 10091 ssl/tls support is not compiled" Como no meu computador local funciona, imaginei q fosse alguma dll, fiz um programa em VCL so pra fazer a busca do cnpj e coloquei no servidor pra testar e corrigi as dll ate fazer funcionar. Mas no meu programa em Unigui, coloquei na mesma pasta as dll, mas ele continua me retornando esse erro, teria q fazer mais alguma configuração? Coloquei no System32 e SysWOW64 tambem pra ver se era isso e nada.
  6. BrunoNoe

    Variaveis Globais

    Bom dia, tive o mesmo problema a pouco tempo, pra resolver tive que usar dessa forma: (O cadastro das variaveis globais é no MainModule mesmo) private UsuUsuario: string; UsuNome: string; UsuGeral: Boolean; { Private declarations } public property oUsuarioUsuario: string read UsuUsuario write UsuUsuario; property oUsuarioNome: string read UsuNome write UsuNome; property oUsuarioGeral: Boolean read UsuGeral write UsuGeral; { Public declarations } end; *oUsuarioUsuario, oUsuarioNome, oUsuarioGeral são os nomes das variaveis que serão escrita nos outros formularios. *Com esse metodo eu so tive problema com uso de array, não consegui fazer funcionar e como estava com pressa fiz de outra forma quando era array. *Como ia ter q escrever variavel por variavel no public, acabei eliminando o record e usando as variaveis separadas mesmo, o oUsuario era o meu record rsrs. Espero q te ajude.
  7. BrunoNoe

    Usuarios Sessao

    Resolvido, coloquei todas as variaveis globais no MainModule e passou a funcionar sem problemas.
  8. BrunoNoe

    Usuarios Sessao

    Boa noite, fiz um CRUD de teste na versao demo do Unigui e coloquei o usuario do jeito que faço no VCL, com privilegios do que ele tem acesso no programa e quais itens ele vai ver. Quando entro esta tudo ok, se outra pessoa logar no sistema, o sistema anterior que estava aberto pega as configurações do novo usuario que entrou. Existe alguma configuração pra ele nao fazer isso? A conexao esta no MainModule. As tabelas estao no DataModule. As variaveis globais que utilizo para identificar os usuarios estao no Main. Uso firebird.
  9. BrunoNoe

    UniSpeedButton onExit

    Bom dia, testando o unigui Demo vi que o UniSpeedButton não ignora o onExit dos edits igual ele faz no VCL, alguem sabe alguma maneira que posso tratar isso para ignorar? Testei de varias formas, incluindo testando com o focused no speedbutton mas nenhuma forma funcionou.
  10. BrunoNoe

    UniSpeedButton onExit

    Hello, I made a simple CRUD to test the unigui Demo. I put a UniSpeedButton for the Cancel button. It does not work the same in VCL, where the onExit of the edit is ignored. Is there any way I can put in the edit that has the onExit to ignore when I click that specific button? I could not check with focused, does not work. Can someone help me handle this somehow? Olá, fiz um CRUD simples para testar o unigui Demo. Coloquei um UniSpeedButton pro botão de Cancelar. Ele não funciona igual no VCL, onde é ignorado o onExit do edit. Existe alguma forma que posso colocar no edit que tem o onExit para ignorar quando clicar nesse botão especifico? Não consegui verificar com focused, nao funciona. Alguém pode me ajudar a tratar isso de alguma forma?
  11. BrunoNoe

    Rename URL

    Thank you, regards
  12. BrunoNoe

    Rename URL

    Studying Unigui Demo I had these two doubts, if anyone can help me. I know that unigui works with the concept of a page only, but is it possible for each form or frame of my form to rename the url to open as if it were different pages, at least of that impression? In google when searching for something that has in my site even if it is in some form other than the main one, would it show the result? Estudando o Unigui Demo tive essas duas duvidas, se alguem puder me ajudar. Sei que o unigui trabalha com o conceito de uma pagina apenas, mas é possivel cada form ou frame do meu formulario renomear a url pra abrir como se fosse paginas diferentes, pelo menos da essa impressao? No google quando pesquisar algo que tem em meu site mesmo que seja em algum form diferente do principal, ele mostraria o resultado?
  13. BrunoNoe

    Question about UniSpeedButton

    Hello, I have the same problem, did you solve it?
  14. BrunoNoe

    Nome Pagina

    Bom dia, sei que o unigui trabalha com o conceito de uma pagina apenas, mas é possivel cada form ou frame do meu formulario renomear a url pra abrir como se fosse paginas diferentes, pelo menos da essa impressao? No google quando pesquisar algo que tem em meu site mesmo que seja em algum form diferente do principal, ele mostraria o resultado?
  15. BrunoNoe

    Server Web

    Hi, it turned out that it was the Amazon server port that was not released. Thank you very much
×