Jump to content
Fivewin Brasil

evertonlb

Membros
  • Posts

    733
  • Joined

  • Last visited

  • Days Won

    18

Everything posted by evertonlb

  1. Não reparem no código.. faz quase 8 anos que fiz ele. Hoje não estaria bagunçado e nem com código redundante! Veja isso também http://fivewin.com.br/index.php?/topic/24573-texto-dentro-de-imagem/ Att. Everton
  2. Não dá usando o Design no say? Uma vez fiz um "desenhador" de etiquetas que usava esta propriedade para clicar e arrastar. Acho que se colocar um BMP no fundo dá para fazer algo.... No caso das etiquetas eu guardo a posição em que deixei o componente num DBF e dou um nome para esta etiqueta. Depois, quando o usuário escolher o nome da etiqueta eu recupero as posições e coloco cada componente (say) no local definido! Segue o código! Att. Everton Function Layout(NomeEtiqueta,; PO1TITUL, PO2TITUL, PO1DESCR, PO2DESCR, PO1CODBA, PO2CODBA, PO1CODIG, PO2CODIG,; PO1AVDES, PO2AVDES, PO1AVVAL, PO2AVVAL, PO1APDES, PO2APDES, PO1APVAL, PO2APVAL ) Private oGrp1, oSay1, oSay2, oSay3, oSay4, oSay5, oSay6, oSay7, oSay8, oBut2, oBut3 /* oSay1:Var:="Titulo" oSay2:cVarName:="Descricao" oSay3:cVarName:="CodBarra" oSay4:cVarName:="DescAVista" oSay5:cVarName:="ValAVista" oSay6:cVarName:="DescAPrazo" oSay7:cVarName:="ValAPrazo" oSay8:cVarName:="Codigo" */ if( empty(PO1TITUL), PO1TITUL := 20, .t.) if( empty(PO2TITUL), PO2TITUL := 8, .t.) * if( empty(PO1DESCR), PO1DESCR := 35, .t.) if( empty(PO2DESCR), PO2DESCR := 8, .t.) * if( empty(PO1CODBA), PO1CODBA := 50, .t.) if( empty(PO2CODBA), PO2CODBA := 8, .t.) * if( empty(PO1CODIG), PO1CODIG := 75, .t.) if( empty(PO2CODIG), PO2CODIG := 8, .t.) * if( empty(PO1AVDES), PO1AVDES := 90, .t.) if( empty(PO2AVDES), PO2AVDES := 8, .t.) * if( empty(PO1AVVAL), PO1AVVAL := 90, .t.) if( empty(PO2AVVAL), PO2AVVAL := 121, .t.) * if( empty(PO1APDES), PO1APDES := 105, .t.) if( empty(PO2APDES), PO2APDES := 8, .t.) * if( empty(PO1APVAL), PO1APVAL := 105, .t.) if( empty(PO2APVAL), PO2APVAL := 121, .t.) * DEFINE FONT oFONT1 NAME "Courier New" SIZE 8, 16 DEFINE FONT oFONT2 NAME "Arial" SIZE 0, -13 DEFINE FONT oFONT3 NAME "Agency FB" SIZE 0, -19 BOLD DEFINE FONT oFONT4 NAME "Gill Sans MT" SIZE 0, -16 Define DIALOG oFormLout TITLE "RFID - (49)XXXX-XXXX - Layout de Etiquetas"; FROM 100, 233 to 535, 738 PIXEL COLOR 0, 14215660 ACTIVATE DIALOG oFormlOut ON INIT IniciaroFormlOut(NomeEtiqueta, PO1TITUL, PO2TITUL, PO1DESCR, PO2DESCR,; PO1CODBA, PO2CODBA, PO1CODIG, PO2CODIG, PO1AVDES, PO2AVDES,; PO1AVVAL, PO2AVVAL, PO1APDES, PO2APDES, PO1APVAL, PO2APVAL ) //---------------------------------------------------------------------------- Function IniciaroFormlOut(NomeEtiqueta, PO1TITUL, PO2TITUL, PO1DESCR, PO2DESCR, PO1CODBA, PO2CODBA,; PO1CODIG, PO2CODIG, PO1AVDES, PO2AVDES, PO1AVVAL, PO2AVVAL, PO1APDES,; PO2APDES, PO1APVAL, PO2APVAL ) @ 4, 6 GROUP oGrp1 TO 376, 500 LABEL "" PIXEL; OF oFormlOut COLOR 0, 16777215 FONT oFont1 @ PO1TITUL, PO2TITUL SAY oSay1 VAR "Titulo da Etiqueta" SIZE 104, 20 PIXEL; OF oGrp1 COLOR 0, 16777215 FONT oFont2 Design @ PO1DESCR, PO2DESCR SAY oSay2 VAR "Descrição da Mercadoria" SIZE 148, 20 PIXEL; OF oGrp1 COLOR 0, 16777215 FONT oFont2 design @ PO1CODBA, PO2CODBA SAY oSay3 VAR "CÓDIGO DE BARRAS" SIZE 220, 28 PIXEL; OF oGrp1 COLOR 0, 16777215 FONT oFont3 design @ PO1AVDES, PO2AVDES SAY oSay4 VAR "Valor a Vista R$" SIZE 98, 20 PIXEL; OF oGrp1 COLOR 0, 16777215 FONT oFont2 design @ PO1AVVAL, PO2AVVAL SAY oSay5 VAR "Av 99,99" SIZE 56, 20 PIXEL; OF oGrp1 COLOR 0, 16777215 FONT oFont2 design @ PO1APDES, PO2APDES SAY oSay6 VAR "Valor a Prazo R$" SIZE 106, 20 PIXEL; OF oGrp1 COLOR 0, 16777215 FONT oFont2 design @ PO1APVAL, PO2APVAL SAY oSay7 VAR "Ap 99,99" SIZE 62, 20 PIXEL; OF oGrp1 COLOR 0, 16777215 FONT oFont2 design @ PO1CODIG, PO2CODIG SAY oSay8 VAR "Código" SIZE 60, 20 PIXEL; OF oGrp1 COLOR 0, 16777215 FONT oFont2 design @ 383, 430 BUTTON oBut2 Prompt "Voltar" SIZE 70, 24 PIXEL; OF oFormlOut ACTION oFormlOut:end() FONT oFont4 @ 383, 342 BUTTON oBut3 Prompt "Salvar" SIZE 70, 24 PIXEL; OF oFormlOut ACTION SalvaLayout(NomeEtiqueta) FONT oFont4 SET MESSAGE OF oFormLOut TO "Etiquetas RFID - V 0.95" Return NIL *------------------------------------------------------------------------------------* * * * Define a funcao que salva o layout das etiquetas * * *------------------------------------------------------------------------------------* static function SalvaLayout(NomeEtiqueta) if empty( NomeEtiqueta ) MsgInfo( "Nome da etiqueta em branco, volte e atribua um nome a esta etiqueta.", "Atenção" ) return NIL endif Select Etiqueta INDEX ON ETI_NOME TO ETI001 go top if dbseek( NomeEtiqueta ) rlock() replace POS_1TITUL with oSay1:nTOP(),; POS_2TITUL with oSay1:nleft(),; POS_1DESCR with oSay2:nTOP(),; POS_2DESCR with oSay2:nleft(),; POS_1CODBA with oSay3:nTOP(),; POS_2CODBA with oSay3:nleft(),; POS_1CODIG with oSay8:nTOP(),; POS_2CODIG with oSay8:nleft(),; POS_1AVDES with oSay4:nTOP(),; POS_2AVDES with oSay4:nleft(),; POS_1AVVAL with oSay5:nTOP(),; POS_2AVVAL with oSay5:nleft(),; POS_1APDES with oSay6:nTOP(),; POS_2APDES with oSay6:nleft(),; POS_1APVAL with oSay7:nTOP(),; POS_2APVAL with oSay7:nleft() ?? "Layout da etiqueta " + alltrim( NomeEtiqueta ) + " salvo" PO1TITUL := POS_1TITUL PO2TITUL := POS_2TITUL PO1DESCR := POS_1DESCR PO2DESCR := POS_2DESCR PO1CODBA := POS_1CODBA PO2CODBA := POS_2CODBA PO1CODIG := POS_1CODIG PO2CODIG := POS_2CODIG PO1AVDES := POS_1AVDES PO2AVDES := POS_2AVDES PO1AVVAL := POS_1AVVAL PO2AVVAL := POS_2AVVAL PO1APDES := POS_1APDES PO2APDES := POS_2APDES PO1APVAL := POS_1APVAL PO2APVAL := POS_2APVAL else rlock() append blank replace POS_1TITUL with oSay1:nTOP(),; POS_2TITUL with oSay1:nleft(),; POS_1DESCR with oSay2:nTOP(),; POS_2DESCR with oSay2:nleft(),; POS_1CODBA with oSay3:nTOP(),; POS_2CODBA with oSay3:nleft(),; POS_1CODIG with oSay8:nTOP(),; POS_2CODIG with oSay8:nleft(),; POS_1AVDES with oSay4:nTOP(),; POS_2AVDES with oSay4:nleft(),; POS_1AVVAL with oSay5:nTOP(),; POS_2AVVAL with oSay5:nleft(),; POS_1APDES with oSay6:nTOP(),; POS_2APDES with oSay6:nleft(),; POS_1APVAL with oSay7:nTOP(),; POS_2APVAL with oSay7:nleft(),; ETI_NOME with NomeEtiqueta ?? "Layout NOVO da etiqueta " + alltrim( NomeEtiqueta ) + " salvo" PO1TITUL := POS_1TITUL PO2TITUL := POS_2TITUL PO1DESCR := POS_1DESCR PO2DESCR := POS_2DESCR PO1CODBA := POS_1CODBA PO2CODBA := POS_2CODBA PO1CODIG := POS_1CODIG PO2CODIG := POS_2CODIG PO1AVDES := POS_1AVDES PO2AVDES := POS_2AVDES PO1AVVAL := POS_1AVVAL PO2AVVAL := POS_2AVVAL PO1APDES := POS_1APDES PO2APDES := POS_2APDES PO1APVAL := POS_1APVAL PO2APVAL := POS_2APVAL endif return NIL
  3. E no caso de eu já ter um BD no MySql, posso simplesmente copiar pro MariaDB? Att. Everton
  4. Marcelo.. sinceramente não creio que seja muito frequente este problema.. Ao menos EU não me lembro de um fato similar! Pode ser que você trabalhe muito para resolver um problema que é altamente esporádico!!! Não sei o "caminho das pedras" mas eu tentaria guardar o tamanho do arquivo, data de modificação e sei lá mais o que, acho que isso dará um Norte num caso futuro! Att. Everton
  5. Poxa, legal Evandro, vou procurar o MariaDB.
  6. Evandro, vi no outro post a respeito de migração de BD, que você mudou para o MariaDB.. É possível mudar para o MariaDB usando a SQLLIB? Att. Everton
  7. Brother, assim como o Evandro, usei e uso a SqlLib. Em pouquíssimo tempo e com pouquíssimas alterações minha aplicação rodava com o MySql. Quando falo pouquíssimo tempo quero dizer menos de uma semana. Tem uma ferramenta do Kleyber (se não me engano) que gera as tabelas MySql a partir dos DBF´s Como já comentei no outro post, depois de 2 anos ainda não tô usando os comandos DBF. Até onde pude verificar ficou mais rápido, mesmo usando os comandos DBF. tenho 3 softwares rodando em alguns clientes e espero que até o final do ano tenha mudado pelo menos 2 para comandos SQL. Att. Everton
  8. Cara, não tem como colocar uma imagem do que vc pretende fazer? Acho que seria mais fácil de lhe ajudar! Att. Everton
  9. Legal Luiz.. Obrigado, deu certo!!! Att. Everton
  10. Eu abri o designer do FastReport, e ai criei um cabeçalho, e um rodapé e no meio tem o MasterData1. mas não descobri onde escrevo as instruções que tu me passou! Att. Everton
  11. Boa tarde amigo.. Eu gostaria de colocar dentro do meu software um get para que o usuário escolhesse o relatório que quer emitir, mas ai todo o processamento das informações teria que ficar dentro do FR3.. Tem como? Tipo, tenho que emitir um relatóriozão de todos os alunos, mas os que estão inativos eu não quero que saia... tem como fazer isso dentro do relatório ou terei que fazer um filtro antes de chamar o FR3? Att. Everton
  12. Luiz, eu acho que nas configurações do leitor tem como você definir se depois do código lido o leitor te manda algo.. Sei que tu pode configurar para ele calcular e emitir um dígito verificador.. Se no modelo que usa não tem essa possibilidade pelo menos um CR/LF você pode receber... Ai fica mais simples.. se veio algo além do código tu tem como tratar! Att. Everton
  13. 100%... Obrigado! Att. Everton
  14. Boa tarde pessoal, olha tenho alguns get´s que ficam com os caracteres em maiúsculo, porém quando se acentua as letras acentuadas ficam em minúsculo. ex.. ACENTUAçãO Tenho a picture "@!", como faço para que as letras acentuadas fiquem também em maiúsculo? Att. Everton
  15. Bom, acho que isso pode te ajudar, a lógica é muito simples. É um código que uso para impressão em térmica, mas lá tambem tem o lance de página. select (_cConArq ) // aqui é um arquivo que tem as parcelas go top V_cImpCod := CONT_PART select CliFor set order to 01 go top if dbseek(V_cImpCod ) /// Aqui pego os dados do cliente... cNomeCliCarne := alltrim(PES_RAZA ) cEndereco1 := alltrim(left(PES_RUAA,30 ) ) cEndereco2 := alltrim(substr(PES_RUAA,31,30 ) ) cNumeroCasa := PES_NUME cBairroCli := PES_BAIR cCidadeCli := PES_CIDA MesAni := month(PES_NASC) DDataAni := PES_NASC endif dbSelectArea((_cConArq ) ) // aqui seto o arquivo temporário que tem as parcelas da venda PRINT oPrinter FROM USER _xImpCarne; Name "impressão de carne" oFont := TFont():New("ARIAL",0,-9,,,,,,,,,,,,,oPrinter,) oFont1 := TFont():New("ARIAL",0,-10,,.T.,,,,,,,,,,,oPrinter,) oFont2 := TFont():New("ARIAL",0,-12,,,,,,,,,,,,,oPrinter,) oFont3 := TFont():New("ARIAL",0,-14,,.T.,,,,,,,,,,,oPrinter,) CursorWait() nRow := 5 nCol := 5 nContador := 1 cNomeRelatorio := "Carnê " + V_cImpCod *oPrinter:SetPage(6) oPrinter:StartPage() * nContador := 1 while !eof() // aqui faço até que tem coisa dentro do do arquivo.. mas se usar um vetor, ai.. bom acho // ai tu se vira!!! qqer coisa te ajudo na lógica. nRow += 50 oPrinter:Say(nRow,nCol,"Parcela nº....:",oFont1) oPrinter:Say(nRow,nCol + 230,left(CONT_SEQU,8) + "/" + right(alltrim(CONT_SEQU ),2 ),oFont) nRow += 45 oPrinter:Say(nRow,nCol,"Vencimento.:",oFont1) oPrinter:Say(nRow,nCol + 210,dtoc(CONT_VCTO),oFont) nRow += 45 oPrinter:Say(nRow,nCol,"Valor R$.......:",oFont1) oPrinter:Say(nRow,nCol + 220,transform(CONT_ORIG,"@E 99,999.99" ),oFont) nRow += 45 * if CONT_VCTO == date() oPrinter:Say(nRow,nCol,"** Recebida em...: " + DTOS( date() ), oFont) else oPrinter:Say(nRow,nCol,"Pago em.......: _____/_____/_____",oFont1) endif * nRow += 45 nRow += 15 oPrinter:Say(nRow,nCol,"----------------------------------------------------------",oFont2) nContador ++ * if nContador == 8 // Aqui vc controla o numero de linhas ou numero de parcelas (Carnet) impressas.. Quando // chegar no limite da folha, "fecha" ela e "abre' outra e continua a impressão. oPrinter:endPage() oPrinter:StartPage() nCcontador := 1 nRow := 1 nCol := 1 endif * dbSkip(1) enddo nRow += 300 oPrinter:Say(nRow,nCol,"",oFont) CursorArrow() oPrinter:EndPage() oPrinter:end() * Att. Everton
  16. Ola Crisvam. Mesmo que faça isso sem usar o FastReport, conforme a dica do Evandro, creio que não seja muito complicado... tenho uma rotina em Clipper que imprime em matricial se lhe ajudar posso enviar sem problema! Att. Everton
  17. Cara.. tô com o 10 64bits, i5, 6Gb e compilo usando o MyMake.. demora uns 3,5 - 4 minutos... Percebi uma coisa... quando abro o Edge para acessar o banco tenho que desligar o note para voltar a compilar normalmente. Mas computo isso (o fato de ter que desligar) aos componentes da Gas Tecnologia. Com relação a travar no meio da compilação, nunca me aconteceu! Att. Everton
  18. Bom dia.. Minha experiência se dá com a SQLLIB. Estava usando DBF e com esta ferramenta consegui passar de um dia pro outro para o MYSQL, utilizo ainda os comandos do DBase, mas ao menos não estou tão atrasado! rsrsrsr...Fiz alguns testes usando os comando SQL, mas infelizmente como cobro o escanteio e corro para cabeçear não dei sequencia!
  19. Olha Kapiaba.. devo ter o 16 bits em algum backup... Serve??
  20. APP Inventor além de free é fácil de utilizar tem uma IDE intuitíva. Pelo que vi dá para utilizar o MySql. Em 5 minutos saiu um "Alo mundo!" o WinDev é muito poderoso, mas ai tem que pagar, e bem.. Nos próximos 45 dias vou fazer um aplicativo e testar se o App Inventor atende o que preciso. Vou reportando o andamento aqui! Att. Everton
  21. Putz... Nem me fale. Tem toda a razão Alessandro! As vezes fica caro porque eu cobro pouco pelo trabalho.
  22. Mas o valor é esse mesmo de U$ 1830.00 a versão FULL... preciso fazer um software de acesso a banco de dados on line... vou mandar umas informações e verificar outras. mas nesse valor ai.. JESUS me salve!!
  23. Kleyber.. Vi no site o valor de U$ 1830.00. Isso vezes 4.00 dá uns R$ 7.300,00! Com licença... vou ali dar uma desmaiadinha e já volto!!!
  24. Luiz.. pode-se fazer acesso a banco de dados instalado em um Datacenter? Utilizo o MySql
×
×
  • Create New...