Ir para conteúdo
Fórum Script Brasil

DiabloX3

Membros
  • Total de itens

    143
  • Registro em

  • Última visita

Tudo que DiabloX3 postou

  1. Simples, minha dúvida é essa. tenho um banco de dados criado pelo Interbase usando Firebird 1.5. Resolvi atualizar o sistema e deletei o firebird 1.5 e o ibexpert 2.0 pra colocar uma nova versao, mas não fiz backup de banco nem nada. Instalei o firebird 2.0.5 e o IBExpert 2009 . Fui em register database, selecionei meu GBD e coloquei Firebird Version 2.0 e conectou normalmente. É só isso que devo fazer ou fiz errado em não criar backup/restore? Queria saber se tem problema em continuar assim ... abraço
  2. DiabloX3

    Feira TI

    É que normalmente essas feiras é 1x por ano e sempre no mesmo mês então se tipo alguém já foi ou ouviu falar sabe +/- quando elas acontecem visto que tenho que me programar pra poder ir (trampo + longínqua distância até a capital) ehehe
  3. AHEUIOHAIOUEHIOAUEHui ótimaa
  4. DiabloX3

    Feira TI

    Galera, não sei se já foi postado aqui, googleei mas não encontrei o que queria. Alguém sabe quando acontece a(s) feira(s) de TI em Sampa e/ou tem alguma informação sobre ela(s)? Mesmo que fosse no interior de SP já me interessa como aquele evento Firebird Developer Day. Gostaria de um calendário com datas desses eventos ligados a TI e a programação. Se alguém suber fico grato.
  5. Se o método PreviewModal for = ao ShowModal do form então o Exit só seria executado depois que eu fechasse o form. Como ele dá o previewmodal e volta pro MoreData := (c < qry_gabarito_itens.RecordCount ); eu não chego a fechar o form nenhuma vez, por isso ele não entra no exit e sim em um laço infinito. Sobre o c = 0 continua mostrando 3 itens, mesmo iniciando ele zerado e no AfterPrint. Como ninguém aqui tem um pouco de paciência e nem muito tempo (não sei se aí com voce é assim também) eles resolveram por hora deixar em apenas uma nota porque caberá todos os itens (não vão vender mais que 15 itens por nota, então vou deixar o relatório ligado ao datasource mesmo e só controlar o tamanho da banda pra aumentar e diminuir. Quando for pegar essa parte denovo eu volto a estudar essa rotina. De qualquer forma agradeço a atenção e a ajuda mais uma vez! Se puder dá uma olhada no post que te perguntei sobre os flags no tópico Commit X IBX ;) Abraço
  6. O Zeos 6.5.1 apesar de não ter uma dll com o nome de Mysql 5.0 funciona perfeitamente utilizando o protocol mysql 4.1. Eu tenho um servidor mysql 5.0 e utilizo assim sem problemas. abraço
  7. else begin frGabaritoNF.PreviewModal; exit; end; Tive apenas que tirar esse Preview daí porque senão entrava em um laço infinito (não me pergunte porque - no debug não saía dessa linha) visto que eu já chamo o preview no botão Imprimir do formulário de nota, mas infelizmente aconteceu a mesma coisa depois que comentei essa linha .. eu busquei um registro com 4 itens e no visualizar mostra 3. -edit- tinha apertado enviar antes de concluir
  8. Sim, se o dataset tiver mais que 15 registros eu vou forçar uma nova página, senão ele imprimirá os 14 por exemplo em uma única nota fiscal. fazer uma ultima leitura no evento onNeedData mesmo? Pelo visto ninguém teve essa dúvida no google nem aqui no fórum. O que talvez poderia ser feito é fazer essa leitura em um onNeedData do SubDetail, mas não trabalho com essa banda. Não consegui achar uma solução cabível até o momento para isso. E é o primeiro registro que ele não está mostrando. Quando passo o debug pelo preview ele entra no evento onNeedData pela 1x e depois ele entra denovo quando aperto F9 e daí MoreData já vai para False sem mesmo ter impresso o 1° item. Antes eu achava que era por causa do FormRel.Prepare mas eu tirei e continua a mesma coisa.
  9. Talvez se pensarmos qual o arquivo que delimita a versao do delphi no computador e aonde ele é instalado por padrão seja uma dica É como se um programa instalasse sempre uma dll na pasta system. O que voce teria que fazer é ver a versão dessa dll pelo nome talvez. Ou senão encontrar a chave do registro que o delphi é gravado e verificar a versão. Abraço
  10. //Edit - faltou o começo da procedure Novo código procedure Tfrm_gabarito_nf.frGabaritoNFNeedData(Sender: TObject; var MoreData: Boolean); begin if qry_gabarito_itens.RecordCount > 15 then begin MoreData := not qry_gabarito_itens.RecordCount < 16; if MoreData = False then frGabaritoNF.NewPage; qry_gabarito_itens.Next; end; MoreData := not qry_gabarito_itens.Eof; qry_gabarito_itens.Next; end; Engraçado que eu tenho 3 registros e só está mostrando 2 ...
  11. Bom, deve dar certo, só falta fazer um último teste: controlar o onNeedData. Eu acho estranho no fortes report as bandas detail e subdetail. Se eu colocar um detail e dentro dela um subdetail não mostra itens nenhum (mesmo fazendo as ligações de datasource etc) agora se faço o contrário aí sim consigo ver os itens. Ainda não descobri o porque. Se voce souber (ou se estou implementando algo errado ...) Mas a dúvida mesmo é a seguinte procedure Tfrm_gabarito_nf.frGabaritoNFBeforePrint(Sender: TObject; var PrintIt: Boolean); begin qtd_impressa := 0; qry_gabarito_rel.First; end; procedure Tfrm_gabarito_nf.RLSubDetail1NeedData(Sender: TObject; var MoreData: Boolean); begin while not qry_gabarito_rel.Eof do begin Inc(qtd_impressa); MoreData := qtd_impressa < 16; if MoreData then qry_gabarito_rel.Next; end; end; Aí na programação não está totalmente correto pois falta a parte do else para forçar nova página caso passe de 15 itens lançados na nota. Mas como não estou conseguindo imprimir nem os 15 primeiros preciso fazer por partes. Há erros nessas linhas? Ou nos eventos? O datasource do TRLReport e do Subdetail não estao setados abraço
  12. Interessante essa questão do label e memo aí, vou até dar uma verificada também. Sobre o controlador de registros eu já dei uma pesquisada e até vi um tópico seu falando sobre isso (fazer um controlador a : integer e testar enquanto ele não for = a 10 p.e). Enquanto postei a dúvida aqui, continuei dando uma procurada e achei algo um tanto interessante também, talvez nos ajude. Testei aqui e parece funcionar. Coloquei uma banda de detail como já estava fazendo e deixei ela exatamente do tamanho dos RLDBText. Depois coloquei abaixo dela uma ColumnFooter e deixei ela com um Height fixa. Será que assim dá certo também e agora é só eu controlar o avanço do dataset no onNeedData? Eu pesquisei também outras 2 possibilidades mas achei que não estão funcionando ou não entendi o que elas fazem realmente. Uma é a propriedade RealBounds da banda que diz fixar o tamanho desejado. Outra é a Completion que fala completar com bandas em branco até o ParentPager (também não sei o que seria isso). Você já testou colocando essa banda em branco? Ou testou alguma dessas propriedades? Funciona? Abraço
  13. Pessoal, tenho uma dúvida simples. Estou imprimindo um formulário de nota fiscal no Fortes Report. Minha dúvida é quanto ao conotrole do tamanho da banda Detail. Imaginemos que por padrão ela não possa exceder uma Height de 200. Então tenho uma banda Header inicialmente com os dados do cabeçalho da nota e logo após essa banda Detail. Defini um autosize False e expandi mas na hora já pensei que não seria conveninente porque para mais de um registro ela duplicaria o tamanho da altura e os itens não sairiam grudadinhos um nos outros. Então andei pesquisando e uma opção que me pareceu agradável foi mexer na propriedade Options da banda e setar boOptimisticPageBreak para True pois segundo documentação diz que Seria essa mesma a opção adequada? Eu setei para True mas não vi diferenças. A lógica de impressão seria mais ou menos essa: se imprimir até 15 itens a banda detail continua com Height de 200 e finaliza a impressão com o Footer (Transportadora etc...). Se possuir menos de 15 então os itens devem sair juntinhos linha abaixo de linha (no exemplo anterior também, claro) mas o que faltar para atingir os 15 itens que dá a altura de 200 pra banda deve ser, digamos assim, "impresso invisivel" só para não desconfigurar a banda Footer e se possuir mais de 15 registros então continuaria em outra Nota Fiscal. Não consegui fazer esse controle de "travar" a banda detail para sempre sair do mesmo tamanho. Como fazer? Abraço
  14. Vou ressusitar esse tópico pois não encontro minha resposta por ai, e quando o cara aqui no forum respondeu, passou por email e não ficamos sabendo a solução. Eu adicionei um DBCheckbox ao projeto e desenhei ele no onDrawCollumnCell de acordo com uma pesquisa de SQL. só que pelo que percebi nos exemplos eu só consigo selecionar um campo e quando saio e seleciono outro ele des-seleciona o antigo. O que preciso é tipo um DBCheckBoxClick que selecione os que eu cliquei e deixe marcado. Tentei nesse evento mas não tive sucesso. O código assim está procedure Tfrm_pesq_nfp.grd_notasDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); const IsChecked : array[Boolean] of Integer = (DFCS_BUTTONCHECK, DFCS_BUTTONCHECK or DFCS_CHECKED); var DrawState: Integer; DrawRect: TRect; begin if grd_notas.DataSource.DataSet.FieldByName('NF_CANCELADA').AsString = 'S' then begin if (Column.Field.FieldName = DBCheckBox1.DataField) then begin DBCheckBox1.Left := Rect.Left + grd_notas.Left + 2; DBCheckBox1.Top := Rect.Top + grd_notas.top + 2; DBCheckBox1.Width := Rect.Right - Rect.Left; DBCheckBox1.Height := Rect.Bottom - Rect.Top; DBCheckBox1.Visible := True; end; end else begin if (Column.Field.FieldName = DBCheckBox1.DataField) then begin DrawRect:=Rect; InflateRect(DrawRect,-1,-1); DrawState := ISChecked[Column.Field.AsBoolean]; grd_notas.Canvas.FillRect(Rect); DrawFrameControl(grd_notas.Canvas.Handle, DrawRect, DFC_BUTTON, DrawState); end; end; end; Estou pedindo já porque terei que criar outro Field ao lado desse NF_CANCELADA o qual o cliente poderá optar por selecionar os checks ou não e ele pode selecionar varios. Componentes utilizados IBQuery, DBCheckBox, DBGrid, DataSource. abraço
  15. DiabloX3

    Commit x IBX

    huum, mas monitorar os eventos pelo SQLMonitor o que tem em comum com os isolamentos? digo assim, para questao dos updates e possíveis conflitos ..
  16. Galera, agradeço as respostas e informo que problema foi resolvido alterando a propriedade do RLDrafFilter. Para os que tiverem o mesmo problema basta testar as opções da propriedade TRLDraftEjectMethod
  17. DiabloX3

    Commit x IBX

    Jhonas, vim procurar alguns topicos meus e este por exemplo, pode por como resolvido, estou usando o read_commited ai sem problemas e esta tudo certo vi o email também, achei bem interessante e diferente ehehe obrigado pelas soluções mais uma vez *edit* Unica dúvida que fiquei foi no caso de usar sem nada (igual voce) ou usar wait porque em ambos os casos dá certo aqui no projeto. se usar nowait ele da deadlock voce optou por não usar nada por que? eu li em alguns artigos a parte que eles usam alguma coisa normalmente ( ou wait ou no_wait) mas não falava nada sobre não usar nenhum dos dois. abraço
  18. não, não da problemas na hora de compilar. O meu medo é que uma variavel assuma o lugar da outra na hora de execução. Não sei se tem esse risco?
  19. e tipo assim. vamos supor que eu tenha 3 variaveis com o mesmo nome na public, no meu exemplo a var mensagem. Se eu declaro ela em mais 2 forms no mesmo lugar (public) então se eu der ctrl enter num quarto formulario eu terei 3 linhas com o mesmo nome de variavel. Tem problema quanto a apagar o valor de outra ou referenciar errado, como que o delphi trata?
  20. Acho estranho esse sistema de pesquisa do fórum. Simplesmente coloco a palvra variável e fala que nada foi encontrado. Estranho não ter nenhuma pergunta sobre isso, mas já que não tem, vamos lá. Estou com uma simples dúvida em uma aplicação eu tenho 3 tipos de variáveis private { Private declarations } public end; var frmCaixa: TfrmCaixa; totalvenda: double; mensagem : string; as variáveis que estão em var como totalvenda e mensagem aparecem em qualquer form da aplicação. Se eu declarar ela em dois forms, então num terceiro form ela aparece 2x quando aperto ctrl+Enter. Queria saber se é correto usar aí as variáveis. Queria saber também a diferença dessa para private e a public (como o nome já diz, parece ser publica para a aplicação inteira, mas na vdd a publica pra aplicação inteira é nessa var acima do implementation.
  21. DiabloX3

    Commit x IBX

    Eu tenho uma outra solução Jhonas. Criei um IBTransaction para cada form. Nesse componente serão ligadas as querys de update (insert, delete, update) desse form e as de select estão ligados a um outro transaction. Como as de select são de pesquisa eu descobri a opção Read_Commited no IBTransaction. Agora eu pergunto: Estou trabalhando com 1 Trans para pesquisa com Read_commited e vários Trans para updates, 1 em cada form. Tem gente que diz para retirar a opção nowait da propriedade, outros para deixar. Eu já li sobre isolamentos no firebasebr mas não entendi muito bem se devo deixar ou não. Quero saber isso e tambem se apenas no meu transaction de leitura (select) preciso ter essa opção read_commited ativada abraços
  22. DiabloX3

    Commit x IBX

    Se pudesse me postar algumas imagens do seu sistema pra ver como fica seria bom. Me parece muito estranho a princípio. Queria ver alguns exemplos.. se não der, paciência. abraço
  23. DiabloX3

    Commit x IBX

    Deixa eu ver se eu entendi. No sistema eu tenho um menu com cadastros. São 12 ao todo incluindo clientes, produtos, fornecedores, etc... Em cada formulário que eu possa precisar de informações desses cadastros, como nota fiscal (nosso exemplo) eu preciso ter 12 TabSheet? Já que não sei qual cadastro ele pode querer modificar e inserir na nota.
  24. DiabloX3

    Commit x IBX

    Não é possível assim Jhonas. A tela de produtos é o cadastro de produtos. Eu estou vendendo e quero incluir um item. Minimizo a tela de vendas, abro o cadastro (outro form), insiro, gravo, fecho. Volto a nota e pesquiso o produto e ele precisa estar lá sem que tenha sumido todos os itens que eu estava vendendo. Eu tenho nota entrada, nota saida e outros forms de inserção de itens. Não é viavel criar um pagecontrol para cada um deles e ter os produtos lá. Tem q puxar tudo do Form de cadastro sem inteferência de um no outro. abraço
  25. DiabloX3

    Commit x IBX

    Vou mudar minha pergunta agora mas com o mesmo assunto. Tenho uma aplicação Cliente/Servidor a qual utilizava apenas um IBTransaction para comitar todo o sistema. Porém isso não é viável para trabalhar com múltiplas janelas. Por exemplo: Estou com um formulário de nota fiscal aberto com itens lançados na nota. Se precisar incluir um novo produto eu minimizo a tela de nota, abro o cadastro de produto e faço a inclusão. Porém desse jeito eu perco os itens lançados na nota pois na gravação o commit fecha tudo. Qual a melhor saída para esse tipo de problema com esse tipo de aplicação Cliente/Servidor? Abraços
×
×
  • Criar Novo...