Jump to content
Fivewin Brasil

Jmsilva

Membros
  • Posts

    718
  • Joined

  • Last visited

  • Days Won

    14

Everything posted by Jmsilva

  1. A Epson, tem uma que eu uso que é excelente. Uma empresa que dou suporte pedi para não comprar mais a Daruma. Só que no meu caso o sistema aceita QQ impressora que estiver instalado no Windows, por tanto não usa Dll. A Daruma dá um trabalho na instalação no Windows. Mas funciona.
  2. Pelo que entendi bcc 5.8.2 é uma versão Free da Borland, deve ter a versão paga. Agora as versões Embarcadero é Free mas para uso com finalidade não comercial.... Será que isso procede?
  3. Olá pessoal! Sempre que tem um update xHarbour, é disponibilizado versões para o Embarcadero que atualmente está versão 7.4. Porém é disponibilizado uma versão atualizada do xHarbour para BCC 5.8.2. (penso que seria uma versão antiga ???) Gostaria de saber as diferenças técnicas ou qualquer outra informação que possa contribuir para uma tomada de decisão. Até mesmo para saber qual a melhor opção? Se é que tem ? Obrigado!
  4. 157 Segment is discarded.158 Segment is not locked.159 Invalid thread-identity address.160 Invalid environment pointer.161 Invalid path name passed to exec.162 Signal already pending.163 Error with INT 24 mapping.164 No more process slots.165 Error with INT 24 mapping.166 Default redirection return code.167 Locking failed.168 Swap I/O failed.169 Swap in failed.170 Segment is busy.171-172 Reserved.173 A lock request is not outstanding for the specified file range, or the range length is zero. Trata-se de uma Path, inválida! Substituir destino por uma Path real. Aparentemente um bug em relação aos comandos anteriores.
  5. * Funcao de pesquisa sensitiva no xBrowse com Array LOCAL nPalavra:= "*"+UPPER(ALLTRIM(Digitado))+"*" //aqui if Empty(Digitado) If hb_isobject(oBrw) oBrw:Gotop() endif Return .T. endif if LastKey() == 127 // se foi pressionado backspace If hb_isobject(oBrw) oBrw:Skip(-1) endif Return .T. endif nPos := ASCAN(A_Array_Pesquisa_Clientes ,{|X| WildMatch(nPalavra,X)}) //aqui IF nPos > 0 oLbx1:nArrayAt:= nPos ENDIF oLbx1:Refresh() oLbx1:Update() RETURN .T.
  6. Poderia usar ORDWILDSEEK(), deve ficar legal.
  7. Sim este é da FW é show, mas o do xHarbour além de fazer igual tem mais finalidades. é o TokenUpper(Lower(cString),,1) ou TokenUpper(Lower(cString)) ...
  8. Olá boa noite! pode ser feito n conexões com mesmo banco web ou local ou bancos diferentes. Veja o exemplo da própria SQLRDD, a função SR_SetActiveConnection( nCnn1 ) é a responsável por ativar a conexão desejada, a partir dela pode ser feito o CRUD via cmd sql ou via função do xHarbour DBAPPEND() #include "sqlrdd.ch" ? nCnn1 := SR_AddConnection( CONNECT_MYSQL, cConnString1 ) // 1 ? nCnn2 := SR_AddConnection( CONNECT_FIREBIRD, cConnString2 ) // 2 ? SR_GetActiveConnection() // 2 ? SR_SetActiveConnection( nCnn1 ) // 2 (valor anterior) ? SR_GetActiveConnection() // 1 ? SR_SetActiveConnection( 3 ) // -1 (conexão inválida) Caso estiver com uma conexão ativa e deseja abrir uma tabela em outra conexão, poderá também setar a conexão desejada na prápria função DBuSEArea(), veja help Syntax ( [<lNewArea>] , ; [<cRddName>] , ; <cDatabase> , ; [<cAlias>] , ; [<lShared>] , ; [<lReadonly>] , ; [<cCodePage>] , ; [<nConnection>] ) --> NIL Arguments <cCodePage> This is a character string specifying the code page to use for character strings stored in the database. It defaults to the return value of HB_SetCodePage(). <nConnection> This parameter specifies a numeric server connection handle. It is returned by a server connection function which establishes a connection to a database server, such as SR_AddConnection() of the Sugiro verificar a documentação da SQLRDD, para uso de demais funções que trabalha com parâmetro nCon opcional, mas no caso de mais de uma conexão o ideal seria utilizar este parâmetro. Caso necessite pode me contactar via email saa50@bol.com.br, que terei o prazer em ajudá-lo. abraços
  9. Seria isso que vc precisa ? **========================================================== Function DadosdaMaquina() **========================================================== LOCAL oDatos, oSrv, oJob, i,cCorpo LOCAL nFree:= "" LOCAL oLoc:= CreateObject( "wbemScripting.SwbemLocator" ) LOCAL objWMI:= oLoc:ConnectServer() LOCAL oSistema:= objWMI:ExecQuery("Select * from Win32_PhysicalMedia") LOCAL oDisco:= objWMI:ExecQuery("Select * from Win32_LogicalDisk") LOCAL oParti:= objWMI:ExecQuery("Select * from CIM_DiskPartition") LOCAL oDisket:= objWMI:ExecQuery("Select * From Win32_LogicalDisk Where DeviceID = ‘A:’") LOCAL objUnd:= objWMI:ExecQuery("Select * from Win32_MappedLogicalDisk") LOCAL oUnd:= objWMI:ExecQuery("Select * from Win32_CDROMDrive") LOCAL oResolu:= objWMI:ExecQuery("Select * from Win32_DesktopMonitor") LOCAL oSistem:= objWMI:ExecQuery("Select * from Win32_OperatingSystem") LOCAL oUsers:= objWMI:ExecQuery("Select * from Win32_Account") LOCAL oServ:= objWMI:ExecQuery("Select * from Win32_Service Where Name = ‘Themes’") LOCAL oTime:= objWMI:ExecQuery("Select * from Win32_LocalTime") LOCAL oProc:= objWMI:ExecQuery("Select * from Win32_Processor") LOCAL oJbs:= objWMI:ExecQuery("SELECT Product, SerialNumber FROM Win32_BaseBoard") LOCAL oIpSet:= objWMI:ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE") LOCAL oList := objWMI:ExecQuery("Select * from Win32_ComputerSystem") //oDlgRun:cMsg:="Captura de Dados da Maquina Local …";oDlgRun:Refresh() //Return(Nil) objWMI:= oLoc:ConnectServer() oJbs := objWMI:ExecQuery( "select * from Win32_BaseBoard" ) //oSrv:ExecQuery( "SELECT * FROM Win32_BaseBoard" ) cCorpo:="Alguns dados da Maquina :"+CRLF FOR Each oDatos In oSistema cCorpo+="Serial de fabrica: " + ALLTRIM(cValToChar(oDatos:SerialNumber))+CRLF NEXT FOR Each oDatos In oDisco cCorpo+="Unidade: " + ALLTRIM(cValToChar(oDatos:Name)) + "\ Serial: " + ALLTRIM(cValToChar(oDatos:VolumeSerialNumber))+CRLF NEXT FOR Each oDatos in oParti cCorpo+="Partição: "+ALLTRIM(cValToChar(oDatos:Name)) + " – Tamanho: " +ALLTRIM(cValToChar(oDatos:Size)) + " Em: " + ALLTRIM(cValToChar(oDatos:SystemName)) + " – Tipo: " + ALLTRIM(cValToChar(oDatos:TYPE))+CRLF NEXT FOR Each oDatos in oDisket nFree:= oDatos:FreeSpace IF VALTYPE(nFree) = "U" cCorpo+="Não Existe um Drive de Disquete na Unidade A:\"+CRLF ELSE cCorpo+="Existe um Drive de Disquete na Unidade A:\"+CRLF ENDIF NEXT FOR Each oDatos In objUnd cCorpo+="Unidade Mapeada|Dispositivo ID: " + oDatos:DeviceID +" Nome: " + oDatos:Name +" Espaço Livre: " + cValtoChar(oDatos:FreeSpace) + " Tamanho: " + cValtoChar(oDatos:Size)+CRLF NEXT FOR Each oDatos in oUnd cCorpo+="Unidade de Cd\Dvd : " + oDatos:Drive + " " + "Nome: " + oDatos:Caption+CRLF NEXT FOR Each oDatos in oResolu cCorpo+="Resolução:"+cValToChar(oDatos:ScreenWidth)+" x "+cValToChar(oDatos:ScreenHeight)+CRLF NEXT FOR Each oDatos in oUsers cCorpo+="Usuarios:"+cValToChar(oDatos:Name) + " – " + cValToChar(oDatos:Caption)+CRLF NEXT FOR EACH oDatos IN oProc cCorpo+="Nome do Processador :"+Alltrim(cValtoChar(oDatos:Name))+CRLF cCorpo+="Velocidade Atual:"+Alltrim(cValtoChar(oDatos:CurrentClockSpeed)) + " Mghz"+CRLF cCorpo+="Velocidade Maxima:"+Alltrim(cValtoChar(oDatos:MaxClockSpeed)) + " Mghz"+CRLF NEXT FOR EACH oDatos IN oJbs cCorpo+="Tipo da Placa Mãe: "+Alltrim(cValtoChar(oDatos:Product))+CRLF cCorpo+="Numero de Serie da Placa Mãe:"+Alltrim(cValtoChar(oDatos:SerialNumber))+CRLF NEXT FOR EACH oDatos IN oIpSet cCorpo+="Endereço de Ip: " + Alltrim(cValtoChar(oDatos:IPAddress(0)))+CRLF cCorpo+="MacAdress: " + Alltrim(cValtoChar(oDatos:IPAddress(1)))+CRLF NEXT FOR EACH oDatos IN oList If oDatos:PartOfDomain cCorpo+="Dominio: " + oDatos:Domain+CRLF Else cCorpo+="Grupo de Trabalho: " + oDatos:Domain+CRLF EndIf Next Return cCorpo
  10. http://forums.fivetechsupport.com/viewtopic.php?f=3&t=37020&start=0 Parece muito promissor e interessante...se acessar Oracle e MSSQL ficará melhor ainda.
  11. Sugestão, porque vc não usa um dbf temporário em memória, mesmo efeito de array e é muito mais simples para trabalhar. Consulte a função Hb_DbCreateTemp(). No fórum tem vários exemplos.
  12. https://harbour.wiki/index.asp?page=PublicArticles&mode=show&id=190207000911&sig=1052597288 Os prós e contras das linguagens !
  13. Para o que eu quero, não fica legal! já testei! Valeu!
  14. Para a classe TMultiGet, tem como fazer algo parecido com dica do @ADutheil para classe TGet?
  15. https://drive.google.com/open?id=1KGQA9M1wN5xH2Uj55Nik_xU9sCPql7WL
  16. Aferra, quanto a chave, vc faz cadastro com email do gmail e obtém uma chave, só há cobrança a partir de um certo número de de acesso. Quanto a pegar valores de uma API do Google para gravar em banco ou processamento em xharbour, eu criava um arquivo txt com Api Google em seguida eu fazia a leitura xHarbour (alimentando uma variável) e eliminava o arquivo txt. Segue linhas de implementação em javascript para criar arquivo txt, com resultados da API do Google e recuperá-las no (x)Harbour. No caso aponto resultado do Google. var oFSO = new ActiveXObject("Scripting.FileSystemObject"); var txt = oFSO.CreateTextFile("'+cFILE+'", true); txt.WriteLine(aponto); txt.Close();
  17. @ADutheil, É exatamente o que preciso! Funcionou corretamente! Obrigado! abraço!
  18. Olá Pessoal, por acaso alguém sabe como mudar a cor da fonte do @Get, quando clausula WHEN for igual a .F., por padrão ela vem cinza claro! Resumo: Mudar a cor da letra para get desabilitado. JMSILVA xHarbour/FWH 17.05 Caraguatatuba/SP
  19. Acredito que implementando um timer com refresh, resolverá esta dormência do browser. Blz
  20. Tem demo para baixar e testar, fiz o teste parece legal, usa uma lib e uma dll no projeto, mas o preço está salgado.
  21. Dica para consulta e testes de comandos SQL https://www.w3schools.com/sql/sql_null_values.asp JMSILVA- Caraguá/SP
  22. Jovem, tenho um sistema console que o mouse funciona perfeitamente em todas as versões do Windows, atualmente uso windows 10. Não tem nenhum segredo, apenas tenho as tuplas abaixo no início do sistema "Ambiente de configuração" SET(_SET_EVENTMASK,INKEY_ALL) //habilita o uso mouse MSETCURSOR(.T.) blz
  23. Apenas para registro, caso alguém tenha interesse! O que estava precisando na realidade e não sabia, era o seguinte: Eu teria criar na minha DLL uma "String Table" , uma tabela interna que possui ID e VALUE, Exemplo: id=12000 VALUE="Harbour". No prg recupero o conteúdo através da função LoadString() Msgstop(LoadString(GetResources(),12000) //resultado "Harbour" #FikaaDika" Valeu!
  24. Ribeiro, faço assim funciona perfeitamente: oCol := oBrw[2]:AddCol() //1º COLUNA oCol:cHeader := "" oCol:AddResource("RC_MENUNO" ) oCol:AddResource("RC_YESBLU" ) oCol:AddResource("RC_MENUYES" ) oCol:bBmpData :={|| CHQ->BMP} //Valor aqui e 1,2 ou 3 conforme e carregado select ADD COLUMN TO oBrw[2] DATA CHQ->DTCAD HEADER "Cadastro" SIZE 80; PICTURE "@E" TAG IDX01 CENTER ADD COLUMN TO oBrw[2] DATA CHQ->BANCO HEADER "Bco" SIZE 40 CENTER ADD COLUMN TO oBrw[2] DATA CHQ->CHEQUE HEADER "Cheque" SIZE 60 CENTER ADD COLUMN TO oBrw[2] DATA CHQ->VALOR HEADER "Valor" SIZE 90 PICTURE "@E" CENTER .rc RC_YESBLU BITMAP pwd\yes4.bmp RC_MENUYES BITMAP pwd\yes3.bmp RC_MENUNO BITMAP pwd\no3.bmp JMSilva - Caraguá/SP
  25. Kapiaba! Sempre prestativo, valeu a dica ! Exatamente isto que precisava! oBtn:lCancel := .t., não havia ainda sido apresentado a esta propriedade do btn Obrigado!
×
×
  • Create New...