Fórum Fazer Consultas em Arquivo TXT #255705
23/10/2004
0
Tap_pedroso
Curtir tópico
+ 0Posts
23/10/2004
Lordelphi
pos(´palavra a localizar´)
Gostei + 0
23/10/2004
Rjun
Gostei + 0
25/10/2004
Tap_pedroso
Gostei + 0
25/10/2004
Rjun
Gostei + 0
25/10/2004
Tap_pedroso
eu estou desenvolvendo um pdv offline e no terminal pdv eu pensei em dar carga nele em arquivo texto ou em arquivo db no arquivo texto eu não tenho perigo de o arquivo corromper ou perder indeces com uma queda de energia com o exe aberto por exemplo e no arquivo db eu corro esse risco mas a consulta de produtos seria + rápida. agora pergunto:
vcs concordam comigo, qual opção é melhor?
obrigado. :lol:
Gostei + 0
25/10/2004
Raczy
Gostei + 0
26/10/2004
Aroldo Zanela
Colega,
Se você está falando de venda não concomitante, então, armazene as informações em sua base de dados. Para minimizar os riscos de corrupção de tabelas, utilize uma tabela temporária e depois ´descarregue´ numa tabela permanente.
Quanto à pesquisa em arquivos textos, a melhor forma é utilizar TStringList é o método FIND.
Gostei + 0
26/10/2004
Adsilver
Atualmente, a melhor soluções para aplicações desconectadas do SGDB é a utilização de XML. Utilize ClientDataSet e a cada alteração/inclusão/exclusão salve o dataset em algum XML, ou no formato binário, mas XML é mais maleável. Depois fica muito mais fácil de vc sincronizar com o banco real. Carrege todo o arquivo de maleta (XML) e envie todos os registros com ApplyUpdates. Para gerenciar erros, utilize os eventos de ClientDataSet. Dessa maneira, o trabalho ´duro´ já está todo implementado nos componentes do Delphi.
Um Abraço.
Gostei + 0
27/10/2004
Tap_pedroso
arquivos xml ficam grandes com facilidade ou é igual a arquivos db e dbf em relação a tamanho?
Gostei + 0
27/10/2004
Aroldo Zanela
Apesar da XML armazenar de forma redundante os metadados, pois, entre outras coisas, deve ser legível para máquina e para o homem, fica mais fácil efetuar os mapeamentos para o SGBD. Portanto, o uso de tabelas temporárias com XML é altamente recomendável.
Gostei + 0
27/10/2004
Tap_pedroso
obrigado.
Gostei + 0
27/10/2004
Adsilver
Como dito aqui, os arquivos XML realmente tendem a crescer muito por armazenar muitos metadados. Contudo, ninguem vai montar uma base de dados completa e fixa em XML. Isso seria suicídio. Essa idéia é valida para pequenas bases de dados, como arquivos de maleta. Uma grande aplicabilidade seria a de vendedores que passam o dia todo na rua com um notebook ou palm na mão, e no fim do expediente têm de atualizar a base de dados principal. Obs: Fazer isso com arquivos TXT, além de ser da idade da pedra, são horríveis de manipular e visualizar.
Vai aí um pequeno (bem pequeno mesmo) tutorial para utilizar XML em arquivos de maleta:
Adicione um ClientDataSet. Crie seus campos de forma dinâmica (utilizando o FieldsEditor) ou busque os metadados de algum banco de dados real.
Esse componente é bem poderoso e pode funcionar perfeitamente ´desplugado´ de um SGBD. Aí partir daí, monte as interfaces normalmente, conectando controles Data-Aware a esse CDS (ClientDataSet). Em qualquer momento, utilize o método SaveToFile ou SaveToXML (ou algo assim, nao me lembro o nome exato) do CDS para salvar os dados em XML. Eu utilizaria o evento AfterPost do CDS, mas isso fica a seu critério.
Crie uma rotina nessa interface para sincronizar a base de dados. Nesse rotina, carregue o arquivo XML para um CDS utilizando o método LoadFormFile ou LoadFromXML (novamente nao lembro o nome) e utilize o método ApplyUpdates do CDS.
No CDS existe um evento OnReconcilieError que é disparado a cada registrado com erro na sincronização. Manipule esse evento para decidir o que fazer com cada registro ´errado´. É possível ignorar, abortar a operação, alterar um valor e enviar novamente, etc.
Essa foi apenas um resumo de tudo que pode ser feito. Na internet existem muitos artigos sobre CDS, e eu gosto muito do livro do Marco Cantu de Delphi7. Fala muito sobre isso. Outro livro bom é o DataSnap e DBExpress no Delphi.
O XML está sendo a linguagem (ou meta-linguagem, como alguns preferem) mais utilizada para intercâmbio de dados. Tudo indica que se tornará um padrão (se é que jã não se tornou). Varias empresas consagradas, como a Micro$oft, estão investindo muito nessa tecnologia. Mesmo que não for utilizá-lo em seu atual aplicativo, seria interesse estudá-lo.
Espero ter contribuído.
Um grande abraço.
Gostei + 0
27/10/2004
Tap_pedroso
Gostei + 0
27/10/2004
Tap_pedroso
Gostei + 0
27/10/2004
Aroldo Zanela
Sobre a especificação completa da XML, veja aqui: http://www.w3c.org/TR/2004/REC-xml-20040204/
Se tiver oportunidade, pesquise na Web sobre os NXD (Banco de dados XML Nativos), como: Tamino, Xindece, etc.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)