Ir para conteúdo
  • Cadastre-se

digitosistemas

Membros
  • Total de ítens

    73
  • Registro em

  • Última visita

Tudo que digitosistemas postou

  1. Bom dia, Usando o Savedialog para gravar algum arquivo qualquer é normal. Escolho a pasta e peço a gravação. Estou com um probleminha, quando esta "pasta" não existe, quando clico no botão do lado direito para cria-la, as opções ficam todas em "Japonês ou Chinês ou sei lá o que" Veja imagem anexo. O que pode ser? Achei que fosse lá na minha máquina, mas vai para o cliente assim também. Desde já agradeço.
  2. Funcionou pra mim. Obrigado.
  3. Após fazer atualização do SVN não consigo compilar meus projetos. Estava com erro "StrUtilsEx" ai tentei reinstalar os pacotes pelo instalador trunk2, porém me apresenta o erro abaixo ao compilar Caminho: C:\ACBr\Trunk2\ Versão do delphi: Delphi XE6 (0) Plataforma: Win32(0) ================================================================================ Criando diretórios de bibliotecas... Removendo diretorios e pacotes antigos instalados... Adicionando library paths... COMPILANDO OS PACOTES... Compiling package C:\ACBr\Trunk2\Pacotes\Delphi\synapse\ACBr_synapse.dpk "C:\Program Files (x86)\Embarcadero\Studio\14.0\bin\dcc32.exe" "C:\ACBr\Trunk2\Pacotes\Delphi\synapse\ACBr_synapse.dpk" Embarcadero Delphi for Win32 compiler version 27.0 Copyright (c) 1983,2014 Embarcadero Technologies, Inc. 37153 lines, 0.17 seconds, 369028 bytes code, 29368 bytes data. Compilation success Pacote "ACBr_synapse.dpk" compilado com sucesso. Compiling package C:\ACBr\Trunk2\Pacotes\Delphi\ACBrComum\ACBr_Comum.dpk "C:\Program Files (x86)\Embarcadero\Studio\14.0\bin\dcc32.exe" "C:\ACBr\Trunk2\Pacotes\Delphi\ACBrComum\ACBr_Comum.dpk" Embarcadero Delphi for Win32 compiler version 27.0 Copyright (c) 1983,2014 Embarcadero Technologies, Inc. C:\ACBr\Trunk2\Fontes\ACBrComum\ACBrBase.pas(106) Error: E1012 Constant expression violates subrange bounds C:\ACBr\Trunk2\Fontes\ACBrComum\ACBrUtil.pas(2212) Fatal: F2063 Could not compile used unit 'ACBrConsts.pas' Compilation failure Erro ao compilar o pacote "ACBr_Comum.dpk". Abortando... Ocorreram erros na compilação dos pacotes.
  4. Vc pode me passar quais são as DLLs que são necessárias? Também se é necessário fazer algum procedimento (registrar) alguma coisa.
  5. Galera, Acho que consegui resolver. Mas infelizmente não tem como eu postar a solução, porque mexi muito, retirei alguns componentes, troquei vários de posição, Agradeço a todos, que de alguma forma quebrou a cabeça. Brigadú.
  6. Obrigado, Amigos, Sei disso, porém, não consigo entender o seguinte. Clico no botão Inicio e botão voltar, mais de uma vez, e o erro só acontece depois de algum tempo. Na 5, 6 ou 7 vez que clico. Pensei nisso, mas pesquisei no meu programa, e não vi nenhum thread. Como faço para descobrir se tem algum thread rodando no meu programa? ou se esta rodando alguma coisa em segundo plano? Tem como saber fazendo uma pesquisa? Pensei também se não tem algum Timer em algum componente, mas não consegui identificar também. Removi alguns componentes achando que poderia ser.
  7. Fala Galera, Estou tabalhando em um projeto já tem vários dias e não consigo encontrar onde esta o erro. Já criei um novo projeto e continua dano o mesmo erro vejam só. No trecho abaixo, eu clico no botão IniciarVenda e depois no botão bvoltar uma, duas, três, quatro, cinco, seis, e funciona normalmente na sétima vez (ou oitava vez) ao clicar novamente no botão btiniciavendaclick da erro. Classe de erro: EAccessViolation Mensagem de erro: Access violation at address 0040572B in module 'DSCinema.exe'. Read of address 00300030 As vezes da erro na linha 5 = Queryvalor.close As vezes na linha 8 = Queryvalor.open As vezes na na linha 61 = imCensura01.Picture := ImLivre.Picture 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 procedure TFormBilheteria.btIniciaVendaClick(Sender: TObject); Var i : Integer; Classif : String; begin Try QueryValor.Close; QueryValor.SQL.Text := 'Select Data_Exibicao, id_sala, id_filme from '+ 'sessao_filme Where data_exibicao < current_date'; QueryValor.Open; //AS VEZES DA ERRO AQUI if dm.QueryValor.RecordCount > 0 then Begin KDialog('Existe caixa aberto do dia '+FormatDateTime('dd/mm/yyyy',dm.QueryValor.FieldByName('Data_Exibicao').AsDateTime)+ ' Sala '+dm.QueryValor.FieldByName('id_sala').AsString,'Alerta','Info'); Exit; End; TelaCliente(0,'1','1','1'); //PROCEDIMENTO ESTA VAZIO NÃO FAZ NADA POR ENQUANTO tsFilme.TabVisible := True; RzPageControl1.ActivePageIndex := 1; tsInicial.TabVisible := False; cdsTMP.EmptyDataSet; cdsEventos.Close; cdsEventos.Open; i := 1; PanelData.Caption := 'Data: '+ cdsEventosDATA_EXIBICAO.AsString; lbSelecao.Caption := 'Total Selecionada: 0'; stCadeiraSelec.Caption := lbSELECAO.Caption; imsala01.Picture := Nil; imsala02.Picture := Nil; imsala03.Picture := Nil; imsala04.Picture := Nil; while not cdsEventos.eof do Begin case i of 1 : Begin PanelSALA01.Visible := True; if cdsEventosIMAGEM.AsString <> '' Then begin If FileExists(cdsEventosIMAGEM.AsString) Then imsala01.Picture.LoadFromFile(cdsEventosIMAGEM.AsString); end; stFilme01.Caption := Trim(cdsEventosTITULO.AsString); S1 := cdsEventosID_SALA.AsString; F1 := cdsEventosID_FILME.AsString; H1 := cdsEventosHORA_EXIBICAO.AsString; stSala01.Caption := 'Sala: '+ cdsEventosID_SALA.AsString; stPrecoIS01.Caption := 'R$ '+Formatar_valores(cdsEventosPR_INTEIRA.AsFloat); stPrecoMS01.Caption := 'R$ '+Formatar_valores(cdsEventosPR_MEIA.AsFloat); stHora01.Caption := FormatDateTime('HH:mm',cdsEventosHORA_EXIBICAO.AsDateTime); Classif := RetSomenteNumeros(cdsEventosCENSURA.AsString); stLota01.Caption := 'Lotação: '+cdsEventosLOTACAO.AsString; //88Pinta_sessao(stSessao01,FormTelaCliente.stSessao01, cdsEventosLOTACAO.AsInteger,cdsEventosCAPACIDADE.AsInteger); Case StrToIntDef(Classif,0) of 18 : imCensura01.Picture := im18.Picture; 16 : imCensura01.Picture := im16.Picture; 14 : imCensura01.Picture := im14.Picture; 12 : imCensura01.Picture := im12.Picture; 10 : imCensura01.Picture := im10.Picture; Else //ERRO AQUI........... imCensura01.Picture := ImLivre.Picture; //DA ERRO AQUI End; If cdsEventosAUDIO.AsString = 'L' Then stLegenda01.Caption := 'LEGENDADO' Else stLegenda01.Caption := 'DUBLADO'; if cdsEventosTIPOPROJECAO.AsString = '3' then Proj01.Caption := '3D' Else Proj01.Caption := 'DIGITAL'; Gauge1.MaxValue := cdsEventosCAPACIDADE.AsInteger; cdsVendas.Close; cdsVendas.ParamByName('TSala').AsString := cdsEventosID_SALA.AsString; cdsVendas.ParamByName('Data').AsDate := cdsEventosDATA_EXIBICAO.AsDateTime; cdsVendas.ParamByName('Hora').AsString := cdsEventosHORA_EXIBICAO.AsString; cdsVendas.ParamByName('Filme').AsString := cdsEventosID_FILME.AsString; cdsVendas.Open; gauge1.Progress :=cdsEventosLOTACAO.AsInteger; End; 2 : Begin PanelSALA02.Visible := True; if cdsEventosIMAGEM.AsString <> '' Then begin If FileExists(cdsEventosIMAGEM.AsString) Then imsala02.Picture.LoadFromFile(cdsEventosIMAGEM.AsString); end; stFilme02.Caption := Trim(cdsEventosTITULO.AsString); stSala02.Caption := 'Sala: '+ cdsEventosID_SALA.AsString; stPrecoIS02.Caption := 'R$ '+Formatar_valores(cdsEventosPR_INTEIRA.AsFloat); stPrecoMS02.Caption := 'R$ '+Formatar_valores(cdsEventosPR_MEIA.AsFloat); stHora02.Caption := FormatDateTime('HH:mm',cdsEventosHORA_EXIBICAO.AsDateTime); Classif := RetSomenteNumeros(cdsEventosCENSURA.AsString); F2 := cdsEventosID_FILME.AsString; S2 := cdsEventosID_SALA.AsString; H2 := cdsEventosHORA_EXIBICAO.AsString; Case StrToIntDef(Classif,0) of 18 : imCensura02.Picture := im18.Picture; 16 : imCensura02.Picture := im16.Picture; 14 : imCensura02.Picture := im14.Picture; 12 : imCensura02.Picture := im12.Picture; 10 : imCensura02.Picture := im10.Picture; Else imCensura02.Picture := ImLivre.Picture; End; If cdsEventosAUDIO.AsString = 'L' Then stLegenda02.Caption := 'LEGENDADO' Else stLegenda02.Caption := 'DUBLADO'; if cdsEventosTIPOPROJECAO.AsString = '3' then Proj02.Caption := '3D' Else Proj02.Caption := 'DIGITAL'; Gauge2.MaxValue := cdsEventosCAPACIDADE.AsInteger; cdsVendas.Close; cdsVendas.ParamByName('TSala').AsString := cdsEventosID_SALA.AsString; cdsVendas.ParamByName('Data').AsDate := cdsEventosDATA_EXIBICAO.AsDateTime; cdsVendas.ParamByName('Hora').AsString := cdsEventosHORA_EXIBICAO.AsString; cdsVendas.ParamByName('Filme').AsString := cdsEventosID_FILME.AsString; cdsVendas.Open; gauge2.Progress := cdsEventosLOTACAO.AsInteger; stLota02.Caption := 'Lotação: '+cdsEventosLOTACAO.AsString; End; end; Inc(i); cdsEventos.Next; End; Except on e : Exception do Begin KDialog('Erro ao iniciar venda'#13#13'Classe de erro: '+e.ClassName + #13+ 'Mensagem de erro: '+ e.Message, 'Erro', 'ERRO'); end; end; PanelSALA01.Visible := S1<>''; PanelSALA02.Visible := S2<>''; end; procedure TFormBilheteria.bVoltarClick(Sender: TObject); begin tsInicial.TabVisible := True; RzPageControl1.ActivePageIndex := 0; tsFilme.TabVisible := False; tsPoltrona.TabVisible := False; tsFinalizacao.TabVisible := False; end; Vejam que não DESTRUO nenhum objeto. Video_1565265321.wmv
  8. Olá, Não consegui descobrir a causa do problema. No meu computador funciona, e em alguns clientes, e em outros não funciona. Também estou apanhando.
  9. Bom Dia, Estou com o seguinte, problema, na visualização do DANFE saiu tudo belelza, mas quando mando pra impressora só imprimi no formato A4. Estou usando o FastReport.
  10. Ainda não consegui resolver: Fiz assim: rocedure TFormPrincipal.ACBrBAL1LePeso(Peso: Double; Resposta: AnsiString); var R, F, valid : integer; cPadrao, TPesagem : String; begin sttPeso.Caption := formatFloat('##0.000', Peso ); sttResposta.Caption := Converte( Resposta ) ; if (Peso >= 0) then Begin //se a balança esta zerada ou até 100grs if Peso <= 0.10 then Begin Zerou := True; Exit; End; //Se não foi uma pesagem forçada if Not Forcado then EstabilizadoTimer(nil); PesoLido := Peso; End; SLido.Caption := formatFloat('##0.000', Peso ); if (Zerou and Estavel and (Etapa = 1)) or Forcado then Begin //Memo1.Brush.Color := clWhite; if (Peso > 0) and (Estavel and (PesoGravado <> PesoLido) or Forcado) then Begin PesoGravado := PesoLido; Etapa := 2; if Not UltimaPesagem and (rgtipoPesagem.ItemIndex = 0) and ((Peso < PesoMinV) or (Peso > PesoMaxV)) then Begin Estavel := False; Exit; End; Zerou := False; Forcado := False; //Se tipo de pesagem for forçada e o peso estiver entre minimo e o maximo if (rgtipoPesagem.ItemIndex = 0) and ((Peso < StrToFloatDef(SPesoMin.Caption,0)) or (Peso > StrToFloatDef(sPesoMax.Caption,0))) then Begin Memo1.Lines.Text:='Peso fora do padrão'; Memo1.Brush.Color := clRed; Timer1.Enabled := True; cPadrao := 'S'; End Else Begin Timer1.Enabled := False; Memo1.Lines.Text := 'Leitura realizada com sucesso!'; Memo1.Brush.Color := clGreen; Memo1.Font.Color := clBlack; cPadrao := 'N'; end; //Gravar no banco de dados Gravar_Banco() //Imprimir etiqueta Imprime_Termica(cPadrao); End else begin valid := Trunc(ACBrBAL1.UltimoPesoLido); case valid of 0 : Begin Memo1.Lines.Text := 'TimeOut !'+sLineBreak+ 'Coloque o produto sobre a Balança!' ; Memo1.Brush.Color := clWhite; End; -1 : Begin Memo1.Lines.Text := 'Peso Instável ! ' +sLineBreak+ 'Tente Nova Leitura' ; Memo1.Brush.Color := clYellow; End; -2 : Begin Memo1.Lines.Text := 'Peso Negativo !' ; Memo1.Brush.Color := clOlive; End; -10 : Begin Memo1.Lines.Text := 'Sobrepeso !' ; Memo1.Brush.Color := clBlue; End; //Else // Memo1.Brush.Color := clWhite; end; end; End; end; procedure TFormPrincipal.EstabilizadoTimer(Sender: TObject); begin //Se peso lido for diferente do ultimo peso lido //Começa o processo para identificar que a balança esta com o peso estabilizado if PesoLido <> UltPesoLido then Begin UltPesoLido := PesoLido; TempoParado := Time(); Estavel := False; Etapa := 1; End else if Not Estavel then Begin //Se ficar parado 10segundos na balança if (IncSecond(TempoParado,1) < Time()) and (PesoGravado<>0) then Begin PesoGravado := 0; TempoParado := Time(); End //Garante que a balanca esta com o peso estavel Else if (IncSecond(TempoParado,1) < Time()) then Begin Estavel := True; End; End; end; Usando o Emulador da balança funcionou. Mas na balança real, existe um problema pois ela, transmite vários valores , inclusive o "0" (Zero), até estabilizar. Então precisaria identificar que ela esta com peso estabilizado.
  11. Bom dia, Estou quase conseguindo, deixa eu explicar novamente, A Balança esta locada na linha de produção de uma indústria. No inicio da produção, o encarregado pela produção, vai informar o número da "OP". Meu software vai buscar a Ordem de Produção (OP) como lote, data vencimento, peso mínimo e máximo aceito por caixa de embarque. Neste instante, a balança é ativada e fica sendo monitorada, aguardando algum peso. O operador, coloca os produtos dentro da caixa de embarque, faz o lacre e coloca a caixa em cima da balança. A balança, vai receber o peso, estabilizar o peso e comunicar com o meu software. Será verificado se o peso esta dentro do padrão (mínimo e máximo). Caso esteja na conformidade, será impresso a etiqueta com as informações do produto, peso/lote/data fabricação, etc., caso contrário é informado na tela do computador que existe alguma divergência. Observe que o encarregado da produção, não vai apertar nenhum botão para adquirir o peso e imprimir, o software recebe as informações que estão sendo monitoradas, analisa, grava e imprimi uma etiqueta. Meus problemas: Como a balança joga informações de 250ms para o pc, preciso que o meu software leia o peso estabilizado, pare de monitorar, faça o processo de gravação e impressão da etiqueta. E vai voltar a ser monitorado quando o peso for retirado da balança, lembrando que sem a intervenção humana. Coloquei um timer com alguns segundos entre uma pesagem e outra, mas as vezes o tempo é furado, gravando assim uma mesma caixa duas ou mais vezes.
  12. É uma linha de produção. Então o peso deve ser lido automaticamente, uma caixa após outra.
  13. Pessoal Obrigado pelo retorno. Consegui resolver, o problema era no cabo de comunicação. O cabo a ser usado é RS-485. Agora estou com outro probleminha (problemão). Como faço para o programa ler somente uma vez o peso da balança? Ex. No programa teste, eu deixo marcado a opção monitorar balança, com timeout de 2000. Balança sem peso. ok Colocou um peso na balança 3kg, a balança leu - ok. O usuário deixou o peso na balança e foi conversar - a balança continua informando o peso, a cada 2000, Como resolver isto? Help!!!!!
  14. * Testei em outra balança, da mesma marca e modelo, não deu erro na configuração da impressora, mas ela não conseguiu fazer a comunicação com o computador.
  15. Minha balança esta conectada com adpatador Serial/USB na porta COM3, Velocidade 9600, bits de dados 8, paridade nenhuma, bits de parada 1, timeout 2000. Quando ativo a balança: -------------------------------------------------------------------------------- ATIVAR - 16/11/18 08:17:29:842 - Modelo: Micheletti - Porta: COM3 Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE= MAXBANDWIDTH=0 SENDBYTESCOUNT=0 SENDBYTESINTERVAL=0 -------------------------------------------------------------------------------- Dá mensagem: 9997- não há comunicação com a balança. Fiz a configuração na balança conforme descrito abaixo: - Entrar no módulo de configuração serial, apertar as teclas ZERA e IMPRIME ao mesmo tempo durante 4 segundos, irá aparecer à mensagem CONFP no display, apertar IMPRIME uma vez irá aparecer SERIAL, apertar TARA, irá aparecer Pr tCA, não estando assim apertar IMPRIME começa a piscar e com tecla ZERA vai até chegar ao parâmetro desejado, aperta IMPRIME para de piscar e com a tecla TARA tecle até o próximo parâmetro End 01, se assim não estiver repetir o procedimento acima. - Quando chegar ao parâmetro BR, mudar também para 9600br, no display fica br 9.6, para mudar é mesmo procedimento acima, depois de alterado apertar a tecla TARA até zerar. Ao finalizar na opção de "tSt r5" me deu mensagem de erro: rs Err. Teste em outra balança, onde não deu erro na configuração da balança, mas não comunicou com o computador.
  16. Tentei todas as velocidades e não deu certo no meu software. Na balança, mudei a velocidade a velocidade para 4800 e não deu. Instalei em outra maquina achando que era problema e não deu também. -------------------------------------------------------------------------------- ATIVAR - 16/11/18 08:41:39:154 - Modelo: Micheletti - Porta: COM3 Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE= MAXBANDWIDTH=0 SENDBYTESCOUNT=0 SENDBYTESINTERVAL=0 -------------------------------------------------------------------------------- - 08:42:01:666 TX -> [ENQ] UltimoPesoLido: -9 - Resposta: Att,
  17. Estou precisando fazer comunicação com balança Micheletti Mic300. Fiz o programa, usei o emulador de balança para testar (usei um emulador de porta serial) e funcionou perfeito do jeito que preciso. Porém, chegando no meu cliente, instalei a porta serial da balança e não consegui fazer a comunicação com a balança. Existe algum segredo? Me retorna o erro: communication error 9997 timeout during operation.
  18. Boa Tarde, Porque acontece de enviar uma NFe e a mesma não constar no banco de dados da Secretária da Fazenda, sendo que, na sefaz do meu estado consta a mesma? Como funciona este processo de sincronização entre as WS? Desde já agradeço
  19. Boa Tarde, Voltando ao assunto, Não entendi bem o que deve ser feito no caso de aparecer a mensagem: "Property Dataonly does not exist". Fiz atualização do ACBR hoje é deu essa mensagem. Estou utilizando o FastReport 4.7.37 com Delphi 7. Infelizmente eu não tenho a versão anterior do ACBr para poder resolver este problema (Meu cliente esta P*** comigo por isso). E também não estou em condições financeiras para comprar outra versão agora. O que fazer????
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.