-
Posts
3,036 -
Joined
-
Last visited
-
Days Won
34
Everything posted by gilmer
-
Bom Dia, Você precisa aumentar o tempo no my.ini na documentação do mariadb tem informações, procure por wait_timeout.
-
-
Bom Dia a todos! Minha modesta opinião, é que não tem mais linguagem soberana como antigamente. É necessário saber analisar onde será usado e qual é a melhor tecnologia a ser aplicado, claro que isto olhando o seguimento que sua empresa de software trabalha, atualmente aqui usamos: - FiveWin; - Mod_Harbour (pouca coisa, integração webservice, mas preparando o back-end da nossa aplicação principal ); - PHP (E seus diversos frameworks); - WinDev para aplicações Android/IOs (já abandonei, altamente produtivo, porem, muito engessado e falta de qualidade final); - Flutter (Qualidade muito melhor que WinDev e multiplataforma também); - Linguagem C para integrações necessárias hoje (é! ela sobrevive! ); - PureBasic ( Para criação de DLLs de forma muito rápida). - Etc.. Infelizmente dependendo do seguimento é necessário abrir espaço para novos conhecimentos. Sempre deve iniciar em uma nova tecnologia desenvolvendo uma aplicação MVP para uma analise melhor. Então meu amigo Valdir! eu com meus 54 anos continuo aprendendo e pesquisando. Inclusive hoje participo de mentorias para aprender a gerir uma empresa de software de forma melhor e vai por mim! sempre temos que algo para aprender também em gestão , então é mais uma questão de perfil de cada pessoa, que tem cede de aprender não para nem com 80 anos, se começou uma vez, consegue mais vezes se for necessário kkkk Abraços
-
Boa Tarde, Este exemplo não tem mais funcionalidade, o whatsapp mudou toda api. Existe a api oficial e outras no mercado.]
-
Boa Tarde, Estaremos verificando. Obrigado
-
Boa Tarde, www.shipay.com.br
-
Bom Dia, Basta usar o controle normal no Pelles e usar o mesmo no redefine SPINNER MIN 00 MAX 24 ; ON UP GetStep( aGet[ 1 ], 1 ) ; ON DOWN GetStep( aGet[ 1 ], - 1 ) ;
-
Tem a versão DLL, onde pode ser declarado seus recursos pela Dll32 Function ou funções de DLL do [x]harbour
-
Bom Tarde, Cada ttf de código de barras tem suas instruções de como utilizar, necessário verificar a documentação do fornecedor.
-
Alexandre, Muito poucas pessoas migraram seu sistema para 64 bits, até por conta das DLLs não poderem ser 32 bits.
-
Bom Dia, Respondido!
-
Segue meu e-mail gilmer@fivewin.com.br
-
Bom Dia O Windev Mobile é muito produtivo. E recursos mais avançados tem o flutter
-
Você utilizou o instalador da flexdocs ? Se não, tente com ele.
-
Saber o numero da Coluna clicada no Header do TXBrowse
gilmer replied to marcioe's topic in Programação
Bom Dia Verifique bLClickHeader da TXBrwColumn -> ( nMRow, nMCol, nFlags, Self -- Parâmetros automáticos ) oCol:bLClickHeader := { |nMRow, nMCol, nFlags, oCol| SeuTratamento() } -
Bom Dia, Seu get não é tipo data ? por padrão ele não deixa digitar uma data inválida
-
Boa Tarde, Você usou a versão com instalador? após a instalação tentou reiniciar a máquina ?
-
Uma solução é o ngrok https://ngrok.com/
-
Marca, veja se eles tem projeto pronto em postman ou faça funcionar em postman que eu te mostro uma forma de fazer mais fácil.
-
Feito! se acharem mais alguma coisa é só avisar!
-
Boa Tarde Se você quer validar o Get, use oGet:lValid(). Caso queira simular envie em sendmessag simulando um enter
-
Boa Tarde, Você pode mandar com mais casas decimais, acredito que a classe não ira fazer distinção.
-
Bom Dia, Segue abaixo arrumado #pragma BEGINDUMP #include <Windows.h> #include <hbapi.h> #ifndef DEF_LIBCRC_CHECKSUM_H #define DEF_LIBCRC_CHECKSUM_H #define CRC_POLY_CCITT 0x1021 #define CRC_START_CCITT_FFFF 0xFFFF uint16_t crc_ccitt_ffff( const unsigned char *input_str, size_t num_bytes ); #endif // DEF_LIBCRC_CHECKSUM_H static uint16_t crc_ccitt_generic( const unsigned char *input_str, size_t num_bytes, uint16_t start_value ); static void init_crcccitt_tab( void ); static BOOL crc_tabccitt_init = FALSE; static uint16_t crc_tabccitt[256]; static BOOL crc_tab_init = FALSE; static uint16_t crc_tab[256]; /* * uint16_t crc_ccitt_ffff( const unsigned char *input_str, size_t num_bytes ); * * The function crc_ccitt_ffff() performs a one-pass calculation of the CCITT * CRC for a byte string that has been passed as a parameter. The initial value * 0xffff is used for the CRC. */ uint16_t crc_ccitt_ffff( const unsigned char *input_str, size_t num_bytes ) { return crc_ccitt_generic( input_str, num_bytes, CRC_START_CCITT_FFFF ); } /* crc_ccitt_ffff */ /* * static uint16_t crc_ccitt_generic( const unsigned char *input_str, size_t num_bytes, uint16_t start_value ); * * The function crc_ccitt_generic() is a generic implementation of the CCITT * algorithm for a one-pass calculation of the CRC for a byte string. The * function accepts an initial start value for the crc. */ static uint16_t crc_ccitt_generic( const unsigned char *input_str, size_t num_bytes, uint16_t start_value ) { uint16_t crc; uint16_t tmp; uint16_t short_c; const unsigned char *ptr; size_t a; if ( ! crc_tabccitt_init ) init_crcccitt_tab(); crc = start_value; ptr = input_str; if ( ptr != NULL ) for (a=0; a<num_bytes; a++) { short_c = 0x00ff & (unsigned short) *ptr; tmp = (crc >> 8) ^ short_c; crc = (crc << 8) ^ crc_tabccitt[tmp]; ptr++; } return crc; } /* crc_ccitt_generic */ /* * static void init_crcccitt_tab( void ); * * For optimal performance, the routine to calculate the CRC-CCITT uses a * lookup table with pre-compiled values that can be directly applied in the * XOR action. This table is created at the first call of the function by the * init_crcccitt_tab() routine. */ static void init_crcccitt_tab( void ) { uint16_t i; uint16_t j; uint16_t crc; uint16_t c; for (i=0; i<256; i++) { crc = 0; c = i << 8; for (j=0; j<8; j++) { if ( (crc ^ c) & 0x8000 ) crc = ( crc << 1 ) ^ CRC_POLY_CCITT; else crc = crc << 1; c = c << 1; } crc_tabccitt = crc; } crc_tabccitt_init = TRUE; } // ======================================================================== HB_FUNC( C_EMTCRC_CCITT_FFFF ) // cText --> nTextCRC { hb_retnl( crc_ccitt_ffff( ( unsigned char * ) hb_parc( 1 ), hb_parclen( 1 ) ) ); } #pragma ENDDUMP