terça-feira, 26 de julho de 2016

Curso WinDev - Datas - 013 - StringToDate








Video Youtube


Nessa aula vou ensinar como transformar texto em data

This class will teach how to turn text date

Cette classe vous apprendra comment transformer la date de texte
 

http://doc.windev.com/en-US/?3027013&name=stringtodate_function
http://doc.pcsoft.fr/fr-FR/?3027013&name=chaineversdate_fonction

Blog - WinDev - Curso Datas - 001/... - Diferença entre Datas - Duração
Blog - WinDev - Curso Datas - 002/... - Data - Função Dia da Semana - DateToDay
Blog - WinDev - Curso Datas - 003/... - Transformar Data Texto em Data Date
Blog - WinDev - Curso Datas - 004/... - Transformar Data Date em Texto
Blog - WinDev - Curso Datas - 005/... - Date em Texto - "2016-02-15T12:10:00-3:00" - DateToString
Blog - WinDev - Curso Datas - 006/... - Diferença entre Datas - DateDifference
Blog - WinDev - Curso Datas - 007/... - Saber o Ultimo Dia do Mes - LastDaOfMonth
Blog - WinDev - Curso Datas - 008/... - Mostra idade - Age
Blog - WinDev - Curso Datas - 009/... - Mes e Ano Corrente - CurrentMonth/CurrentYear
Blog - WinDev - Curso Datas - 010/... - Texto em Data - DateToString
Blog - WinDev - Curso Datas - 011/... - Inteiro Para Data - IntegerToDate
Blog - WinDev - Curso Datas - 012/... - Pegar Hora - Now
Blog - WinDev - Curso Datas - 013/... - Texto Para Data - StringtoDate


//Transforma Texto em Data // Transforms Text Data // Transforme données texte

EDT_Date=StringToDate("12-25-2001","MM-DD-YYYY")

//Frances
EDT_Date=ChaîneVersDate("12-25-2001","MM-DD-YYYY")
















































segunda-feira, 25 de julho de 2016

WX - Exemplo de uso dos comandos: httpcreateform, httpaddparameter, httpsendform, httpgetresult



http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/1533-exemplo-uso-dos-comandos-httpcreateform-httpaddparameter-httpsendform-httpgetresult/read.awp



Prezados,





Segue Exemplo de uso dos comandos: httpcreateform, httpaddparameter, httpsendform, httpgetresult:






Obs. Para descobrir o nome a ser usado no Form Virtual para as requisições de http. Use o Chrome visualizando o codigo http ou o firefox inspecionando o codigo http da pagina que deseja executar comandos.





















































Example: HTTPCreateForm / HTTPSendForm / HTTPRequest
//Example

//Identify the screen field name of html code

sPostParameter is string = "name = Adriano"

IF HTTPRequest("www.mysite.com", "", "", sPostParameter) = True THEN
Info("Request OK, result:", HTMLToText(HTTPGetResult(httpResult)))
END

HTTPCreateForm("FORM")
HTTPAddParameter("FORM", "name", "Adriano")

IF HTTPSendForm("FORM","www.mysite.com" ) = True THEN
Info("Request OK, result:", HTMLToText(HTTPGetResult(httpResult)))
END




ENVIAR UM ARQUIVO
HTTPCreateForm("FORM")
HTTPAddParameter("FORM", "Price", "3400")
HTTPAddFile("FORM", "Photo", "C:\Temp\MyPhoto.BMP")
...
HTTPSendForm("FORM", "www.mysite.com")




Assim é possível simplesmente usar sites que não possuem webservice e poder requisitar dados e recuperar informações, sem ter que abrir o site e fazer tudo em background. Recurso super interessante para extrair de sites como Sintegra, Receita Federal e outros sites que possuem formulários de dados. E assim fazer um preenchimento através de dados buscados em sites em seus sistemas.

Muito obrigado pelo exemplo Marcelo Santos.

:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Message modifié, 24 juillet 2016 - 16:48

REQUISITOS BÁSICOS PARA UM WEBSERVICE SOAP OU REST:

[19:19:02] Adriano Boller: REQUISITOS BÁSICOS PARA UM WEBSERVICE SOAP OU REST:

- Instalar e Configurar o IIS ou Apache

- Instalar e configurar o WAS reserved ou a versão FULL

- Configurar o Firewall

- Configurar o antivírus para aceitar os programas e drivers em execução como seguros

- Verificar as portas se nao estao sendo usadas por outros programas

- Instalar o banco de dados exemplo hfsql ou mysql... (mssqlserver, oracle, db2, as/400 sao drivers nativos pagos)

- Instalar o gerenciador de banco de dados SGDB, Center Hfsql ou phpmyadmin, workbank...

- Instalar o Driver Nativo, exemplo MySql da pcsoft

- Instalar o Noip ou contratar um IP Fixo ou um host server Windows ou Linux com acesso as configurações e execução de comandos e deixar o WAS rodando

- roteador da internet, criar o alias da porta :8081 para quando usar o endereço dns do seu noip ou do seu ip fixo seja roteado para o seu servidor no ip da classe C tipo 192.168.1.100 e o IIS ou Apache abra a sua página ou o seu webservice SOAP ou REST de qualquer lugar do planeta.
[19:19:27 | Editado 19:19:34] Adriano Boller: Algo mais pessoal?


Webservice - Exemplo serviço RestFULL com o mobile.



[16:22:07] Fábio Alexandre Silveira: Pessoal, com a rotina abaixo consegui consumir  o serviço RestFULL com o mobile.


//Retorno ao Httprequest
ResCode     is Buffer
lstlotLocal    is ResultLoteLocal//Minha class 

//Dados de Envio
sHttpQuery     is string

//Minha Variaveis POST
sSistema    is string ="999999"
sAssinatura    is string = "xyxyxyxyxyxyxyxyxyxyyxxyyxyxy"
sUnidade    is string = "999"

//Dados de user
bufBUser    is Buffer = "MyUser"
bufBPassword   is Buffer = "XYXYXYXYXYXYXYYXYXYXYX"
//
bufSAuthenticacaoBasc is Buffer =  Crypt(StringBuild("%1:%2",bufBUser,bufBPassword), "", cryptNone    )


//Varialvel para armazenar dados do codigo de contagem e codigo do local
sCodContange   is string
sCodLocal    is string

//Limpa o looper
LooperDeleteAll(LOOP_LOTESCONTAGEM)

//Cria o formulário de envio
HTTPCreateForm("FORM")
HTTPAddParameter( "FORM","sistema",sSistema)
HTTPAddParameter( "FORM","assinatura",sAssinatura)
HTTPAddParameter( "FORM","unidade,",sUnidade)

IF NoSpace( EDT_CODLOTE)="" THEN
 //GET para a lista de lotes. Para o caso, onde o usuário não informou contagem e local

 //API
 sHttpQuery = URLEncode(StringBuild ("https://Seu _dominio:sua_porta/Sua API?sistema=%1&assinatura=%2&unidade=%3",sSistema,sAssinatura,sUnidade)) 

ELSE
 sCodContange = ExtractString(EDT_CODLOTE,1,"-",FromBeginning)
 sCodLocal = ExtractString(EDT_CODLOTE,2,"-",FromBeginning)
 IF sCodLocal = EOT OR sCodLocal="" THEN
  Info("Favor informar código do local")
  RETURN
 END

 HTTPAddParameter( "FORM","Parametro_1",sCodContange)
 HTTPAddParameter( "FORM","Parametro_1",sCodLocal)
 //API
 sHttpQuery = URLEncode( StringBuild( "https://Seu _dominio:sua_porta/Sua_API?sistema=%1&assinatura=%2&unidade=%3&contagem=%4&local=%5",sSistema,sAssinatura,sUnidade,sCodContange,sCodLocal))
END

//Authentica requsição
<COMPILE IF ConfigurationType=Android OR ConfigurationType=iOS>
 HTTP.IgnoreError =httpIgnoreInvalidCertificateName
<END>


//POST
ResStart is boolean = HTTPSendForm("FORM","Sua_Dominio",httpPost,"","Authorization: Basic" + bufSAuthenticacaoBasc   ,"application/json")

//GET
ResStart = HTTPSendForm("FORM",sHttpQuery,httpGet,"","Authorization: Basic " + bufSAuthenticacaoBasc  ,"application/json")




IF ResStart = True THEN
 //Resgata o valor da consulta
 ResCode= HTTPGetResult()
 
 IF ResCode <> "" THEN
  //Desserializao json na classe LotesLocais  
  Deserialize(lstlotLocal,ResCode,psdJSON)
 
  //Carrega o controle looper 
  FOR i = 1 TO ArrayCount(lstlotLocal.lista)
   LooperAddLine(LOOP_LOTESCONTAGEM,lstlotLocal.lista[i].idContagem,lstlotLocal.lista[i].descricaoLocal,lstlotLocal.lista[i].qtdNiveis,lstlotLocal.lista[i].qtdEndereco,lstlotLocal.lista[i].qtdProdutos)
  END
 ELSE
  Info("Registro não encontrado!")
  <COMPILE IF ConfigurationType=Android>
   SetFocus(EDT_CODLOTE)
  <END>
 END
 //Envia mensagem de erro
 Error(ErrorInfo(errFullDetails ))
END


CASE EXCEPTION:
Error( ExceptionInfo(errFullDetails))
[16:22:22] Fábio Alexandre Silveira: Espero que ajude.

Teste

Teste
teste