Jump to content
Fivewin Brasil

wmsoft

Membros
  • Posts

    502
  • Joined

  • Last visited

Posts posted by wmsoft

  1. Ariston tentei mas não dá retorno, deixa eu colocar aqui a declaração e como passo o mesmo:

    //Forma de Pagamento NFCe
    DLL32 FUNCTION BmFormaPagtoNFCe( descBandeira AS STRING,;
    valorForma   AS STRING,;
    CNPJCrede  AS STRING,;
    bandeira AS STRING,;
    CodAuto AS STRING,;
    CodIntegra AS STRING ) AS LONG PASCAL ;
    FROM "Bematech_FI_EfetuaFormaPagamentoNFCeEx"    LIB xDll


                 nRet      := BmFormaPagtoNFCe("Cartao Credito",;
                                                         "108,90",;
                                                         "",;
                                                        "01",;
                                                        "",;
                                                        "1")

    Testes manuais e ele sempre retorna vazio como se não tivesse funcionado 

  2. Boa tarde,

    Estou usando precisando de uma ajuda da comunidade, alguém aqui tem alguma rotina de leitura para os arquivos de retorno (boleto bancário) para Caixa Econômica Federal? Sem uso do cobrebemx, pois estou tendo problemas quando usado em sistemas cujo sistema operacional é 64 bits.

    Se possível enviar para o email wmsoft@hotmail.com ou publicar aqui vou ler durante a semana.

    Grato,

    Washington

  3. Bom dia,

    Estou com uma pequena dificuldade, usando a classe TdosPrn fiz um teste e consigo executar normalmente a impressão normal e condensada, porem não consegui usar expandido.

    No Preview aparece vários caracteres especiais para expandido e não vai, vou postar como fiz os testes.

    cTxtFile := CurDrive()+":\"+GetCurDir()+"\TESTE.PRN"
    DEFINE FONT oFont2 NAME "SysTahoma" SIZE nil,-50 BOLD ITALIC
    oPrn := TDosPrn():New( cTxtFile, .T. )
    //oPrn := TPrinter():New( cTxtFile, .T. )
    oPrn:StartPage()
    //PRINT oPrn NAME "Testing the printer object from FiveWin" PREVIEW
    //nClrText := CLR_BLACK
    //oPrn:lZeraBfr:=.t. // Inibe o Pulo da Página
    //oPrn:ImpUSB:=.t.
    LINHA:= 1

    oPrn:Command("15")
    oPrn:Say( LINHA++,00, "[COMPRIMIDO] TEXTO" )

    //oPrn:Command("27","69")
    oPrn:Say( LINHA++, 00, CHR(14)+"[EXPANDIDO] TEXTO"+CHR(18) )
    //oPrn:Say( LINHA++,00, chr(27)+chr(69)+ "[EXPANDIDO] TEXTO" )

    oPrn:Command("27","18")
    oPrn:Say( LINHA++,00, "[NORMAL] TEXTO" )



    oPrn:EndPage()
    oPrn:End()
    SetMTxtPreview( .f., 5, 2, .t., .f. )
    TxtPreview( cTxtFile, cTitulo, .t. ,,,,,, .f. )

    Qualquer ajuda é mais que bem vinda.

  4. Bom dia, tb me coloco a disposição, acho que um trabalho em equipe ajudaria sim, mas acredito que primeiro passo é definir um dicionário de dados para que todos falem a mesma lingua e acho que tentar iniciar o projeto do zero mesmo seja usado algo já feito seria interessante redefinir ao dicionário de dados.

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

  5. Pessoal estou ficando azuado aqui porque não esto conseguindo gerar a remessa, Abaixo postei o fonte. Deixa eu explicar como ocorre aqui, é uma associação de pescadores os associados vão pegar seus boletos durante o dia, no final do dia a associação envia um arquivo remessa com todos os boletos que foram emitidos, o estranho que o boleto ele está gerando certinho.

    FUNCTION CBXRemessa()

    local oVenDl, oSay, MyDb, oPess, lESC:= .F.

    local lSave := .f.

    local nOldRec := RecNo(), nTotDesc:=0

    LOCAL OBMP, oFont1, oFnt2, oFont4, oFnt5, oFont6

    local oCBX, oBoleto, aGeticon_smile_8ball.gif

    PRIVATE oBrw, aParc:= {}

    IF ! UsrFree(CliIncl)

    RETURN NIL

    ENDIF

    CheckDados()

    if !oEMBOLETOS

    MsgAlert("Modulo de Boleto Bancário não está ativo no sistema.","Atenção")

    Return Nil

    endif

    CursorWait()

    use_arq("BOLETO","BOLETO",.t.,.t.)

    use_arq("REMESSA","REMESSA",.t.,.t.)

    SELECT BOLETO

    BOLETO->(DBSETORDER(1))

    BOLETO->(DBGOTOP())

    oData := Date()

    nQteBai := 0

    nTotal := 0

    While ! BOLETO->( EOF() )

    if BOLETO->BOLSITU = "N"

    nQteBai++

    nTotal+=BOLETO->BOLVALOR

    aadd(aParc,({BOLETO->BOLCOD,;

    BOLETO->BOLDATA,;

    BOLETO->BOLVENC,;

    BOLETO->BOLVALOR,;

    BOLETO->BOLCONTR,;

    BOLETO->BOLNOME,;

    BOLETO->BOLOBS,;

    Alltrim(BOLETO->BOLCBAR)}))

    endif

    BOLETO->( DbSkip() )

    End

    If Len(aParc) = 0

    MsgAlert("Não existem boletos processados para geração de remessa no momento","Atenção")

    dbcloseall()

    Return Nil

    endif

    DEFINE FONT oFon1 NAME "Courier New" SIZE 0, -10 OF oVenDl

    DEFINE FONT oFon2 NAME "Courier New" SIZE 0, -9 OF oVenDl

    DEFINE FONT oFon3 NAME "Courier New" SIZE 0, -14 OF oVenDl

    DEFINE FONT oFon4 NAME "Courier New" SIZE 0, -22 BOLD OF oVenDl

    DEFINE FONT oFon5 NAME "Courier New" SIZE 0, -19 BOLD OF oVenDl

    DEFINE FONT oFon6 NAME "Courier New" SIZE 0, -15 BOLD OF oVenDl

    DEFINE FONT oFntLis NAME "Courier New" SIZE 0, -11

    DEFINE DIALOG oVenDl RESOURCE "REMESSA"

    // Apresentando as BOLETO abertas no browse

    REDEFINE LISTBOX oBrw ;

    FIELDS Strzero(aParc[oBrw],11),;

    TRANS(aParc[oBrw],"@D"),;

    TRANS(aParc[oBrw],"@D"),;

    TRANS(aParc[oBrw],"@E 999,999.99"),;

    aParc[oBrw],;

    aParc[oBrw];

    FIELDSIZES 80,80,50 ;

    HEADERS "Documento","Emissão","Vencimento"," Valor","Contrato","Nome" ;

    UPDATE COLORS BrwText, BrwBack ;

    ID 100 OF oVenDl

    oBrw:cAlias := NIL

    oBrw:SetArray(aParc)

    oBrw:nLineStyle:=4 //Linha pontilhada

    oBrw:lCellStyle:=.F.//trabalhar em linha

    oBrw:SetFont(oFntLis)

    oBrw:bGoTop := {|| oBrw:nat := 1 }

    oBrw:bGoBottom := {|| oBrw:nat := Eval( oBrw:bLogicLen ) }

    oBrw:bSkip := { | nWant, nDo | ;

    nDo := Min( Max( nWant, 1 - oBrw:nat ), ;

    Len( aParc ) - oBrw:nat ), ;

    oBrw:nat += nDo, nDo }

    oBrw:Refresh()

    // Vencimento e Parcelas

    REDEFINE GET oG01 VAR nTotal PICTURE "@E 999,999.99" ID 10 OF oVenDl When .F. ;

    FONT oFon5 UPDATE COLOR CLR_BLUE

    REDEFINE GET oG02 VAR oData PICTURE "@D" ID 11 OF oVenDl When .F. ;

    FONT oFon5 UPDATE COLOR CLR_BLUE

    REDEFINE GET oG03 VAR nQteBai PICTURE "9999" ID 12 OF oVenDl When .F. ;

    FONT oFon5 UPDATE COLOR CLR_BLUE

    REDEFINE SBUTTON oBt1 ID 30 OF oVenDl ACTION ( lSave := .t. , oVenDl:End()) ;

    CANCEL ;

    COLORS CLR_BLACK, ;

    {|oB| If( oB:lMouseOver, {CLR_BLUE,CLR_WHITE}, ;

    {CLR_WHITE,CLR_BLUE} ) };

    BORDER TEXT POSITION ON_RIGHT

    REDEFINE SBUTTON oBt1 ID 31 OF oVenDl ACTION oVenDl:End() ;

    CANCEL;

    COLORS CLR_BLACK, ;

    {|oB| If( oB:lMouseOver, {CLR_BLUE,CLR_WHITE}, ;

    {CLR_WHITE,CLR_BLUE} ) };

    BORDER TEXT POSITION ON_RIGHT

    ACTIVATE DIALOG oVenDl CENTERED Valid VerEsc(@lESC)

    if lSave

    lChange := .f.

    // Dar Confirmou gerar Boleto

    Select BOLETO

    BOLETO->(DBSETORDER(1))

    if Len(aParc) > 0

    aguarde('Aguarde enquanto remessa está sendo processado...')

    // Iniciando objeto do boleto

    oCBX := TOleAuto():New("CobreBemX.ContaCorrente")

    oCBX:ArquivoLicenca:= alltrim(oEMCAMCONF)

    // Monta dados da conta corrente

    oCBX:CodigoAgencia:= alltrim(oEMAGENCIA)

    oCBX:NumeroContaCorrente:= alltrim(oEMCONTA)

    oCBX:CodigoCedente:= alltrim(oEMCEDENTE)

    oCBX:OutroDadoConfiguracao1 := "009" // Preencha com a variação da carteira.

    oCBX:OutroDadoConfiguracao2 := "N"

    oCBX:LocalPagamento := "Pagável em qualquer banco até o vencimento"

    oCBX:InicioNossoNumero:= "000001"

    oCBX:FimNossoNumero:= "999999"

    oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := Curdrive() + ":\"+"\"+CURDIR()+"\bitmaps\BannerCBX.gif"

    oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := Curdrive() + ":\"+"\"+CURDIR()+"\bitmaps\"

    oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "Padrao"

    //oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "CarnetReciboTopo"

    // Adicionando as informações do boleto

    For j = 1 to Len(aParc)

    NomeCliente(aParc[j,5],3,@aGet)

    oBoleto := oCBX:DocumentosCobranca:Add()

    oCBX:ProximoNossoNumero := aParc[j,1]

    // Monta dados do sacado

    oBoleto:CPFSacado := ""

    oBoleto:NomeSacado := aGet[2]

    oBoleto:EnderecoSacado := aGet[3]

    oBoleto:BairroSacado := aGet[4]

    oBoleto:CidadeSacado := aGet[5]

    oBoleto:EstadoSacado := aGet[6]

    oBoleto:CepSacado := aGet[7]

    // Monta dados do documento de cobrança

    oBoleto:numeroDocumento := aParc[j,8]

    oBoleto:DataVencimento := TRANSF(aParc[j,3],"@D")

    oBoleto:NumeroDocumento := strzero(aParc[j,1],11)

    oBoleto:ValorDocumento := aParc[j,4]

    // Dados de observações finais

    cInstru:=""

    if oEMMULTAMES>0

    cInstru+='Apos '+Dtoc(oData)+' cobrar multa de R$ '+transform( oEMMULTAMES, '@E 99,999.99')+'

    '

    endif

    if oEMJUROMES>0

    nVlrMora:=((aParc[j,4]*oEMJUROMES)/100)

    cInstru+='Apos vencimento cobrar juros diario de R$ '+transform(nVlrMora,'@E 99,999.99')+'

    '

    endif

    cInstru+=aParc[j,7]+'

    '

    cInstru+=oEMOBS1+'

    '

    cInstru+=oEMOBS2+'

    '

    oCBX:PadroesBoleto:InstrucoesCaixa:=cInstru

    //oCBX:ImprimeBoletos()

    // Gerando Impressão

    oCBX:calcularDadosBoletos()

    //oCBX:ImprimeBoletosSemPreview()

    //nNossoNumero:=oBoleto:NossoNumero

    Next

    // Tratamentos finais para gerar arquivo remessa

    oCBX:ArquivoRemessa:Layout := "CNAB400"

    cRemessa:=ProxCod("EMPRESA","EMCONTREM",3)

    oCBX:ArquivoRemessa:Sequencia := cRemessa

    cNomeArq:= Strzero(Day(date()),2)+Strzero(Month(date()),2)+Right(Time(),2)+".TST"

    oCBX:ArquivoRemessa:Arquivo := cNomeArq

    cCurPath:= Curdrive() + ":\"+"\"+CURDIR()+"\remessa\"

    IF ! lIsDir(cCurPath)

    IF ! lMkDir(cCurPath)

    MsgStop(OemToAnsi("Não conseguiu criar a pata para remessa."),"ATENÇÃO...")

    QUIT

    ENDIF

    ENDIF

    oCBX:ArquivoRemessa:Diretorio := Curdrive() + ":\"+"\"+CURDIR()+"\boletos\remessa\"

    //oCBX:calcularDadosBoletos()

    oCBX:GravaArquivoRemessa()

    *oCBX:End()

    fecha_aguarde()

    endif

    //Imprimir comprovante

    //Imprimir(oCod)

    // Lançar valor em caixa

    //Moviment()

    endif

    dbcloseall()

    return nil

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

    Editado por - wmsoft on 27/05/2012 02:00:51

  6. Pessoal estou ficando azuado aqui porque não esto conseguindo gerar a remessa, Abaixo postei o fonte. Deixa eu explicar como ocorre aqui, é uma associação de pescadores os associados vão pegar seus boletos durante o dia, no final do dia a associação envia um arquivo remessa com todos os boletos que foram emitidos, o estranho que o boleto ele está gerando certinho.

    FUNCTION CBXRemessa()

    local oVenDl, oSay, MyDb, oPess, lESC:= .F.

    local lSave := .f.

    local nOldRec := RecNo(), nTotDesc:=0

    LOCAL OBMP, oFont1, oFnt2, oFont4, oFnt5, oFont6

    local oCBX, oBoleto, aGeticon_smile_8ball.gif

    PRIVATE oBrw, aParc:= {}

    IF ! UsrFree(CliIncl)

    RETURN NIL

    ENDIF

    CheckDados()

    if !oEMBOLETOS

    MsgAlert("Modulo de Boleto Bancário não está ativo no sistema.","Atenção")

    Return Nil

    endif

    CursorWait()

    use_arq("BOLETO","BOLETO",.t.,.t.)

    use_arq("REMESSA","REMESSA",.t.,.t.)

    SELECT BOLETO

    BOLETO->(DBSETORDER(1))

    BOLETO->(DBGOTOP())

    oData := Date()

    nQteBai := 0

    nTotal := 0

    While ! BOLETO->( EOF() )

    if BOLETO->BOLSITU = "N"

    nQteBai++

    nTotal+=BOLETO->BOLVALOR

    aadd(aParc,({BOLETO->BOLCOD,;

    BOLETO->BOLDATA,;

    BOLETO->BOLVENC,;

    BOLETO->BOLVALOR,;

    BOLETO->BOLCONTR,;

    BOLETO->BOLNOME,;

    BOLETO->BOLOBS,;

    Alltrim(BOLETO->BOLCBAR)}))

    endif

    BOLETO->( DbSkip() )

    End

    If Len(aParc) = 0

    MsgAlert("Não existem boletos processados para geração de remessa no momento","Atenção")

    dbcloseall()

    Return Nil

    endif

    DEFINE FONT oFon1 NAME "Courier New" SIZE 0, -10 OF oVenDl

    DEFINE FONT oFon2 NAME "Courier New" SIZE 0, -9 OF oVenDl

    DEFINE FONT oFon3 NAME "Courier New" SIZE 0, -14 OF oVenDl

    DEFINE FONT oFon4 NAME "Courier New" SIZE 0, -22 BOLD OF oVenDl

    DEFINE FONT oFon5 NAME "Courier New" SIZE 0, -19 BOLD OF oVenDl

    DEFINE FONT oFon6 NAME "Courier New" SIZE 0, -15 BOLD OF oVenDl

    DEFINE FONT oFntLis NAME "Courier New" SIZE 0, -11

    DEFINE DIALOG oVenDl RESOURCE "REMESSA"

    // Apresentando as BOLETO abertas no browse

    REDEFINE LISTBOX oBrw ;

    FIELDS Strzero(aParc[oBrw],11),;

    TRANS(aParc[oBrw],"@D"),;

    TRANS(aParc[oBrw],"@D"),;

    TRANS(aParc[oBrw],"@E 999,999.99"),;

    aParc[oBrw],;

    aParc[oBrw];

    FIELDSIZES 80,80,50 ;

    HEADERS "Documento","Emissão","Vencimento"," Valor","Contrato","Nome" ;

    UPDATE COLORS BrwText, BrwBack ;

    ID 100 OF oVenDl

    oBrw:cAlias := NIL

    oBrw:SetArray(aParc)

    oBrw:nLineStyle:=4 //Linha pontilhada

    oBrw:lCellStyle:=.F.//trabalhar em linha

    oBrw:SetFont(oFntLis)

    oBrw:bGoTop := {|| oBrw:nat := 1 }

    oBrw:bGoBottom := {|| oBrw:nat := Eval( oBrw:bLogicLen ) }

    oBrw:bSkip := { | nWant, nDo | ;

    nDo := Min( Max( nWant, 1 - oBrw:nat ), ;

    Len( aParc ) - oBrw:nat ), ;

    oBrw:nat += nDo, nDo }

    oBrw:Refresh()

    // Vencimento e Parcelas

    REDEFINE GET oG01 VAR nTotal PICTURE "@E 999,999.99" ID 10 OF oVenDl When .F. ;

    FONT oFon5 UPDATE COLOR CLR_BLUE

    REDEFINE GET oG02 VAR oData PICTURE "@D" ID 11 OF oVenDl When .F. ;

    FONT oFon5 UPDATE COLOR CLR_BLUE

    REDEFINE GET oG03 VAR nQteBai PICTURE "9999" ID 12 OF oVenDl When .F. ;

    FONT oFon5 UPDATE COLOR CLR_BLUE

    REDEFINE SBUTTON oBt1 ID 30 OF oVenDl ACTION ( lSave := .t. , oVenDl:End()) ;

    CANCEL ;

    COLORS CLR_BLACK, ;

    {|oB| If( oB:lMouseOver, {CLR_BLUE,CLR_WHITE}, ;

    {CLR_WHITE,CLR_BLUE} ) };

    BORDER TEXT POSITION ON_RIGHT

    REDEFINE SBUTTON oBt1 ID 31 OF oVenDl ACTION oVenDl:End() ;

    CANCEL;

    COLORS CLR_BLACK, ;

    {|oB| If( oB:lMouseOver, {CLR_BLUE,CLR_WHITE}, ;

    {CLR_WHITE,CLR_BLUE} ) };

    BORDER TEXT POSITION ON_RIGHT

    ACTIVATE DIALOG oVenDl CENTERED Valid VerEsc(@lESC)

    if lSave

    lChange := .f.

    // Dar Confirmou gerar Boleto

    Select BOLETO

    BOLETO->(DBSETORDER(1))

    if Len(aParc) > 0

    aguarde('Aguarde enquanto remessa está sendo processado...')

    // Iniciando objeto do boleto

    oCBX := TOleAuto():New("CobreBemX.ContaCorrente")

    oCBX:ArquivoLicenca:= alltrim(oEMCAMCONF)

    // Monta dados da conta corrente

    oCBX:CodigoAgencia:= alltrim(oEMAGENCIA)

    oCBX:NumeroContaCorrente:= alltrim(oEMCONTA)

    oCBX:CodigoCedente:= alltrim(oEMCEDENTE)

    oCBX:OutroDadoConfiguracao1 := "009" // Preencha com a variação da carteira.

    oCBX:OutroDadoConfiguracao2 := "N"

    oCBX:LocalPagamento := "Pagável em qualquer banco até o vencimento"

    oCBX:InicioNossoNumero:= "000001"

    oCBX:FimNossoNumero:= "999999"

    oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := Curdrive() + ":\"+"\"+CURDIR()+"\bitmaps\BannerCBX.gif"

    oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := Curdrive() + ":\"+"\"+CURDIR()+"\bitmaps\"

    oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "Padrao"

    //oCBX:PadroesBoleto:PadroesBoletoImpresso:LayoutBoleto := "CarnetReciboTopo"

    // Adicionando as informações do boleto

    For j = 1 to Len(aParc)

    NomeCliente(aParc[j,5],3,@aGet)

    oBoleto := oCBX:DocumentosCobranca:Add()

    oCBX:ProximoNossoNumero := aParc[j,1]

    // Monta dados do sacado

    oBoleto:CPFSacado := ""

    oBoleto:NomeSacado := aGet[2]

    oBoleto:EnderecoSacado := aGet[3]

    oBoleto:BairroSacado := aGet[4]

    oBoleto:CidadeSacado := aGet[5]

    oBoleto:EstadoSacado := aGet[6]

    oBoleto:CepSacado := aGet[7]

    // Monta dados do documento de cobrança

    oBoleto:numeroDocumento := aParc[j,8]

    oBoleto:DataVencimento := TRANSF(aParc[j,3],"@D")

    oBoleto:NumeroDocumento := strzero(aParc[j,1],11)

    oBoleto:ValorDocumento := aParc[j,4]

    // Dados de observações finais

    cInstru:=""

    if oEMMULTAMES>0

    cInstru+='Apos '+Dtoc(oData)+' cobrar multa de R$ '+transform( oEMMULTAMES, '@E 99,999.99')+'

    '

    endif

    if oEMJUROMES>0

    nVlrMora:=((aParc[j,4]*oEMJUROMES)/100)

    cInstru+='Apos vencimento cobrar juros diario de R$ '+transform(nVlrMora,'@E 99,999.99')+'

    '

    endif

    cInstru+=aParc[j,7]+'

    '

    cInstru+=oEMOBS1+'

    '

    cInstru+=oEMOBS2+'

    '

    oCBX:PadroesBoleto:InstrucoesCaixa:=cInstru

    //oCBX:ImprimeBoletos()

    // Gerando Impressão

    oCBX:calcularDadosBoletos()

    //oCBX:ImprimeBoletosSemPreview()

    //nNossoNumero:=oBoleto:NossoNumero

    Next

    // Tratamentos finais para gerar arquivo remessa

    oCBX:ArquivoRemessa:Layout := "CNAB400"

    cRemessa:=ProxCod("EMPRESA","EMCONTREM",3)

    oCBX:ArquivoRemessa:Sequencia := cRemessa

    cNomeArq:= Strzero(Day(date()),2)+Strzero(Month(date()),2)+Right(Time(),2)+".TST"

    oCBX:ArquivoRemessa:Arquivo := cNomeArq

    cCurPath:= Curdrive() + ":\"+"\"+CURDIR()+"\remessa\"

    IF ! lIsDir(cCurPath)

    IF ! lMkDir(cCurPath)

    MsgStop(OemToAnsi("Não conseguiu criar a pata para remessa."),"ATENÇÃO...")

    QUIT

    ENDIF

    ENDIF

    oCBX:ArquivoRemessa:Diretorio := Curdrive() + ":\"+"\"+CURDIR()+"\boletos\remessa\"

    //oCBX:calcularDadosBoletos()

    oCBX:GravaArquivoRemessa()

    *oCBX:End()

    fecha_aguarde()

    endif

    //Imprimir comprovante

    //Imprimir(oCod)

    // Lançar valor em caixa

    //Moviment()

    endif

    dbcloseall()

    return nil

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

    Editado por - wmsoft on 27/05/2012 02:00:51

  7. A idéia da cooperativa é uma boa sim, só precisa ver como deixar todas as coisas bem amarradas para não existir problemas posteriores.

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

  8. Boa noite a todos,

    Derick meu amigo tudo em paz? olha muitas vezes ficamos limitados por várias situações: Tempo, Ferramenta e por ai vai.

    Bem quando surgiu a exigencia da NFe ficamos todos malucos e com a Flexdocs a coisa simplificou, bem para quem está com dificuldade com Sped conheci uma ferramenta que achei muito interessante e não tem trabalho nenhum para nós programadores.

    Dá uma olhada nisso aqui: http://www.itworks.com.br/?page_id=9

    Espero ter ajudado

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

  9. Grande Vagner,

    Vou tentar conferir aqui, a princípio me deu esse erro:

    Path and name: C:\Electra7\eCollect.EXE (32 bits)

    Size: 3,336,192 bytes

    Time from start: 0 hours 0 mins 3 secs

    Error occurred at: 16/02/2012, 08:52:53

    Error description: Error BASE/1004 Class: 'CHARACTER' has no exported method: HICON

    Args:

    [ 1] = C .\bitmaps\red.ico

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

  10. Boa Noite,

    Eu tenho um pequeno aplicativo que fica rodando no Tray, fiz uma função que testa se o Servidor está ON/OFF tem como mudar o icone quando o servidor estiver OFF em tempo de execução? Pelo que pude perceber o Tray exibe o Icone do EXE, dai não sei se existe alguma forma de modificar em tempo real.

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

    Editado por - wmsoft on 16/02/2012 08:04:23

  11. Boa Noite,

    Eu tenho um pequeno aplicativo que fica rodando no Tray, fiz uma função que testa se o Servidor está ON/OFF tem como mudar o icone quando o servidor estiver OFF em tempo de execução? Pelo que pude perceber o Tray exibe o Icone do EXE, dai não sei se existe alguma forma de modificar em tempo real.

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

    Editado por - wmsoft on 16/02/2012 08:04:23

  12. Opa funcionou com SetForeGroundWindow(oWnd:hWnd)

    Kapiaba, valeu ai a dica, mas no teste que fiz aqui percebir que xSetFocus e Setfocus é mais para objetos que estão rodando dentro do mesmo EXE quando vc roda outro aplicativo ele não conseguia direcionar o retorno do foco.

    Washington Guimarães

    FWH 906, xHarbour 1.2.1, PelleC, xDev, SQLLIB

×
×
  • Create New...