Jump to content

Hintz

Members
  • Content count

    8
  • Joined

  • Last visited

Community Reputation

0 Comum

About Hintz

  1. Fiz um sistema no Delphi XE8, que utiliza o ClientDataSet. No meu computador roda Ok. Quando instalo em outro computador, da o seguinte erro: Access violation at address 0080635B in module 'AutomacaoC.exe'. Read of address 00000000, quando executa o seguinte comando: cdsForm.CreateDataSet; cdsForm.EmptyDataSet; cdsForm.Open; Alguem pode me ajudar?
  2. Hintz

    fechar form

    Tenho uma tela de Cadastro e outra de Consulta. Quando vou consultar um Cliente, abro o form de Cliente. No envento onShow chamo o form de consulta. (através do botao cxBusca). Se o retorno do form de consulta for mrOk gostaria de fechar o form de cadastro, também com mrOk. Exemplo: procedure TfrmCliente.FormShow(Sender: TObject); begin cxBuscaClick(Sender); end; procedure TfrmCliente.cxBuscaClick(Sender: TObject); begin frmDemEconFinCon := TfrmDemEconFinCon.Create(self); if frmDemEconFinCon.ShowModal = mrOk then begin // fechar o frmCliente = mrOk end FreeAndNil(frmDemEconFinCon); end; Alguem pode me ajudar? Utilizo o Delphi XE8. Att. João Hintz
  3. Utilizo o Delhi 7 e Firebird 2.0 utilizo o Zeos para conectar no banco de dados firebird. Tenho a seguinte rotina para incluir uma Ordem Serviço: DMArq.zConexao.StartTransaction; StrSql := 'Insert into Orcam_Dados_001' + '(PedNum, PedDat, PedCfo) values ' + '(:vpPedNum, :vpPedDat, :vpPedCfo)'; DMArq.zqTrans.SQL.Clear; DMArq.zqTrans.Sql.Add(StrSql); DMArq.zqTrans.ParamByName('vpPedNum').Value := NrVenda; DMArq.zqTrans.ParamByName('vpPedDat').asDate := Date; DMArq.zqTrans.ParamByName('vpPedCfo').asString := 'C'; ok := true; DMArq.zqTrans.ExecSQL; DMArq.zConexao.Commit; Numa tabela temporaria eu digito as informações da Ordem de Serviço.( DMArqVen.qOrcamento) Apos digitação eu gravo. DMArq.zConexao.StartTransaction; iConta := 0; oCpf := DMArqVen.qOrcamento.FieldByName('VenNum').asString; StrSql := 'Update Orcam_Dados_' + Cod_Emp + ' Set ' + 'PedNom = :vPedNom, ' + 'PedNum = :vPedNum, ' + 'PedCli = :vPedCli, ' + 'PedDat = :vPedDat, ' + 'PedEnd = :vPedEnd, ' + 'PedBai = :vPedBai, ' + 'PedCid = :vPedCid, ' + 'PedCfo = :vPedCfo, ' + 'PedVen = :vPedVen, ' + 'PedFon = :vPedFon, ' + 'PedObs = :vPedObs, ' + 'PedObs1 = :vPedObs1, ' + 'PedNop = :vPedNop, ' + 'PedVct = :vPedVct, ' + 'PedVda = :vPedVda, ' + 'PedPda = :vPedPda, ' + 'PedTot = :vPedTot, ' + 'PedVlr1 = :vPedVlr1, ' + 'PedVct1 = :vPedVct1, ' + 'PedSer1 = :vPedSer1, ' + 'PedEfi1 = :vPedEfi1, ' + 'PedBco1 = :vPedBco1, ' + 'PedChe1 = :vPedChe1, ' + 'PedVlr2 = :vPedVlr2, ' + 'PedVct2 = :vPedVct2, ' + 'PedSer2 = :vPedSer2, ' + 'PedEfi2 = :vPedEfi2, ' + 'PedBco2 = :vPedBco2, ' + 'PedChe2 = :vPedChe2, ' + 'PedVlr3 = :vPedVlr3, ' + 'PedVct3 = :vPedVct3, ' + 'PedSer3 = :vPedSer3, ' + 'PedEfi3 = :vPedEfi3, ' + 'PedBco3 = :vPedBco3, ' + 'PedChe3 = :vPedChe3, ' + 'PedVlr4 = :vPedVlr4, ' + 'PedVct4 = :vPedVct4, ' + 'PedSer4 = :vPedSer4, ' + 'PedEfi4 = :vPedEfi4, ' + 'PedBco4 = :vPedBco4, ' + 'PedChe4 = :vPedChe4, ' + 'PedVlr5 = :vPedVlr5, ' + 'PedVct5 = :vPedVct5, ' + 'PedSer5 = :vPedSer5, ' + 'PedEfi5 = :vPedEfi5, ' + 'PedBco5 = :vPedBco5, ' + 'PedChe5 = :vPedChe5, ' + 'PedVlr6 = :vPedVlr6, ' + 'PedVct6 = :vPedVct6, ' + 'PedSer6 = :vPedSer6, ' + 'PedEfi6 = :vPedEfi6, ' + 'PedBco6 = :vPedBco6, ' + 'PedChe6 = :vPedChe6, ' + 'PedVlr7 = :vPedVlr7, ' + 'PedVct7 = :vPedVct7, ' + 'PedSer7 = :vPedSer7, ' + 'PedEfi7 = :vPedEfi7, ' + 'PedBco7 = :vPedBco7, ' + 'PedChe7 = :vPedChe7, ' + 'PedVlr8 = :vPedVlr8, ' + 'PedVct8 = :vPedVct8, ' + 'PedSer8 = :vPedSer8, ' + 'PedEfi8 = :vPedEfi8, ' + 'PedBco8 = :vPedBco8, ' + 'PedChe8 = :vPedChe8, ' + 'PedVlr9 = :vPedVlr9, ' + 'PedVct9 = :vPedVct9, ' + 'PedSer9 = :vPedSer9, ' + 'PedEfi9 = :vPedEfi9, ' + 'PedBco9 = :vPedBco9, ' + 'PedChe9 = :vPedChe9, ' + 'PedVlr10 = :vPedVlr10, ' + 'PedVct10 = :vPedVct10, ' + 'PedSer10 = :vPedSer10, ' + 'PedEfi10 = :vPedEfi10, ' + 'PedBco10 = :vPedBco10, ' + 'PedChe10 = :vPedChe10, ' + 'PedVlr11 = :vPedVlr11, ' + 'PedVct11 = :vPedVct11, ' + 'PedSer11 = :vPedSer11, ' + 'PedEfi11 = :vPedEfi11, ' + 'PedBco11 = :vPedBco11, ' + 'PedChe11 = :vPedChe11, ' + 'PedVlr12 = :vPedVlr12, ' + 'PedVct12 = :vPedVct12, ' + 'PedSer12 = :vPedSer12, ' + 'PedEfi12 = :vPedEfi12, ' + 'PedBco12 = :vPedBco12, ' + 'PedChe12 = :vPedChe12, ' + 'PedVlr13 = :vPedVlr13, ' + 'PedVct13 = :vPedVct13, ' + 'PedSer13 = :vPedSer13, ' + 'PedEfi13 = :vPedEfi13, ' + 'PedBco13 = :vPedBco13, ' + 'PedChe13 = :vPedChe13, ' + 'PedVlr14 = :vPedVlr14, ' + 'PedVct14 = :vPedVct14, ' + 'PedSer14 = :vPedSer14, ' + 'PedEfi14 = :vPedEfi14, ' + 'PedBco14 = :vPedBco14, ' + 'PedChe14 = :vPedChe14, ' + 'PedVlr15 = :vPedVlr15, ' + 'PedVct15 = :vPedVct15, ' + 'PedSer15 = :vPedSer15, ' + 'PedEfi15 = :vPedEfi15, ' + 'PedBco15 = :vPedBco15, ' + 'PedChe15 = :vPedChe15 ' + 'where PedNum = :vPedNum '; DMArq.zqTransD.SQL.Clear; DMArq.zqTransD.Sql.Add(StrSql); DMArq.zqTransD.ParamByName('vPedNom').asString := DMArqVen.qOrcamento.FieldByName('VenNcl').asString; DMArq.zqTransD.ParamByName('vPedNum').asInteger := DMArqVen.qOrcamento.FieldByName('VenNum').asInteger; DMArq.zqTransD.ParamByName('vPedCli').asFloat := DMArqVen.qOrcamento.FieldByName('VenCcl').asFloat; DMArq.zqTransD.ParamByName('vPedDat').asDate := StrToDate(DMArqVen.qOrcamento.FieldByName('VenDat').asString); DMArq.zqTransD.ParamByName('vPedEnd').asString := DMArqVen.qOrcamento.FieldByName('VenEnd').asString; DMArq.zqTransD.ParamByName('vPedBai').asString := DMArqVen.qOrcamento.FieldByName('VenBai').asString; DMArq.zqTransD.ParamByName('vPedCid').asString := DMArqVen.qOrcamento.FieldByName('VenCid').asString; DMArq.zqTransD.ParamByName('vPedCfo').asString := 'C'; DMArq.zqTransD.ParamByName('vPedVen').asFloat := DMArqVen.qOrcamento.FieldByName('VenVen').asFloat; DMArq.zqTransD.ParamByName('vPedFon').asString := DMArqVen.qOrcamento.FieldByName('VenFone').asString; DMArq.zqTransD.ParamByName('vPedObs').asString := DMArqVen.qOrcamento.FieldByName('VenObs').asString; DMArq.zqTransD.ParamByName('vPedObs1').asString := DMArqVen.qOrcamento.FieldByName('VenObs1').asString; DMArq.zqTransD.ParamByName('vPedNop').asString := DMArqVen.qOrcamento.FieldByName('VenNat').asString; DMArq.zqTransD.ParamByName('vPedVct').asDate := StrToDate(lbData.Caption); if DMArqVen.qOrcamento.FieldByName('VenNat').asString = 'D' then DMArq.zqTransD.ParamByName('vPedVda').asString := 'D'; if SoOrcam = 'S' then DMArq.zqTransD.ParamByName('vPedVda').asString := '*'; if pDes <> 0 then DMArq.zqTransD.ParamByName('vPedPda').asFloat := (pDes * -1) else if pAcr <> 0 then DMArq.zqTransD.ParamByName('vPedPda').asFloat := pAcr; ; DMArq.zqTransD.ParamByName('vPedTot').asFloat := Stf(frmTotalizaOrcamento.ceVlr_Ccd.Text); for x := 1 to 15 do begin DMArq.zqTransD.ParamByName('vPedVlr' + IntToStr(x)).asFloat := 0; DMArq.zqTransD.ParamByName('vPedSer' + IntToStr(x)).asString := ' '; DMArq.zqTransD.ParamByName('vPedEfi' + IntToStr(x)).asFloat := 0; if NATOP_Orcam = '5102.20' then DMArq.zqTransD.ParamByName('vPedBco' + IntToStr(x)).asString := '000' else DMArq.zqTransD.ParamByName('vPedBco' + IntToStr(x)).asString := ''; DMArq.zqTransD.ParamByName('vPedChe' + IntToStr(x)).asFloat := 0; end; if (DMArqVen.qOrcamento.FieldByName('VenNat').asString = 'P') or (DMArqVen.qOrcamento.FieldByName('VenNat').asString = 'C') then with frmDigDuplicatas.cdsDuplicata do begin First; Conta := 0; while not eof do begin inc(conta); if conta > 15 then break; DMArq.zqTransD.ParamByName('vPedVct' + IntToStr(conta)).asDate := StrToDate(FieldByName('DtVcto').asString); DMArq.zqTransD.ParamByName('vPedVlr' + IntToStr(conta)).asFloat := FieldByName('Valor').asFloat; DMArq.zqTransD.ParamByName('vPedSer' + IntToStr(conta)).asString := FieldByName('Serie').asString; DMArq.zqTransD.ParamByName('vPedBco' + IntToStr(conta)).asString := FieldByName('Bco').asString; DMArq.zqTransD.ParamByName('vPedChe' + IntToStr(conta)).asFloat := FieldByName('Cheque').asFloat; Next; end; end; //ok := true; try DMArq.zqTransD.ExecSQL; except on E: Exception do begin inc(iConta); erroO := e.Message; MessageBox(0, pchar('Não foi possível gravar os dados!' + #13 + #13 + ErroO), 'Atenção!', MB_OK + MB_TOPMOST); end; end; DMArq.zConexao.Commit; A grande maioria as ordens de serviço gravam, algumas não gravam. O que poderia ser?
  4. Hintz

    DBF x FIREBIRD

    Tenho duas tabelas em DBF. TDados e TItens. TDados tem +/- 120.000 itens TItens tem +/- 300.000 itens Fiz a conversão (rotina propria) DBF para FDB. a Tabela TItens esta relacionada a Tabela TDados. no Clipper abria as duas tabelas bem rapido, no Firebird esta demorando bastante (bem mais demorado que no DBF). Ex.: // firebird - esta rotina demora bastante. with DMArq do begin zqTrans.SQL.Clear; zqTrans.SQL.Add('Select MAX(PedNum) as ULTIMO From Dados'); zqTrans.Open; // aqui demora bastante................ sCodigo := zqTrans.FieldByName('Ultimo').asString; try sCodigo := FormatFloat('000000000000000', StrToFloat(sCodigo) + 1); except sCodigo := '1'; end; end; // dbf - esta rotina é bem rapida with DMArqSce.qItemCod do begin Close; DataBaseName := Drive_IniR + '\Sistema\Estoque\' + Nr_Ite; Sql.Clear; Sql.Add('Select PedNum from TDados order by PedNum'); Open; Last; sCod := FieldByName('IteCod').asString; sCod := Copy(FormatFloat('0000000000', StF(sCod)), 1, 8); cCod := StrToFloat(sCod); OCpf := IntToStr(Trunc(ccod) + 1); CodBar := FormatFloat('00000000', cCod + 1); ocpf := IntToStr(StrToInt(Calc_dig(OCpf))); result := oCpf; // qItemCod.FieldByName('IteCod').asString; Close; end; Assim todas as consultas (abrindo toda a tabela - Open) como filtros, no firebird, são bem mais demorados que no DBF. Isto é normal? o Firebird não deveria ser mais rapido que o DBF? o que eu posso fazer para melhorar o Desempenho?
  5. Tenho um banco de dados firebird 2.06, no qual tem varios arquivos. Item, Cliente, Fornecedor, Saldo, ...., Critica, ..., enfim, varios arquivos que variam conforme o cliente. Preciso de uma maneira, em delphi, de ler o nome dos arquivos e jogar em um campo memo, por exemplo... Att. João Hintz
  6. Faço um cupom fiscal. Depois do cupom fiscal emitido abro uma janela para configurar a impressora na qual vai ser impressa uma duplicata. O problema é que em alguns computadores (2) a janela, em vez de ficar em primeiro plano, fica escondida em segundo plano. O que poderia esta acontecendo, já que acontece sómente em dois computadores, um com windows xp e outro com windows 7. Att. João Hintz
  7. Hintz

    como gravar texto e imagem campo firebird

    Não é isto que eu preciso. O que eu preciso é criar uma tela tipo o WORD onde posso digitar um texto, colar uma imagem, digitar mais um texo, colar mais uma imagem... ou copiar de um site da internet um determinado assunto que contenha texto e imagem e colar no meu sistema.
  8. Estou fazendo um programa de dicas delphi. Muitas dicas pego na internet. Quando tem o que me interessa, seleciono o texto (que muitas vezes tem desenhos, fotos graficos, etc...) clico com o botão direito e Copiar. Vou no meu sistema e quero Colar. só que o que tem imagem, foto, desenho, etc.. não esta gravando do meu sistema. Criei no banco de dados um campo blob, subtype Binary tamanho 80. - Como faço para gravar esta seleção (texto e imagem)? - Qual componente utilizo para visualizar/gravar? Tentei utilizar tdbMemo e até mesmo o tmemo mas não consegui. Att.Hintz
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.