Jump to content
Fivewin Brasil

Jmsilva

Membros
  • Posts

    718
  • Joined

  • Last visited

  • Days Won

    14

Posts posted by Jmsilva

  1. 4 horas atrás, emotta disse:

    Segue um exemplo de uso. Uso HRB a quase 20 anos, desde que ainda era instável o seu funcionamento para strings.

     

    Function u_Teste()
    Local oScript
     
    oScript := __hrbLoad"myprog.hrb" )
     
    __hrbDo( oScript, uPar01, uPar02, uPar03)  // caso o HRB receba mais parametros basta criar uPar04, uPar05, ..., uPar99
     
    __hrbUnload( oScript )
     
    Return

    Show meu amigo Eduardo!

    Meu erro era usar um "_", sendo certo dois "__".

    "_hrbload()' não era encontrada a function nas libs. Valeu! agora deu certo!

    Eduardo, como nunca usei, mas achei interessante vou estudar e entender esta técnica,   agora vamos ao Bizu (dica). 

    Aproveitando vc usa tipo em todas a telas, por exemplo cadastro de cliente, contas, etc ou em alguma rotina específica como uma conexão, ou uma rotina de manutenção, o que vc me diz?

    O que me chamo a atenção a frase do  Vailton  - "... também faça uso de arquivos .hrbs pra proteger algumas informações mais sensíveis"

    De qq forma estou muito grato com a sua ajuda e dos demais amigos, estarei sempre à disposição no que puder colaborar! 

     

     

  2. "Um contrato bem elaborado ajuda muito, também faça uso de arquivos .hrbs pra proteger algumas informacoes mais sensíveis.

    Trabalho a distância é uma realidade e não adianta nadar contra a correnteza, devemos nos adaptar." @vailtom

    @vailtom aproveitando sua colaboração no link do programador, aproveitando seus conhecimentos, poderia exemplificar o uso arquivo .hrb, gerar com o comando harbour test.prg /n /gh consegui, porém não entendi como fazer a chamada, se preciso gerar  um .exe com as funções _hrbload(),  _hrbDo() e _hrbUnload(), se for isto, no meu exemplo falta lib correspondente. Quem puder contribuir com exemplos prático serei grato! 

     


     

     

     
  3. #include "fivewin.ch"
    
    function Main()
    
       Local n,nPos,cData,aTokens,hModa:=Hash(),aKeys
    
       //cData := "04|09|16|23|39|43|80|85|94|99"
       //cData := "30|30|30|30|30|01|01|01|01|01"
       cData := "25|28|35|60|61|11|11|12|16|78"
       aTokens = hb_ATokens( cData, "|" )
    
       For n:=1 to Len(aTokens)
          nPos := HGetPos( hModa, aTokens[n] )
          IF nPos > 0
             hModa[aTokens[n]] ++
          ELSE
             hModa[aTokens[n]] := 1
          ENDIF
       Next
    
       //Exibe assim
       aKeys := HGetKeys( hModa )
       For n:=1 to Len(aKeys)
           ? aKeys[n], HGetValueAt( hModa,n )
       Next
    
       //ou assim
       MsgStop(ValToPrg(hModa))
    
    Return nil

     

  4. 8 horas atrás, macs disse:

    Que classe é essa do FHW que já procurei aqui e não encontrei? Minha versão é 17.06

    Macs, partir da versão 16.08, se não me engano, foi incluído a conexão com mariadb/MySQL. Não tem um prg com a classe, está incluso na lib da fivewin. Verifique pasta lib e dll deve ter a libmariadb.lib e a dll. A classe é instanciada com a conexão, no link do Kapiaba tem os exemplos, assim como help no Wiki. Blz

  5. 1 hora atrás, aferra disse:

    Olá, se vc já tem o meter basta colocar assim que vai dar certo
     

    bProgress := {|| oMeter:Set( nMeter += 20 ),SysRefresh() }

    BackUp( , , bProgress )

    
    
     

     

    AFerra, meu muito obrigado! deu certo!

    Apenas para complementar

    bProgress := {|cTable,nCount,nTotal| oMeter:SetTotal(nTotal ),oMeter:Set(nCount ),SysRefresh() }

    BackUp( , , bProgress )

  6. Olá, Gostaria de colocar uma barra de progressão no Backup/Restore da classe Fivewin, porém não sei como passar o parâmetro bProgress.

    METHOD BackUp( [source], [dest], [bProgress], [nRecsInBatch], [nMaxBufperSQL] )       --> cBackUpFileName
    METHOD Restore( cBackupFile, [aTables], [bProgress], [cNewDB] ) --> nil  // cNewDB added FWH16.08

    Alguém sabe como ou tem exemplo que possa disponibilizar!

    Grato !

    JMSilva 

     

  7. Em 28/05/2021 at 18:53, macs disse:

    A rotina já tem o Sr_DbRefresh(), mas não funciona se eu não fechar e abrir a tabela!

    Eu sugiro que faça a inclusão, sem fechar a tabela, em outra estação através de gerenciador ou rotina específica com select verifica se o valor foi incrementado. Caso sim banco está ok, do contrário pode ser alguma configuração de ambiente do bd. Pelo narrado tudo que teria que fazer na rotina para dar certo foi feito.

    Para caso parecido com seu, eu usei uma segunda conexão, ao finalizar os dados eram fidelizados na tabela, no seu caso não me parece uma uma solução viável, uma vez simplesmente fechar a tabela resolve.

    Se nada der certo, sugiro usar comando "update" ao invés do "replace".

  8. Duas Sugestões:

    -Primeira

        APCODE:="UPDATE ESTOQUE SET DESCRICAO="+CHR(34)+ALLTRIM(DESC)+CHR(34)+" WHERE CODIGO="+CHR(34)+CODP+CHR(34)+";"
          OSQL:EXEC(APCODE ) 
          oSql:Commit()
          alias->(Sr_SetFilter(''),Sr_DbRefresh())      
          oLSTB_0:upstable()
          oLSTB_0:REFRESH()

    -Segunda

          Sr_BeginTransaction() 

          APCODE:="UPDATE ESTOQUE SET DESCRICAO="+CHR(34)+ALLTRIM(DESC)+CHR(34)+" WHERE CODIGO="+CHR(34)+CODP+CHR(34)+";"
          OSQL:EXEC(APCODE ) 

          Sr_CommitTransaction() 

          alias->(Sr_SetFielter(''),Sr_DbRefresh())       
          oLSTB_0:upstable()
          oLSTB_0:REFRESH()

     

    Veja se funciona para vc!

  9. 3 horas atrás, Marca disse:

    Exemplo de como uso

    SELECT CAST(m.cod_est AS SIGNED INTEGER) as codigo,p.descricao,
    SUM(IF(m.tipo = 'E' and m.operacao <> '3-DEFEIT', m.quant, 0)) AS 'ENTRADA',
    SUM(IF(m.tipo = 'S' and m.item_canc = 0         , m.quant, 0)) AS 'SAIDAS' ,
    p.saldo_atu
    FROM movest as m
    LEFT JOIN produto as p on m.cod_est = p. cod_est
    group by codigo
    order by codigo

    Muito legal ! vou estudar vai ser muito útil!

    Eu estava cometendo alguns erros básico, como condição que impedia de trazer os registros. 

    Situação era a seguinte: em uma tabela tinha que filtrar faixa de código mais uma segunda situação, na segunda tabela acrescenta período e mais três condições, porém, dentro da faixa de código se na segunda tabela tivesse ou não teria que ser listado. Acabei me perdendo, mas resolvido! Obrigado a todos!  

  10. 23 minutos atrás, macs disse:

    SELECT p.codigo, p.descricao, v.quantidade  FROM produto P LEFT JOIN vendas V ON v.produto = p.codigo ORDER BY p.descricao;

    Obrigado! eu tinha feito igual, porém tem mais condições da cláusula where que não postei, deve ser alguma dessas condições que está impedindo de exibir o que quero.

    blz, valeu.. 

  11. Tabela de de produtos e itens vendas, preciso listar todos produtos tendo ou não a venda, caso tenha venda o produto  deve se repetir a cada venda, não estou conseguindo:

    Resultado

    produto 

    A -  abacaxi  //não teve venda

    B  - banana //teve duas vendas

    resultado:

    cod  desc     qtde
    A    abacaxi  0/null
    B    banana   2
    B    banana   1

     

  12. Consegui encontrar o link:

    https://github.com/matheushchaves/CedroDesktop

    Alexandre,  neste link tem CEDRO.EXE que é demonstração de relatórios dinâmico com FastReport, (EXEMPLO DE 4 RELATÓRIOS DIFERENTES), assim como o prg completo, postei parte dele.

    Operador: ADMIN - senha 123456

    Se vc criar um arquivo txt com nome de  c:\desenv.sys na raiz do drive que vc estiver executando, o sistema entra FrPrn:DesignReport(), do contrário, entra no FrPrn:ShowReport()

    blz

    ATT

    José M. Silva

  13. Tente assim:

    .

    .

    oDlg:lHelpIcon:=.f.

    ACTIVATE DIALOG oDlg CENTER NOMODAL 

    IniciaTimer()

    Return Nil
     

    STATIC FUNCTION IniciaTimer()

       IF oTimerLocal == nil
          DEFINE TIMER oTimerLocal        ;
                 INTERVAL 7500            ;
                 ACTION ReceberMensagem() ;
                 OF oDlg

          oTimerLocal:Activate()
       ENDIF

  14. Segue outro exemplo: Matheus Chaves, que não conheço, também peguei na net cedro.prg

    FrPrn:=frReportManager():new()
       FrPrn:NewReport("Page1")
       PropriedadesFR("Page1","Height=1000;Left=0;Top=0;Width=1000;Name=Page1;Font.Charset=1;Font.Color=0;Font.Height=-9;Font.Name=tableau;Font.Style=0;PaperWidth=210;PaperHeight=297;PaperSize=9;LeftMargin=10;RightMargin=10;TopMargin=10;BottomMargin=10;ColumnWidth=0;ColumnPositions.Text=;HGuides.Text=;VGuides.Text=")
    
       //FrPrn:LoadFromFile("c:\des\cedro\entr1geral.fr3")
       FrPrn:SetUserDataSet( "REC","DATAREC;TIPOREC;DESCREC;PARCREC;PARCNUM;VALOREC",{||I := 1},{||I := I + 1},{||I := I - 1},{||I > Len(aItensRec[1])},{|cField| X:= Campo1VetorRec(cField,I) ,X  })
       //FrPrn:SetProperty("MasterData2","DataSetName","REC")
    
       ** Apos o LoadFromFile
       frprn:addvariable("Variaveis", "vnomeemp","'&vNOMEEMP'")
       frprn:addvariable("Variaveis", "vendeemp","'&vENDEEMP'")
       frprn:addvariable("Variaveis", "vnumeemp","'&vNUMEEMP'")
       frprn:addvariable("Variaveis", "vbairemp","'&vBAIREMP'")
       frprn:addvariable("Variaveis", "vcidaemp","'&vCIDAEMP'")
       frprn:addvariable("Variaveis", "vufempre","'&vUFEMPRE'")
       frprn:addvariable("Variaveis", "vcepempr","'&vCEPEMPR'")
       frprn:addvariable("Variaveis", "vcnpjemp","'&vCNPJEMP'")
       frprn:addvariable("Variaveis", "vteleemp","'&vTELEEMP'")
       frprn:addvariable("Variaveis", "vativemp","'&vATIVEMP'")
       frprn:addvariable("Variaveis", "vemaiemp","'&vEMAIEMP'")
       frprn:addvariable("Variaveis", "vsiteemp","'&vSITEEMP'")
       frprn:addvariable("Variaveis", "vlogoemp","'&vLOGOEMP'")
       frprn:addvariable("Variaveis", "vtituloo","'&vtituloo'")
       frprn:addvariable("Variaveis", "vreceitas","'&vReceitas'")
       frprn:addvariable("Variaveis", "vdespesas","'&vDespesas'")
       frprn:addvariable("Variaveis", "vrendimen","'&vRendimen'")
       frprn:addvariable("Variaveis", "vrodape","'&vrodape'")
    
       asp:=[']
    
       FrPrn:AddBand("PageFooter1","Page1",frxPageFooter)
       PropriedadesFR("PageFooter1","Height=41,57483N*;Left=0N*;Top=464,88219N*;Width=718,1107N*")
    
       FrPrn:AddMemo("PageFooter1","vsiteemp",'[vsiteemp]'+CRLF+'[vemaiemp]',3.77953,0,710.55164,37.7953)
       PropriedadesFR("vsiteemp","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Style=fsDouble;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False;VAlign=vaCenter")
    
       FrPrn:AddMemo("PageFooter1","Date",'[Date]',608.50433,15.11812,102.04731,18.89765)
       PropriedadesFR("Date","ShowHint=False;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Color=8421504;HAlign=haCenter;ParentFont=False;VAlign=vaCenter")
    
       FrPrn:AddMemo("PageFooter1","Page",'Pag:[Page#]/[TotalPages#]',608.50433,0,105.82684,18.89765)
       PropriedadesFR("Page","ShowHint=False;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Color=8421504;HAlign=haCenter;ParentFont=False;VAlign=vaCenter")
    
       FrPrn:AddBand("PageHeader1","Page1",frxPageHeader)
       PropriedadesFR("PageHeader1","Height=151,1812N*;Left=0N*;Top=86,92919N*;Width=718,1107N*")
    
       FrPrn:AddMemo("PageHeader1","Memo6",'',0,0,718.1107,124.72449)
       PropriedadesFR("Memo6","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-17;Font.Name=Arial;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
       FrPrn:AddPicture("PageHeader1","Picture1",vlogoemp,3.77953,3.77953,151.1812,117.16543)
       PropriedadesFR("Picture1","ShowHint=False;Center=True;Frame.Typ=15;HightQuality=False")
    
       FrPrn:AddMemo("PageHeader1","vnomeemp",'[vnomeemp]',158.74026,0,559.37044,22.67718)
       PropriedadesFR("vnomeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vendeemp",'End:[vendeemp]',158.74026,22.67718,464.88219,18.89765)
       PropriedadesFR("vendeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vnumeemp",'Nrº:[vnumeemp]',627.40198,22.67718,90.70872,18.89765)
       PropriedadesFR("vnumeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vbairemp",'Bairro:[vbairemp]',158.74026,45.35436,173.85838,22.67718)
       PropriedadesFR("vbairemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vcidaemp",'Cidade:[vcidaemp]',336.37817,45.35436,196.53556,22.67718)
       PropriedadesFR("vcidaemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vufempre",'Uf:[vufempre]',532.91373,45.35436,60.47248,22.67718)
       PropriedadesFR("vufempre","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vcepempr",'Cep:[vcepempr]',597.16574,45.35436,120.94496,22.67718)
       PropriedadesFR("vcepempr","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vcnpjemp",'CnpjCpf:[vcnpjemp]',423.30736,68.03154,219.21274,22.67718)
       PropriedadesFR("vcnpjemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vteleemp",'Telefone:[vteleemp]',158.74026,68.03154,260.78757,22.67718)
       PropriedadesFR("vteleemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","vativemp",'[vativemp]',158.74026,90.70872,559.37044,22.67718)
       PropriedadesFR("vativemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","Memo1",'Data',0,128.50402,139.84261,22.67718)
       PropriedadesFR("Memo1","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","Memo2",'Descrição',139.84261,128.50402,362.83488,22.67718)
       PropriedadesFR("Memo2","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","Memo4",'Parcela',502.67749,128.50402,94.48825,22.67718)
       PropriedadesFR("Memo4","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
       FrPrn:AddMemo("PageHeader1","Memo5",'Valor',597.16574,128.50402,120.94496,22.67718)
       PropriedadesFR("Memo5","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
       FrPrn:AddBand("MasterData2","Page1",frxMasterData)
       PropriedadesFR("MasterData2","Height=22,67718N*;Left=0N*;Top=298,58287N*;Width=718,1107N*;ColumnWidth=0;ColumnGap=0;DataSetName=REC;KeepFooter=True;RowCount=0")
       FrPrn:AddMemo("MasterData2","RECDATAREC",'[REC."DATAREC"]',0,0,139.84261,22.67718)
       PropriedadesFR("RECDATAREC",'ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">=&asp E &asp;ParentFont=False')
       FrPrn:AddMemo("MasterData2","RECPARCNUM",'[REC."PARCNUM"]/[REC."PARCREC"]',502.67749,0,94.48825,22.67718)
       PropriedadesFR("RECPARCNUM",'ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">=&asp E &asp;ParentFont=False;VAlign=vaCenter')
       FrPrn:AddMemo("MasterData2","RECTIPOREC",'[REC."TIPOREC"]',139.84261,0,0,22.67718)
       PropriedadesFR("RECTIPOREC",'ShowHint=False;DataSetName=REC;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Britannic Bold;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False')
       FrPrn:AddMemo("MasterData2","Memo7",'[REC."DESCREC"]',139.84261,0,362.83488,22.67718)
       PropriedadesFR("Memo7",'ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">=&asp E &asp;ParentFont=False')
       FrPrn:AddMemo("MasterData2","Memo8",'[REC."VALOREC"]',597.16574,0,120.94496,22.67718)
       PropriedadesFR("Memo8",'ShowHint=False;Color=-16777192;DataSetName=REC;DisplayFormat.FormatStr=%2.2n;DisplayFormat.Kind=fkNumeric;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">=&asp E &asp;ParentFont=False;VAlign=vaCenter')
       FrPrn:AddBand("ReportTitle1","Page1",frxReportTitle)
       PropriedadesFR("ReportTitle1","Height=45,35436N*;Left=0N*;Top=18,89765N*;Width=718,1107N*")
    
       FrPrn:AddMemo("ReportTitle1","vtituloo",'[vtituloo]',2,0,714.33117,41.57483)
       PropriedadesFR("vtituloo","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-27;Font.Name=Comic Sans MS;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;ParentFont=False")
       FrPrn:AddBand("Footer1","Page1",frxFooter)
       PropriedadesFR("Footer1","Height=60,47248N*;Left=0N*;Top=343,93723N*;Width=718,1107N*;Stretched=True")
    
       FrPrn:AddMemo("Footer1","Memo9",'[vrodape]',11.33859,7.55906,702.99258,34.01577)
       PropriedadesFR("Memo9","ShowHint=False;Color=15793151;Font.Charset=1;Font.Color=16711680;Font.Height=-15;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Style=fsDashDotDot;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haRight;ParentFont=False")
    
    
       FrPrn:SetFileName(vtituloo) //so no finalzinho

     

  15. Alex, tenho um material que consegui na internet, mas não tenho o link, caso venha encontrar farei o post aqui!

    Não testei ainda este material, caso vc consiga ter sucesso! Post o resultado para pessoal!

    /============================================================================//
    //   FR3  TO  PRG                                			By: Arthur Silvestre //
    //                                                        						   //
    //                                                                            //
    //Data da Geração: 01/11/2013                                                   //
    //Arquivo Importado: C:\des\Outros\cedro\entr1geral.fr3                            //
    //============================================================================//
    #Include "FiveWin.CH"
    #Include "FastRepH.CH"
    
    
    Function Main()
    	FrPrn:=frReportManager():new()
    
    	AddVariavel()
    
    	FrPrn:ShowReport()
    	FrPrn:DestroyFR()
    Return .T.
    
    
    Function AddVariavel()
    //Nova Pagina//
    FrPrn:NewReport("Page1")
       PropriedadesFR("Page1","Height=1000;Left=0;Top=0;Width=1000;Name=Page1;Font.Charset=1;Font.Color=0;Font.Height=-9;Font.Name=tableau;Font.Style=0;PaperWidth=210;PaperHeight=297;PaperSize=9;LeftMargin=10;RightMargin=10;TopMargin=10;BottomMargin=10;ColumnWidth=0;ColumnPositions.Text=;HGuides.Text=;VGuides.Text=")
    
    FrPrn:SetProperty("Report", "ScriptLanguage", "PascalScript ")
    FrPrn:SetProperty("Report.ScriptText", "Text", StrTran( "&#13;&#10;begin&#13;&#10;      Picture1.Picture.LoadFromFile(&#60;vlogoemp&#62;);&#13;&#10;     &#13;&#10;  &#13;&#10;end." ,"&#13;&#10;" , CRLF ) )
    
    FrPrn:AddBand("PageFooter1","Page1",frxPageFooter)
       PropriedadesFR("PageFooter1","Height=41,57483N*;Left=0N*;Top=464,88219N*;Width=718,1107N*")
    
        FrPrn:AddMemo("PageFooter1","vsiteemp",'[vsiteemp]&#13;&#10;[vemaiemp]',3.77953,0,710.55164,37.7953)
          PropriedadesFR("vsiteemp","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Style=fsDouble;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False;VAlign=vaCenter")
    
        FrPrn:AddMemo("PageFooter1","Date",'[Date]',608.50433,15.11812,102.04731,18.89765)
          PropriedadesFR("Date","ShowHint=False;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Color=8421504;HAlign=haCenter;ParentFont=False;VAlign=vaCenter")
    
        FrPrn:AddMemo("PageFooter1","Page",'Pag:[Page#][TotalPages#]',608.50433,0,105.82684,18.89765)
          PropriedadesFR("Page","ShowHint=False;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Color=8421504;HAlign=haCenter;ParentFont=False;VAlign=vaCenter")
    
    FrPrn:AddBand("PageHeader1","Page1",frxPageHeader)
       PropriedadesFR("PageHeader1","Height=151,1812N*;Left=0N*;Top=86,92919N*;Width=718,1107N*")
    
        FrPrn:AddMemo("PageHeader1","Memo6",'',0,0,718.1107,124.72449)
          PropriedadesFR("Memo6","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-17;Font.Name=Arial;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
        FrPrn:AddPicture("PageHeader1","Picture1",DIGITE O CAMINHO DA IMAGEM,3.77953,3.77953,151.1812,117.16543)
          PropriedadesFR("Picture1","ShowHint=False;Center=True;Frame.Typ=15;HightQuality=False")
    
        FrPrn:AddMemo("PageHeader1","vnomeemp",'[vnomeemp]',158.74026,0,559.37044,22.67718)
          PropriedadesFR("vnomeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vendeemp",'End:[vendeemp]',158.74026,22.67718,464.88219,18.89765)
          PropriedadesFR("vendeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vnumeemp",'Nrº:[vnumeemp]',627.40198,22.67718,90.70872,18.89765)
          PropriedadesFR("vnumeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vbairemp",'Bairro:[vbairemp]',158.74026,45.35436,173.85838,22.67718)
          PropriedadesFR("vbairemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vcidaemp",'Cidade:[vcidaemp]',336.37817,45.35436,196.53556,22.67718)
          PropriedadesFR("vcidaemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vufempre",'Uf:[vufempre]',532.91373,45.35436,60.47248,22.67718)
          PropriedadesFR("vufempre","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vcepempr",'Cep:[vcepempr]',597.16574,45.35436,120.94496,22.67718)
          PropriedadesFR("vcepempr","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vcnpjemp",'CnpjCpf:[vcnpjemp]',423.30736,68.03154,219.21274,22.67718)
          PropriedadesFR("vcnpjemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vteleemp",'Telefone:[vteleemp]',158.74026,68.03154,260.78757,22.67718)
          PropriedadesFR("vteleemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","vativemp",'[vativemp]',158.74026,90.70872,559.37044,22.67718)
          PropriedadesFR("vativemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","Memo1",'Data',0,128.50402,139.84261,22.67718)
          PropriedadesFR("Memo1","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","Memo2",'Descriçao',139.84261,128.50402,362.83488,22.67718)
          PropriedadesFR("Memo2","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","Memo4",'Parcela',502.67749,128.50402,94.48825,22.67718)
          PropriedadesFR("Memo4","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
        FrPrn:AddMemo("PageHeader1","Memo5",'Valor',597.16574,128.50402,120.94496,22.67718)
          PropriedadesFR("Memo5","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
    FrPrn:AddBand("MasterData2","Page1",frxMasterData)
       PropriedadesFR("MasterData2","Height=22,67718N*;Left=0N*;Top=298,58287N*;Width=718,1107N*;ColumnWidth=0;ColumnGap=0;DataSetName=REC;KeepFooter=True;RowCount=0")
    
        FrPrn:AddMemo("MasterData2","RECDATAREC",'[REC."DATAREC"]',0,0,139.84261,22.67718)
          PropriedadesFR("RECDATAREC","ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=&#60;REC.&#34;TIPOREC&#34;&#62;='E';ParentFont=False")
    
        FrPrn:AddMemo("MasterData2","RECPARCNUM",'[REC."PARCNUM"][REC."PARCREC"]',502.67749,0,94.48825,22.67718)
          PropriedadesFR("RECPARCNUM","ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=&#60;REC.&#34;TIPOREC&#34;&#62;='E';ParentFont=False;VAlign=vaCenter")
    
        FrPrn:AddMemo("MasterData2","RECTIPOREC",'[REC."TIPOREC"]',139.84261,0,0,22.67718)
          PropriedadesFR("RECTIPOREC","ShowHint=False;DataSetName=REC;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Britannic Bold;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
    
        FrPrn:AddMemo("MasterData2","Memo7",'[REC."DESCREC"]',139.84261,0,362.83488,22.67718)
          PropriedadesFR("Memo7","ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=&#60;REC.&#34;TIPOREC&#34;&#62;='E';ParentFont=False")
    
        FrPrn:AddMemo("MasterData2","Memo8",'[REC."VALOREC"]',597.16574,0,120.94496,22.67718)
          PropriedadesFR("Memo8","ShowHint=False;Color=-16777192;DataSetName=REC;DisplayFormat.FormatStr=%2.2n;DisplayFormat.Kind=fkNumeric;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=&#60;REC.&#34;TIPOREC&#34;&#62;='E';ParentFont=False;VAlign=vaCenter")
    
    FrPrn:AddBand("ReportTitle1","Page1",frxReportTitle)
       PropriedadesFR("ReportTitle1","Height=45,35436N*;Left=0N*;Top=18,89765N*;Width=718,1107N*")
    
        FrPrn:AddMemo("ReportTitle1","vtituloo",'[vtituloo]',2,0,714.33117,41.57483)
          PropriedadesFR("vtituloo","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-27;Font.Name=Comic Sans MS;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;ParentFont=False")
    
    FrPrn:AddBand("Footer1","Page1",frxFooter)
       PropriedadesFR("Footer1","Height=60,47248N*;Left=0N*;Top=343,93723N*;Width=718,1107N*;Stretched=True")
    
        FrPrn:AddMemo("Footer1","Memo9",'[vrodape]',11.33859,7.55906,702.99258,34.01577)
          PropriedadesFR("Memo9","ShowHint=False;Color=15793151;Font.Charset=1;Font.Color=16711680;Font.Height=-15;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Style=fsDashDotDot;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haRight;ParentFont=False")
    
    Return .t.
    
    
    
    Function PropriedadesFR(oBj,Propriedades)
    	Local aPro:={} 
    	Local aProp:={} 
    
    	aPro:=HB_ATokens(Propriedades,";")
    
    	for x:=1 to len(aPro)
    		if (AT(".",aPro[x]))>0
    			 aadd(aProp,Substr(aPro[x],1,AT(".",aPro[x])-1))
    		    aadd(aProp,Substr(aPro[x],AT(".",aPro[x])+1,AT("=",aPro[x])-(1+AT(".",aPro[x]))))
    		    aadd(aProp,Substr(aPro[x],AT("=",aPro[x])+1,Len(aPro[x])-AT("=",aPro[x])))
    		    IF right(aProp[3],2) == "N*"
    			 	FrPrn:SetProperty(oBj+"."+aProp[1],aProp[2],Val(Substr(StrTran(aProp[3],",","."),1,Len(aProp[3])-2)))
    		    ELSE
    			 	FrPrn:SetProperty(oBj+"."+aProp[1],aProp[2],aProp[3])
    		    ENDIF
    			 aProp:={}
    		else
    		    aadd(aProp,Substr(aPro[x],1,AT("=",aPro[x])-1))
    		    aadd(aProp,Substr(aPro[x],AT("=",aPro[x])+1,Len(aPro[x])-AT("=",aPro[x])))
    		    IF right(aProp[2],2) == "N*"
    			 	FrPrn:SetProperty(oBj,aProp[1],Val(Substr(StrTran(aProp[2],",","."),1,Len(aProp[2])-2)))
    		    ELSE
    			 	FrPrn:SetProperty(oBj,aProp[1],aProp[2])
    		    ENDIF
    			 aProp:={}
    		endif
    	next
    
    Return .t.
    
    
    //============================================================================//
    //   FR3  TO  PRG                                			By: Arthur Silvestre //
    //                                                                            //
    //                                                                            //
    //Data da Geração: 01/11/2013                                                   //
    //Arquivo Importado: C:\des\Outros\cedro\entr1geral.fr3                            //
    //============================================================================//

     

  16. 3 horas atrás, Wellington Vieira disse:

    boa tarde,

    A unique key garante a unicidade de informações na sua tabela. A primary key também porém esta última pode ser utilizada para relacionamentos de foreign key com outras tabelas. Geralmente chaves únicas (unique key) também pode ter registros nulos, por isso não podem ser chave primária

    Deve-se ficar atento a isso, ou seja é que colunas unique podem ser NULL, enquanto que coluna primary key, não podem.

    Muito bom!

     

  17. Caso use sr_setfilter, poderá indexar nós padrões SQLRDD.

    Set index to "nrocota" additive // desta vc cria um índice temporário padrão SQLRDD.

    Com select + dbusearea() vc ordena "order by"

    Estas duas formas foram que encontrei para substituir o enunciado do escopo desta mensagem.

    Além da opção do  usar XBROWSE com ARRAY, post de Ariston, muito útil, também uso o temporário em memória, uso recurso da própria SQLRDD,

    consequentemente uso índices em memória, fica legal c/xbrowse, inclusive otimiza conversão de .PRG de DBF para SQLRDD, segue abaixo:

    Sr_SetRddTemp("dbfcdx")
    
    SR_GetConnection():Exec( cCmdSql,,.t.,,"mem:test" )   
    Index on "nomedocampo" tag "01" memory
    
    temp->(dbgotop())
    
    xbrowse()
    
    temp->(dbclosearea())

     

×
×
  • Create New...