Ir para conteúdo
Fórum Script Brasil

Eder

Membros
  • Total de itens

    1.002
  • Registro em

  • Última visita

Tudo que Eder postou

  1. Ola.. pessoal uma coisa estranha ta acontecendo em um relatorio..... eu to tentando inserir um qrlabel e no seu OnPrint colocar um codigo exemplo: procedure TFormRelBase2.QRLabel63Print(sender: TObject; var Value: String); begin value:='0'; end; quando vou compilar o programa aparece erro assim: Project Totais.exe raised excepetion class EReadError With Message "Erro Lendo QRlabel63. OnPrint" O Estranho que é só este relatorio alguém sabe o que pode ser? Obs.: já verifiquei se tinha alguma atribuição nos arquivos correspondentes ao relatorio mas não tinha nada de estranho. Se eu não colocar nada no Onprint ai NÃO DA ERRO Grato
  2. valeu..Churc...deu certo Grato Abraço :D
  3. R...sim fiz em Desing-Time TA ASSIM configurado na query=sql=items=Select MAX(CODITEM) From IVISBLU where CODVISITA = :CODVISITA e nos (TParams) da propria query coloquei:codvisita datatype=ftfloat e no Table2BeforePost só ficou este codigo: Table2CODITEM.Value := Query3CODITEM.AsInteger +1; Ai testei...o primeito registro da Detalhes até da certo, mas apartir do primeiro(1) ai começa dar erro de KeyViolation :( Carinha já to quase desistindo......e dando um tempo...hehehe pergunto a você...to vendo que ta complicado resolver esta pepa...até você diz que já ta faltando ideias...hehehe...então eu te pergunto....isto tudo porque o campo é numerico certo??....e se fosse autoincremento...acho que ai não daria problema né, pois ele incremente sempre no POST né?? E pra converter estes dados de numerico pra autoincremento...daria?? ai resolveria esta pepa. Tentei fazer isto no database desktop mas ele não me deixa...converter. :( O que acha??? é que preciso colocar este codigo em operação entende....e não estou conseguindo. Bom é isto....carinha...fazer o que...tamos tentando.. valeu..
  4. Ola...tava compilando um programa agora ....mas na verdade eu não havia feito mudança nenhum apenas na brincadeira apertei F9 e deu um erro: [Fatal Error] CPessoal.dpr(55): File not found: 'UnitDUteis.dcu' O Estranho que eu não me lembro de ter vinculado esta unit ao meu programa...sei que criei ela em outro programa.....mas de ter vinculado neste ....Não... tentei ver aonde ela esta vinculada no programa, mas não achei. Tem uma maneira de ver aonde ela esta vinculada, pois eu queria desvincular pois ela não pertence ao programa? Grato
  5. R. Deu Certo.... Eu pra contornar o problema..tinha movido o codigo do Onexit do dbexit p/ o OnEnter do proximo Dbedit....tava até funcionando, o erro não esta mais aparecendo, mas com certeza a sua ideia é bem melhor.....ficou ótimo. valeu Carinha muito Grato. Abraço
  6. Oba... R. Não esta assim: With Query3 Do Begin Close; With SQL Do Begin Clear; Add('Select MAX(CODITEM) From IVISBLU where CODVISITA = :CODVISITA'); end; ParamByName('CODVISITA').AsFloat := Table1Codigo.Value; Open; Table2CODITEM.Value := Query3CODITEM.AsInteger +1; end; Fiz pela sequencia...e o erro apareceu no: Open; R. Esta mensagem do delphi 4 e meio mentirosa..pois uma vez um colega do forum teve uma interpretação parecida com a sua...num erro igual a este... Eu verifiquei na query3 e não tem nada como você mencionou acima..esta query estou usando exclusivamente pra esta consulta. :( Valeu...Grato..t+
  7. Eder, desta vez você passou perto... Ao que me parece se campo de código está definido como NUMERIC e não INTEGER, então deveria ter trocado por: ParamByName('CODVISITA').AsFloat := Table1Codigo.Value; R. Sim é numérico....troquei ...compilou mas deu erro ...acho que é erro da Query3...parece que não ta aceitando o select. Erro: Project xxxx.exe Raised exception class econvertError With Message 'Nenhum argumento pra o formato '%s" Olhei os parametros da Query3...mas o seu select já coloca o parametro em tempo de execução.. Tem algo em Especial na configuração do componente TQuery?? Grato
  8. R. Ok..Micheus....eu perto do meio dia tinha me deparado com a interpretação, mas não respondi antes porque esta muito ocupado. Mas...beleza...Perdão. Micheus...deu um errinho nesta linha: ParamByName('CODVISITA').AsInteger := Table1Codigo.Value; [Error] LCVisita.pas(547): Incompatible types: 'Integer' and 'Double' tentei mudar assim: ParamByName('CODVISITA').AsInteger := Table1Codigo.AsInteger; ai o erro não apareceu...mas na hora de gravar na tabela..ai deu erro de argumento. muito Grato..pela paciência. :unsure:
  9. Oba...Micheus. Este codigo abaixo não consegui pegar a ideia...acho que você se confundiu um pouco: With Query3 Do Begin Close; With SQL Do Begin Clear; Add('Select MAX(CODITEM) From IVISBLU where CODIGO = :CODIGO'); end; ParamByName('CODIGO').AsInteger := Table1Codigo.Value; Open; Table2CODITEM.Value := Query3CodITEM.AsInteger +1; end; Esta linha aqui: Add('Select MAX(CODITEM) From IVISBLU where CODIGO = :CODIGO'); tudo bem...o CODITEM é o codigo da IVISBLU e este CODIGO é o parametro....mas o outro CODIGO da onde você pegou...eu não o tenho na tabela IVISBLU?? Esta Linha aqui: ParamByName('CODIGO').AsInteger := Table1Codigo.Value; belza..o CODIGO é o parametro.....E ai ele pega o codigo da tabela1?? o resto ok... ;) Só poderias explicar estes detalhes porque empaquei..... estrutura das duas tabelas: Espero ter explicado...a real situação. valeu..carinha. Bom Dia de Trabalho. Abraço t+ :D
  10. R. Carinha tem certeza que é assim?? ta dando erro: [Error] LCVisita.pas(528): Incompatible types: 'Integer' and 'Double' nesta linha: ParamByName('CODIGO').AsInteger := Table1Codigo.Value; Pra ter uma ideia Na DbGrid eu deveria ver assim: No dbgrid da detalhes aparece assim(note que a cada mudança da master o coditem vira e começa a contar de novo: CodMaster--coditem(contador) 1 1 1 2 1 3 2 1 2 2 3 1 3 2 3 3 e assim por diante(acho que você irá entender). R. Opa...já retirei... ;) T+..valeu....abraço
  11. Opa...Micheus Abaixo explica acho eu tudo...acho que te confundi....né. ;) consegui assim Na MASTER e deu certo :D : Pois na Master é incrementar + 1 (sempre) With Query2 Do Begin Close; With SQL Do Begin Clear; Add('Select VISBLU.CODIGO From VISBLU ORDER BY CODIGO'); end; OPEN; Query2.LAST; Table1Codigo.Value := Query2Codigo.AsInteger +1; end; Agora na DETALHES ai não funciona...pois a cada virada do codigo da MASTER a detalhes tem que zerar e começar de novo....ai não to conseguindo fazer funcionar. exemplo: No dbgrid da detalhes aparece assim(note que a cada mudança da master o coditem vira e começa a contar de novo: CodMaster--coditem(contador) 1 1 1 2 1 3 2 1 2 2 3 1 3 2 3 3 e assim por diante(acho que você irá entender). Podes por favor me dar uma dica?? tentei assim mas ele só conta o primeiro registro, apartir do segundo da erro de keyViolation, pois ele sempre me mostra o nr 1: With Query3 Do Begin Close; With SQL Do Begin Clear; Add('Select IVISBLU.CODITEM From IVISBLU ORDER BY CODITEM'); end; OPEN; Table2CODITEM.Value := Query3CodITEM.AsInteger +1; end; muito Grato
  12. R.: não..eu adicionei um TQuery...O TQuery não aceita da maneira como você colocou(somente os TTable aceita desta forma.....acho eu...não tenho certeza..acho que já passei uma vez por isto.) ai fiz assim: ai aceitou.....mas deu erro na ultima linha do table: [Error] LCVisita.pas(414): Undeclared identifier: 'Fields' Áh!!! pode tirar aquele order by <nome_campo> que eu coloquei porque não tem a menor necessidade - foi barberagem mesmo. R. Ok...já tirei..eu também esqueci. Grato.
  13. Ola... R.: Entendi Ref..ao segundo post mencionado: eu alterei o codigo assim: Query2Codigo.SQL.Clear; Query2Codigo.SQL.Add('Select MAX(codigo) from VISBLU order by codigo'); Query2Codigo.SQL.Open; Table1Codigo.Value := QryCodigo.Fields[0].AsInteger +1; da erro na primeira linha [Error] LCVisita.pas(410): Undeclared identifier: 'SQL' Porque este erro? :( Haaa...outra coisinha...aplicando desta forma...como ficaria o codigo no botão de NOVO REGISTRO?? já que estou incrementando diretamente na BeforePost da Table. Grato
  14. Ola..pessoal.. Eu tenho um pequeno aplicativo que já fiz a anos atraz...paradox e com campo dipo N-NUMERICO pra controlar as entradas o codigo VISBLU.CODIGO = IVISBLU.CODVISITA (relacionamento) Funciona tudo certinho quando um usuario somente usa...se entrar outro usuario, da erro de Key Codigo do botão NOVO REGISTRO da MASTER procedure TFormCVisita.XiButton1Click(Sender: TObject); var proxnum: integer; // variavel para inserir um proximo numero begin if application.messagebox('Deseja Incluir um Novo Registro?','Aviso',36)=idYes then begin table1.Last; ProxNum:= table1.fieldbyName('CODIGO').AsInteger +1; table1.Append; table1.FieldByName('CODIGO').AsInteger :=ProxNum; EditData.SETFOCUS; end else //CANCELA OPERAÇÃO table1.cancel; end; Codigo do botão NOVO REGISTRO da DETALHES procedure TFormCVisita.XiButton5Click(Sender: TObject); var proxnum: integer; // variavel para inserir um proximo numero BEGIN table2.Last; ProxNum:= table2.fieldbyName('CODITEM').AsInteger +1; table2.Append; table2.FieldByName('CODITEM').AsInteger :=ProxNum; DBLookupComboBox1.setfocus; dBLookupComboBox1.CanFocus; END; Teria como corrigir esta situação permitindo que o programa aceita mais de um usuario digitando?? Grato
  15. R.: Beleza....Carinha. muito Agradecido... :)
  16. R.: Oba....bza...tava fora da cidade final de semana...por isto só hoje respondi. Carinha....não funcionou...compilou direitinho..mas é como se o codigo que você colocou não existisse....ele ainda passa....e entra na consulta e o erro persiste. ERRO: Tlanca - arquivo não esta em modo de edição ou inserção Tens mais alguma ideia??? Este erro pra te falar a verdade é irritante....eu fiz uns lançamentos no lugar do usuario....e não é fácil. Agora o estranho é que ele deixa passar pelo comando Exit...e cai na consulta. :( Grato... :D Para Wagner: Grato :D R.: Beleza?? Carinha mas Insert é o que eu uso....valeu
  17. Ola.. Pessoal..seguinte. tenho um probleminha que da um bug em uma tela de lançamentos Nesta tela tem um dbedit e no seu Onexit faço uma consulta em uma query Consulta: procedure TFormAbaste.DBLookupComboBox1Exit(Sender: TObject); begin If QVei_Consulta.Locate('PLACA', DBLookupComboBox1.Text,[]) then begin NrPlacaAba := QVei_Consulta.fieldbyname('unidade').asstring; DbCombobox1.field.value:=NrPlacaAba; end; O Problema é quando chega neste campo e derepente o usuario quer cancelar o lancamento, ai da erro quando click no campo de cancelar (dbnavigator). Tem uma maneira de contornar esta situação?? Grato
  18. Carinha achei...muito Complicado :( Achei que era mais simples, derepende um order by resolveria. Na verdade eu apenas queria criar este relatorio a mais no programa...mais vou deixar como esta....e mostrar desta maneira anterior. No momento estou meio atarefado..e eu iria perder um pouco de tempo.. Vou deixar este tópico anotado pra hora que tiver um tempo maior...dar uma estudada e monta-lo Uma vez eu vi um relatorio assim: Listava os clientes como estou fazendo mais ou menos...e no final do relatorio abria um resumo sintetico em ordem de ranking.(mas só no final) e listava somente os 10 maiores clientes...achei muito legal....mas deve ser muito complicado mexer num relatorio destes...imagina!!..se este...você já escreveu um monte... Mas...beleza..o que eu pretendia inicialmente era um relatorio analítico por ordem de cliente...já resolve...no momento. valeu Grato
  19. Eder

    Tab Por Enter

    Ok..Micheus.....já havia instruído o usuário com algumas destas dicas, foi bem colocado a dica. valeu ;)
  20. Carinha...perdão comi bola de novo.....lembra dos testes do Gauge???pois é nestes testes...acabei duplicando a base várias vezes...e não havia percebido..e pra fazer o relatorio acabei pegando esta base teste...foi mal. é o que você havia suspeitado na resposta que li agora. agora o relatório sai certinho...teria que sair mesmo. ;) Agora mudei a minha select assim: SELECT DATA_EMISSAO, SIGLA_CTRC, NUMERO_CTRC, PAGADOR_NOME, REMET_CIDADE, VALOR_FRETE FROM CTRC WHERE (REMET_CIDADE = "BLUMENAU") ORDER BY PAGADOR_NOME, SIGLA_CTRC, NUMERO_CTRC Só que eu queria colocar a ordem do relatorio pra que sair o VALOR_FRETE(groopFooter) na ordem Descrescente....ou seja em ordem de Rankin, ou melhor colocar o o cliente analizando o seu valor_frete em ordem de ranking, mas não to achando o codigo certo....pois já existe ali um order by. Tentei usar assim o order by: Order by Valor_frete Desc, sigla_ctrc, numero_ctrc mas ai....não agrupa os dados e sai o relatorio picado. você teria alguma idéia?? Grato e perdão pela falha quanto a duplicação de registros. :(
  21. Eder

    Tab Por Enter

    Bruno e Wagner..bza? Seguinte VEJA a mensagem que eu tinha colocado no começo do tópico: As suas dicas também não deram certo..mas valeu a tentativa :D Por enquanto o usuario tem que acostumar que se mexer com o Mouse vai ter que ir até o fim da seleção. ;) muito Grato
  22. R.: Na Group tenho o Pagador_nomena detail tenho somente o campo VALOR_FRETE na footer o totalizar ou seja um Qrexp somando o valor_frete R.: é simples é o nome_pagador na Group e na detail a relação dos valores e na groupFooter totaliza a cada Pagador_nome e na Sumary o total geral.... Micheus....mas você notou que coloquei que numa dbgrid também duplica...acho que é no meu select o problema....você Não acha??? Este negócio de duplicar regitros de vez em quando me empata!!!..vichiiiii Grato
  23. Ola..pessoal..novamente estou com problemas com duplicação de registros. Eu fiz esta instrução sql: Ela deveria selecionar todos os clientes pagadores da cidade de Blumenau e ordenar o rel. por cliente pagador Montei o relatorio no quick assim Bandas: Funciona certinho.....exceto a duplicação de registros.... ai fiz o famoso testezinho num dbgrid pra testar meu codigo sql..e ai notei que também duplicad então ficou claro que é o código.. Então pederia aos colegas..me explicarem porque acontece esta duplicação...pois trabalho apenas com uma tabela. muito Grato
  24. Eder

    [resolvido] Gauge

    R. Cara...foi mal......passei varias vezes em cima do problema e não via...da o desconto que o código é um pouquinho grande...rs.Agora deu certo..alias por este erro e por mais um errinho o codigo do Jonas também funcionou certinho. R. Ok..consegui baixar....e montei o aplicativo..já que meu delphi é 4 e não abre o aplicativo seu..amanhã vou dar uma estudada nele..... De mais...muito grato pela/paciência novamente... Obrigado também ao Jonas. t+ :D
  25. Eder

    [resolvido] Gauge

    R. coloquei o codigo Application.ProcessMessages. como você pediu mas nada mudou...a visualização ainda é o mesma. R. Não consigui abrir o que você mandou dentro do zip. :( R. Segue abaixo ele completo......é um monte de dados...hoje esta tabela gira em torno de 60.000 registros e esta com uns 90 mb´s...é bem grandinho...mas se bem que tentei converter com menos dados e acontece o mesmo. :( O mesmo caso acontece com o codigo do JONAS(a que me refiro). procedure TForm1.XiButton1Click(Sender: TObject); Var ArqLido, //mi ArqSize : Integer; //mi Txt: TextFile; Entrada: String; Linhas: Integer; now_temp: TDateTime;//variavel contadora de tempo begin //CONTADOR DE TEMPO now_temp:=now;//recebe tempo tempo.caption:= '00:00:00'; // TABLE1.Active:=TRUE; // Assignfile(Txt,'c:\xxxxx\ctrc.csv');//caminho do arquivo CSV Reset(Txt); //michael abaixo ArqLido := 0; ArqSize := FileSize(txt) *128; // *** FileSize assume blocos de 128 quando não é arquivo "tipado" gauge1.MaxValue := 104; // *** equivale a 100 +4 valores que você incrementa na mão //ate aqui Linhas := 0; While not Eoln(Txt) do begin Readln(Txt,Entrada); //miachael abaixo ArqLido := ArqLido +Length(Entrada)+2; //*** este 2 = CR+LN (presumido) Gauge1.Progress := Trunc(ArqLido/ArqSize *100); // *** progress chegará no máximo a 100 (%) // Inc(Linhas); If Linhas > 3 then//aqui verifica e desconcidera AS 4 primeiras linhas do CSV if (Copy(Entrada, 1, 1) = '3') then //AQUI CONSIDERA SOMENTE AS LINHAS QUE TEM O CAMPO 1 = 3 begin gauge1.Progress:=80; Table1.Insert;//Abaixo converte pra *.DB..lembrando que antes deve criar o DB no DataBase Desktop. Table1.FieldByName('1').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('sigla_ctrc').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('numero_ctrc').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('ctrc/subcontr').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('situacao_ctrc').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('data_emissao').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('hora_emissao').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('prev_ent').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('fil_dest').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('praca_destino').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('cidade_destino').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('uf_destino').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('qtde_volume').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('tipo_mercadoria').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('veiculo_coleta').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('veiculo_entrega').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('cubagem_m3').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('kg_real').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('kg_calculo').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('valor_n_fiscal').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('tipo_frete').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('sit_liquidacao').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('numero_controle').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('usu_inc').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('remetente_nome').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('remetente_cnpj').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('remetente_inscr').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('remet_endereco').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('remet_cep').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('remet_cidade').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('remet_uf').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('destinatario_nome').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('dest_cnpj').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('dest_inscr').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('dest_endereco').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('dest_cep').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('dest_cidade').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('dest_uf').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('pagador_nome').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('pag_cnpj').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('observ1').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('observ2').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('entrega/redesp_nome').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('entr_endereco').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('entr_cep').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('entr_cidade').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('entr_uf').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('ult_ocorr_local').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('ult_ocorr_data').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('Ult_ocorr_hora').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('ult_ocorr_codigo').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('ult_ocorr_descricao').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('ult_instr').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('tabela_calculo').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('desc_tabela').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('frete_peso').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('frete_valor').Value := Copy(Entrada,1,Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('aliquota').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('vlr_icms').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('despacho').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('cat').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('itr').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('gris').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('coleta').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('entrega').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('pedagio').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('outros_impostos').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('desconto').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('valor_frete').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('cfop').Value := Copy(Entrada,1, Pos(PathSep,Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('tipo_cobranca').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('valor_liquido').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('vlr_liquidado').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('data_liquidacao').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('rel_comissao_exp').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('rel_comissao rec').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('rel_comissao_vend').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('pacote').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('sgl_unid_emit').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('nro_manifesto').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('cod_vendedor').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); {por enquanto não aplicar Table1.FieldByName('serie_nf').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('nota_fiscal').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('data_emissao').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); } {====ESTE CODIGO ABAIXO.....ALEM DE PROCESSAR COMO OS DEMAIS ACIMA...ELE EVITA DE CAIR NO BANCO DE DADOS O PONTO E VIRGULA...POR ISTO TERMINO A LEITURA COM ESTA LINHA ABAIXO.===} Table1.FieldByName('nome_vendedor').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); {===abaixo fecha o ultimo campo a ser convertido, EXCETO NOS CASOS ACIMA QUE TEM PONTO E VIRGULA...===} //Table1.FieldByName('nome_vendedor').Value := Copy(Entrada,1, //Length(Entrada)); // Table1.FieldByName('contador').Value := 1; // Table1.Post; end; end; //*** neste ponto, progress deveria estar com 100 (todo o arquivo lido) gauge1.Progress:=101; //michael CloseFile(Txt); //michael abaixo //aqui abaixo conta os registros gauge1.Progress:=102; //*** este loop abaixo, parece não fazer sentido... //*** de qualquer modo, como Progress recebe valor fixo, deixe-o fora do loop //ate aqui while not TABLE1.Eof do begin Table1.Next; Application.ProcessMessages; //*** Micheus end; gauge1.Progress:=103; //*** retirado de dentro do loop Label2.Caption := IntToStr(Table1.RecordCount); Table1.First; Beep; gauge1.Progress:=104; //*** 104 foi o valor definido como máximo - resulta em 100% Tempo.caption:=(FormatDateTime('hh:mm:ss',now-now_temp));//conta o tempo de conversão Showmessage('Ok..Arquivo C:\xxxxx\CTRC.DB criado com Sucesso E Já Processou o campo CONTADOR!'); end; Como você viu é bem grandinho .....hehehe. Mas é isto ai...valeu a ajuda..t+ :D ;)
×
×
  • Criar Novo...