Ir para conteúdo
Fórum Script Brasil
  • 0

Criar Arquivo Dat


Paulo Nobre

Pergunta

Tenho um programa que não usa banco de dados e sim um arquivo dat.

O componente usado é o SQLMemTable, que simula um dataset. Coloquei simula já que não existe banco de dados formal. Gostaria de saber como este arquivo dat poderia ser introduzido no programa.

Se coloco ele antes de ter o primeiro registro dá erro. Pois ele precisa ler o dat para importar as informmações ao abrir.

A única saída que encontrei foi colocar ele,por exemplo info.dat, criar um primeiro registro, fechar o programa.Colocar no cõdigo a chamada a ele ao abrir e assim nãodaria mais erro pois ele teria sido criado.

Nãosei se deu para entender.

Gostaria de saber como criá-lo para este tipo de programa?

E fora deste programa como criar um dat em tempo de execução?

Obrigado

PauloNobre

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olá Paulo. Quanto ao componente SQLMemTable, não posso dizer porque não o conheço; mas para você criar um arquivo:

var f:File of Byte; Dados:array[1..128] of Char;
begin
// alimente aqui seu buffer de dados
  AssignFile(f, 'c:\temp\info.dat'); // define onde ele vai estar
  Rewrite(f); // cria o arquivo, se já exisitir será recriado
  BlockWrite(f, Dados, 128); // grava um buffer de dados
  CloseFile(f); // fecha o arquivo
end;

Link para o comentário
Compartilhar em outros sites

  • 0

OLÁ, S3C

OBRIGADO, VOU TENTAR.

ESTE COMPONENTE FUNCIONA COMO UM BANCO DE DADOS, ENQUANTO VOCÊ ESTÁ USANDO O PROGRAMA. AO FECHÁ-LO OU MANDAR GRAVAR ELE TRANSFERE OS DADOS ARMAZENADOS PARA UM ARQUIVO DAT.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Paulo Nobre,

Veja bem cara... O SQLMemTable não precisa funcionar (necessariamente) assim que o seu programa for aberto... Naquele exemplo que eu te passei, dë uma olhada, pois fui eu quem configurei para o programa fazer isso logo na inicialização (acho que foi no evento OnCreate do Form).

Eu estou sem o Delphi no momento (vc. já sabe), mas o que exatamente vc. queria que o programa fizesse? Repito: você não precisa abrir e fechar o programa (bem como cadastrar um registro) para fazer com que o SQLMemTable funcione...

Abs...

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Capablanca

No programa que voce me passou ao abri-lo ele carrega no dbgrid os valores armazenados no arquivo dat.

Como você mesmo disse no oncreat é feita uma chamada ao dat.

Quando usamos o programa pela primeira vez como não tem dat ou não tem nada no dat ele dá erro.

O que eu queria saber é o seguinte:

1) Como este dat é criado?

2) No programa que voce passou ele já estava lá com exemplos cadastrados, mas quando voce esta com oprograma sem ninguém cadastrado,como ele aparece lá?

Por exemplo vai naquele programa,do jeitoque está, apaga todos os aniversariantes cadastrados e apga no diretorio do programa o arquivo dat. Agora abre o programa que ele dará erro.

O que eu gostaria de ter é:

1) Como você mesmo colocou; o dbgrid lendo os registros do dat no oncreat.

2) Passar os registros para o dat assim que gravar e não no onclose.

(Tentei mas nãoestou me acertandocom o codigo)

abraços

PauloNobre

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...