Jump to content
Fivewin Brasil

cendon

Membros
  • Posts

    587
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by cendon

  1. Não é VK_MENU If GetKeyState(VK_MENU) // Alt ? "Alt+" // No funciona end é VK_ALT If GetKeyState(VK_ALT) // Alt ? "Alt+" // No funciona end
  2. Boa tarde Everton! Tente assim Eu chamo uma função só, dentro dela eu trato o que eu quero a partir do parametro "PF2" setkey( 113, { | nkey | escrevepf("PF2") } ) Mais uma coisa eu não uso nenhum .ch para setar teclas coloco o codigo da tecla direto a linha de comando está no principo da main() Espero ter ajudado
  3. Eduardo, não sei se vai ajudar mas existe um comando em DOS que poesquisa strings em um arquivo texto. FIND [/V][/C][/N][/i] “string” [<arquivo>...] Mostra ou conta as linhas dos arquivos que contêm o string. /V Mostra as linhas que não contêm o string. /C Mostra o número de ocorrências, sem mostrar as linhas onde foram encontradas. /N Mostra o número de linha relativo. /I Não distingue minúsculas de maiúsculas. FIND /N “MARIANA” B:NOMES.TXT Vê se ajuda Um abraço
  4. Ta no dicas http://fivewin.com.br/index.php?/files/file/1082-manipulador-dbf-e-migra-para-sql/
  5. Dê uma olhada no site da Microsoft: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686234(v=vs.85).aspx
  6. Obrigado pelas dicas a todos, o post não é meu mas já resolveu um problema.
  7. Obrigado a todos. Mais uma vez mestre João deu a solução, so funcionou com Varput() Bão tbm Obrigado novamente, um abraço
  8. Não o que acontece não atualiza a variavel da rotina anterior, mesmo ela public function testesay() //************** inicaliza contador ************** public mcontaa, ocontaa MCONTAa="0000000" DEFINE DIALOG oDlg5 FROM 5, 1 TO 15, 50 ; TITLE "Contador de Registros" FONT oFont; @ 1, 2 SAY "Contador:" OF oDlg5 @ 2, 8 SAY ocontaa VAR mcontaa OF oDlg5 ACTIVATE DIALOG oDlg5 nowait somac() ************************************************ function somac() for i =1 to 10 ************* atualiza contador ************ mcontaa=val(mcontaa)+1 mcontaa=strzero(mcontaa,7) ocontaa:refresh() msgalert("contando: "+mcontaa) ******************************************** next oDlg5:end() return nil
  9. Olá pessoal!! Sexta fim de tarde ninguem merece, ja deveria estar tomando umas, mas vamos lá To com um problema Tenho uma rotina de entrada de dados que funcionava perfeitamente na versão fwh 2.4 porem quando mudei para 6.12 deu o seguinte erro: quando tento atualizar os campos da tela somente são atualizados os campos de get os de say não atualizam, a rotina é simples, tela feita no workshop, mostra alguns gets a alguns say quando clico no botão proximo registro, é feito o skip, carregamento da variavel e refresh(), porem não atualiza os campos que estão com say somente os gets. alguem já passou por isso? Procurei no forum não achei nada parecido. Se alguem puder ajudar. Um abraço
  10. Problema solucionado, a variavel o_conteudo:cText é carregada diferente no fw 6.12, no fw 2.4 ela não concatena a ultima tecla digitada no fw 6.12 ela já vem carregada. Bão tbm
  11. Olá pessoal! Bom dia. Eu uso em meu sistema uma pesquisa incremental desenvolvida pelo Marcelo Gomes, ela sempre funcionou 100% Quando eu migrei do FWH 2.4 para o FWH 6.12 ela passou dar dar um pequeno problema. quando voce digita uma letra ela faz um seek dentro do BDF e posiciona no registro, quando eu mudei a versão do FW ela parou de executar isso, so faz a pesquisa se eu escrever parte das letras para pesquisa e tecla Backspace apagando a ultima letra digitada. estou postando abaixo a rotina se alguem tiver um pouco de tempo e paciencia para me ajudar ficarei grato. um abraço #include "FiveWin.ch"#include "TCBrowse.ch"#include "Image.ch" //+--------------------------------------------------------------------------+ //| Fun‡„o...........: Edit_Arq | //| Descri‡„o........: Efetua uma pesquisa no arquivo | //+--------------------------------------------------------------------------+ //| Criador..........: Marcelo Gomes dos Santos | //| Alterada.........: Ângelo José Ferreira Cendón | //+--------------------------------------------------------------------------+ //| Esta e a funcao principal da Pesquisa, e aqui que ela automaticamente | //| monta a tela o browse e executa as procuras incrementais, mas ela e mista| //| pois se o campo nao tiver um indice ela passa a fazer a procura atraves | //| de um DO WHILE. | //| Esta funcao recebe como parametro uma matriz com as seguintes colunas: | //| | //| | //| { Nome do Campo, Tipo do Campo, Tamanho, Decimal, Descricao, Picture, | //| Justifica, Indice } | //| | //| Ex: | //| | //| { "desc_uf" , "C", 30, 0, "Descri‡Æo", "@!" , .F., 2 } | //+--------------------------------------------------------------------------+ Function edit_arq Parameters m_campos Local m_indice := IndexOrd() Local m_reg := Recno() Local i public m_retor_no := .F. dbGoTop() m_items := {} m_fields := "" m_headers := "" m_justify := {} For i := 1 To Len( m_campos ) aAdd( m_items, OemToAnsi( m_campos[i][5] ) ) m_fields += "TransForm(" + m_campos[i][1] + ",'" + m_campos[i][6] + "'),"m_headers += "'" + OemToAnsi( m_campos[i][5] ) + "'," aAdd( m_justify, m_campos[i][7] ) Next m_fields := SubStr( m_fields, 1, Len( m_fields ) - 1 ) m_headers := "{" + SubStr( m_headers, 1, Len( m_headers ) - 1 ) + "}" Define Dialog o_janela Resource "PESQUISA" Set Font Of o_janela To oFont m_trecho := 1 m_campo := m_items[1] m_conteudo := "" RedeFine ComboBox o_campo Var m_campo Items m_items Id 106 Of o_janela ; On Change pesqy( "TROCA_DE_CAMPO", m_indice ) RedeFine Radio o_trecho Var m_trecho Id 102, 103 Of o_janela ; On Change pesqy( "TROCA_DE_CAMPO", m_indice ) RedeFine Get o_conteudo Var m_conteudo Id 107 Of o_janela ; On Change pesqy( "FOCA_EDIT",nKey) REDEFINE BTNBMP o_procura resource "procura" ID 104 Of o_janela ; Action pesqy( "PROCURA" ) REDEFINE BTNBMP o_continua resource "continua" ID 105 Of o_janela ; Action pesqy( "CONTINUA" ) REDEFINE BTNBMP o_ok resource "ok" ID 108 Of o_janela ; Action ( pesqy( "OK" ), m_retor_no := .T. ) REDEFINE BTNBMP o_cancela resource "cancelar" ID 109 Of o_janela ; Action ( pesqy( "CANCELA" ), m_retor_no := .F. ) RedeFine ListBox o_browse Fields &m_fields Id 110 Of o_janela ; On Change pesqy( "FOCA_EDIT" ) Color CLR_BLACK, CLR_WHITE o_browse:aHeaders := &m_headers o_browse:aJustify := m_justify o_browse:bKeyChar := { |nKey| If( nKey == VK_RETURN, ( m_retor_no := .T., pesqy( "OK" ) ), ) } o_browse:bLDBlClick := { || ( m_retor_no := .T., pesqy( "OK" ) ) } Activate Dialog o_janela Centered On Init pesqy( "TROCA_DE_CAMPO" ) Release oIcoPsq If m_retor_no == .F. dbGoto( m_reg ) EndIf Return( m_retor_no ) *------------------------------------------------------------------------------* Procedure pesqy Parameters m_acao, m_ind_tecla, par_nada Local m_numreg If Upper( m_acao ) == "TROCA_DE_CAMPO" Do Case Case m_campos[o_campo:nAt][2] == "C" o_conteudo:cText( Space( m_campos[o_campo:nAt][3] ) ) o_conteudo:oGet:Picture := "@!" Case m_campos[o_campo:nAt][2] == "N" o_conteudo:cText( Val( Stuff( Repl( "0", m_campos[o_campo:nAt][3] ), m_campos[o_campo:nAt][3] - m_campos[o_campo:nAt][4], 1, "." ) ) ) Case m_campos[o_campo:nAt][2] == "D" o_conteudo:cText( CtoD("") ) Case m_campos[o_campo:nAt][2] == "L" o_conteudo:cText( .F. ) EndCase If m_campos[o_campo:nAt][8] # 0 .And. m_trecho == 1 o_procura:Disable() o_conteudo:bChange := { | m_tecla | pesqy( "SEEK", m_tecla ) } dbSetOrder( m_campos[o_campo:nAt][8] ) Else o_procura:Enable() o_conteudo:bChange := NIL dbSetOrder( m_ind_tecla ) EndIf o_continua:Disable() o_browse:GoTop() o_browse:UpStable() o_browse:Refresh() ELseIf Upper( m_acao ) == "PROCURA" .Or. Upper( m_acao ) == "CONTINUA" m_numreg := Recno() If Upper( m_acao ) == "PROCURA" dbGoTop() Else dbSkip() EndIf If m_trecho == 1 If m_campos[o_campo:nAt][2] # "N" CursorWait() While ! SubStr( &( m_campos[o_campo:nAt][1] ) , 1, Len( AllTrim( m_conteudo ) ) ) == AllTrim( m_conteudo ) .And. ! Eof() dbSkip() End CursorArrow() Else CursorWait() While ! SubStr( AllTrim( Str( &( m_campos[o_campo:nAt][1] ) ) ), 1, Len( AllTrim( Str( m_conteudo ) ) ) ) == AllTrim( Str( m_conteudo ) ) .And. ! Eof() dbSkip() End CursorArrow() EndIf Else If m_campos[o_campo:nAt][2] # "N" CursorWait() While ! AllTrim( m_conteudo ) $ &( m_campos[o_campo:nAt][1] ) .And. ! Eof() dbSkip() End CursorArrow() Else CursorWait() While ! AllTrim( Str( m_conteudo ) ) $ Str( &( m_campos[o_campo:nAt][1] ) ) .And. ! Eof() dbSkip() End CursorArrow() EndIf EndIf If ! Eof() o_continua:Enable() Else dbGoto( m_numreg ) o_continua:Disable() EndIf o_browse:UpStable() o_browse:Refresh() ElseIf Upper( m_acao ) == "SEEK" If dbSeek( SubStr( o_conteudo:cText, 1, o_conteudo:nPos - 1 ) + If( m_ind_tecla >= 32, Upper( Chr( m_ind_tecla ) ), "" ), .T. ) o_browse:Refresh() EndIf ElseIf Upper( m_acao ) == "OK" .Or. Upper( m_acao ) == "CANCELA" o_janela:End() EndIf If ! ( Upper( m_acao ) == "OK" .Or. Upper( m_acao ) == "CANCELA" .Or. Upper( m_acao ) # "TROCA_DE_CAMPO" ) o_conteudo:SetFocus() EndIf if m_ind_tecla=13 m_retor_no := .T. o_janela:End() endif Return
  12. Obrigado Everton! Funcionou 100% era mesmo a versão do xharbour que não estava compativel Um abraço
  13. Boa tarde Everton, infelizmente não consegui baixar com o endereço que o João me passou, os links foram removidos (versão dezembro 2006) Se vc puder me enviar por e-mail ficarei muito grato Angelo.cendon@ig.com.br cendon.angelo@gmail.com cendon.angelo@hotmail.com Obrigado
  14. Olá pessoal! Alguem sabe onde posso baixar o xharbour compatível com a versão free do FWH 6.12 Tentei a versão xharbour 1.2.1 simplex mas não consegui executar, o programa compila, linkedita, na hora da execução ele executa mas não mostra nada, o exe fica nas tarefas mas não mostra nada na tela, e só sai no ctrl-alt-del. Estou achando que é a versão do xharbour ou melhor o release da versão Para constar recompilei a lib fivewh.lib com o harbopur novo, mas não adiantou se alguém puder ajudar. Um abraço atodos
  15. Joao, novamente obrigado pela colaboração, realmente estava usando uma versão diferente da preparada para o fwh 6.12 Todos os programas foram compilados ok e linkados ok, porem não executa, e não da nenhum erro, só não executa. gerei um pequeno programa e compilei, linkei ai executou normal. O sistema rodava normalmente em fwh 2.4 Alguem já passou por isso? Agradeco qualquer ajuda. Um abraço
  16. Boa tarde pessoal Estou com um problema, troquei a versão do FWH (6.12), depois de muita surra, consegui copilar e linkar todos os programas, quando já estava pra soltar os foguetes, eis que acontece o problema: Erro na hora da execução: unrecoverable error 9000 A tela de erro está anexa Alguem tem alguma solução? Obrigado
  17. Obrigado João, Pra comprar tenho que justificar, mas pode ter certeza que se funcionar o 6.12 eu vou cair matando para o pessoal atualizar. Vou testar com as libs que vc relacionou. Um abraço
  18. Diminuiu os erros, Faltava LIB, HBSIX.LIB mas continua a saga Turbo Incremental Link 5.00 Copyright © 1997, 2000 Borland Error: Unresolved external '_HB_PCREPOS_LIBRARY' referenced from C:\XHARBOUR\LIB\RTL.LIB|regex Error: Unresolved external '_HB_FUN_DBFFPT' referenced from C:\XHARBOUR\LIB\RDD.LIB|rddsys Error: Unresolved external '_hb_stack' referenced from C:\FWH\LIB\FIVEHC.LIB|HARBOURC Error: Unresolved external '_hb_set' referenced from C:\FWH\LIB\FIVEHC.LIB|MSGS Imagino agora que faltem outras libs
  19. Bom dia Joao, obrigado pelas respostas. Resolvi trocar a versão que eu estava usando, baixei a 6.12 (free), estou tomando um pouco de surra, mas paciencia pelo que eu li, esta versão é bem mais estavel que a 2.4. recompilei os programas porem esta dando alguns erros na Linkedição Turbo Incremental Link 5.00 Copyright © 1997, 2000 Borland Error: Unresolved external '_hb_sxDeCrypt' referenced from C:\XHARBOUR\LIB\RDD.LIB|dbf1 Error: Unresolved external '_hb_sxPtoD' referenced from C:\XHARBOUR\LIB\RDD.LIB|dbf1 Error: Unresolved external '_hb_sxEnCrypt' referenced from C:\XHARBOUR\LIB\RDD.LIB|dbf1 Error: Unresolved external '_hb_sxDtoP' referenced from C:\XHARBOUR\LIB\RDD.LIB|dbf1 Error: Unresolved external '_HB_PCREPOS_LIBRARY' referenced from C:\XHARBOUR\LIB\RTL.LIB|regex Error: Unresolved external '_HB_FUN_DBFFPT' referenced from C:\XHARBOUR\LIB\RDD.LIB|rddsys Error: Unresolved external '_hb_stack' referenced from C:\FWH\LIB\FIVEHC.LIB|HARBOURC Error: Unresolved external '_hb_set' referenced from C:\FWH\LIB\FIVEHC.LIB|MSGS Alguem poderia ajudar, isso é problema com aversão do Borland C? Estou usando: xHarbour 1.2.3.9918 Fivewin 6.1 BCC55 4.12.210.10 Obrigado
  20. Bom dia Yuri, Harbour 2.4, Link: BCC55
  21. Bom dia senhores, faz algum tempo que não venho aqui no fórum, mas estou com um pequeno problema, que talvez vcs possam ajudar. Fiz a conversão de um sistema que estava em Clipper para o FW, tudo funciona as mil maravilhas,porem estou com um grande problema com os índices (CDX). Eles estão corrompendo com muita frequência, tipo 10 vezes por dia, verifiquei a minha lib DBFCDX e o tamanho dela é 50k, verifiquei a lib que eu tinha no Clipper e ela tem 102K, troquei as libs porem ao “Linkar†ele dá um erro: Turbo Incremental Link 5.00 Copyright © 1997, 2000 Borland Fatal: Access violation. Link terminated. Alguém já passou por algum problema parecido? Se eu trocar para outro tipo de tabela de índices, tipo MDX, melhora? Um abraço
  22. SET FIXED OFF Para de arredondar SET FIXED ON Volta a arredondar, segundo o parâmetro SET DECIMALS [NUMERO DE CASAS DECIMAIS] o valor default do SET DECIMALS é 2
  23. Da uma olhada neste site: http://www.solvusoft.com/pt-br/file-extensions/file-extension-gdb/
  24. Relação de erros DOS Número Descrição do Erros 1 Invalid function number (Número de função inválida) 2 File not found (Arquivo não encontrado) 3 Path not found (Path não encontrado) 4 Too many open files (no handles left( Muitos arquivos abertos)) 5 Access denied (Acesso negado) 6 Invalid handles (Manipulação indevida) 7 Memory control blocks destroyed (Blocos de controle de memória destruídos) 8 Insufficient memory (Memória insuficiente) 9 Invalid memory block address (Endereço de bloco de memória inválido) 10 Invalid environment (Ambiente inválido) 11 Invalid format (Formato inválido) 12 Invalid access cod (Código de acesso inválido) 13 Invalid data (Dados inválidos) 14 Reserved (Reservado) 15 Invalid drive was specified (Drive inválido foi especificado) 16 Attempt to remove the current directory (Tentativa de remoção da diretoria atual) 17 Not same device (Dispositivo diferente) 18 Not more files (Não existem mais arquivos ) 19 Attempt to write on write-protected diskette (Tentativa de gravação em disco protegido) 20 Unknown unit (Unidade desconhecida) 21 Drive not ready (Drive não pronto) 22 Unknown command (Comando desconhecido) 23 Data error (CRC) (Erro de dados (CRC)) 24 Bad request structure lenght (Solicitação incorreta(Structure Length)) 25 Seek error (Erro de SEEK) 26 Unknown media type (Tipo de mídia desconhecida) 27 Sector not found (Setor não encontrado) 28 Printer out of paper (Impressora sem papel) 29 Write fault (Falha de gravação) 30 Read fault (Falha de leitura) 31 General failure (Falha geral) 32 Sharing violation ( Erro de partilhamento) 33 Lock violation (Erro de lock) 34 Invalid disk change (Troca de disco inválida) 35 FCB unavailable (FCB não disponível) 36 Sharing buffer overflow (Compartilhamento de buffer esgotado) 37-49 Reserved (Mensagens reservadas) 50 Network request not supported (Requisição de rede não suportada) 51 Remote computer not listening (Sem resposta do computador remoto) 52 Duplicate name on network (Nome dulpicado na rede) 53 Network name not found (Nome de rede não encontrado) 54 Network busy (Rede ocupada) 55 Network device no longer exists (Dispositivo de rede não existe mais) 56 Network bios command limit exceeded (Problemas com os bios (em rede)) 57 Network adapter harware error (Problema com o hardware da rede) 58 Incorret response from network (Resposta incorreta da rede) 59 Unexpected network error (Erro de rede inesperado) 60 Incompatible remote adapter (Adaptador remoto incompatível) 61 Print queue full (Fila de impressão cheia) 62 Not enought space for print file (Não existe espaço para o arquivo de impressão) 63 Print file deleted (not enought space (Arquivo de impressão deletado por falta de espaço)) 64 Network name deleted (Nome de rede deletado) 65 Access denied (Acesso negado) 66 Network device type incorrect (Tipo de dispositivo de rede incorreto) 67 Network name not found (Nome de rede não encontrado) 68 Network name limit exceeded (Limite do nome de rede excedido) 69 Network bios session limit exceeded (Limite de sessão causado pela bios) 70 Temporality paused (Temporariamente interrompido) 71 Network request not accepted (Requisição da rede não aceita) 72 Print or disk redirection paused (Impressão ou redirecionamento interrompido) 73-79 Reserved (Mensagens reservadas) 80 File already exists (Arquivo existe) 81 Reserved (Reservado) 82 Cannot make directory entry (Impossível executar) 83 Fail on INT 24H (Falha na interrupção INT 24H) 84 Too many redirections (Excesso de redirecionamento) 85 Duplicate redirections (Redirecionamento duplicado) 86 Invalid password (Senha inválida) 87 Invalid parameter (Parâmetro inválido) 88 Network device fault (Falha de dispositivo da rede) Abençoados sejam os pessimistas, eles fizeram backups!! Angelo Cendon cendon.angelo@gmail.com Belo Horizonte-MG Fivewin 2.4 - Harbour 0,38 - @ l,c Workshop
×
×
  • Create New...