-
Posts
718 -
Joined
-
Last visited
-
Days Won
14
Posts posted by Jmsilva
-
-
Entendi Eduardo! mais uma vez Obrigado !
-
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 oScriptoScript := __hrbLoad( "myprog.hrb" )__hrbDo( oScript, uPar01, uPar02, uPar03) // caso o HRB receba mais parametros basta criar uPar04, uPar05, ..., uPar99__hrbUnload( oScript )ReturnShow 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!
-
"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!
-
Só configurar uma máquina servidor e acesso via RDP. Resolve o problema.
-
#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
-
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
-
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 )
-
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
-
Sugestão! Você poderia criar uma matriz com rgb da cor, nome e demais informações, depois usar a func ft_savearr(array,'cor.dat') e quando precisar pode recuperar com ft_restarr('cor.dat'). Espero que ajude!
-
Veja se ajuda!
-
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".
-
-
Muito boa a dica, era o que estava precisando e não sabia para resolver um probleminha, com está dica acredito vai solucionar. Assim que fizer irei disponibilizar aqui. Valeu ! Foi show!
-
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!
-
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 codigoMuito 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!
-
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..
-
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
-
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
-
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 oDlgoTimerLocal:Activate()
ENDIF -
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
-
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( " begin Picture1.Picture.LoadFromFile(<vlogoemp>); end." ," " , CRLF ) ) FrPrn:AddBand("PageFooter1","Page1",frxPageFooter) PropriedadesFR("PageFooter1","Height=41,57483N*;Left=0N*;Top=464,88219N*;Width=718,1107N*") FrPrn:AddMemo("PageFooter1","vsiteemp",'[vsiteemp] [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=<REC."TIPOREC">='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=<REC."TIPOREC">='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=<REC."TIPOREC">='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=<REC."TIPOREC">='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 // //============================================================================//
-
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áriaDeve-se ficar atento a isso, ou seja é que colunas unique podem ser
NULL
, enquanto que coluna primary key, não podem.Muito bom!
-
11 horas atrás, kapiaba disse:
Esta classe sofreu melhorias?
Obg. abs.
Não me recordo, mas caso esteja com algum problema ou tem a necessidade de algum recurso que não tem, é só postar que verifico a possibilidade da implementação.
-
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())
Uso de arquivo ".HRB"
in Programação
Posted
Harbour nome.prg /n /gh