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

(Resolvido) Unir Arquivos binarios, como fazer?


Elias New Delphi

Pergunta

Bom dia Queridos amigos Delphinianos,

Estou com o seguinte problema, estou trabalhando com arquivos binarios e para identifica-los tenho q inserir um header com a data, nome do arquivo e a descrição,

porem no momento da construção poderia fazer colocar esse header dentro da mesma estrutura porem teria problemas lá na frente em saber quantas vezes seria gravada a informação antes de joga-la em um arquivo, ou poderia simplesmente fazer duas estrutuas com o header e o corpo e somente uni-las no final, optei pela segunda, e ai vem a dor de cabeça.

Essa é minha estrutura

  PTMacro = ^TMacro;
TMacro = Record
Numero : Word;
Proxima : Word;
Nome : string[40];
Atalho : Byte;
Formulario : array [0..19,0..39] of char;
confirmacao: array [0..19,0..39] of char;
[/codebox]

E o meu Header

[codebox] TIdentificacao = Record
sData : array [0..18] of Char; // Grava o horario em que a macro foi gerada
sNome : array [0..49] of Char; // Nome do grupo de macros
sDescricao : array [0..299] of Char; // Descrição do grupo de Macros
End;

já tentei uni-los de tudo quanto é jeito e não consegui, e com certeza não utilizei o jeito certo ainda, alguém tem ideia do que eu poderia tentar?

Já utilizei o ShellExecute

ShellExecute(0,nil,PAnsiChar('command.com /c copy /b "' + ExtractFilePath( Application.ExeName )
+ snome + '.bin" + "' + ExtractFilePath( Application.ExeName )+ snome + '.cpo"'),nil,nil,SW_SHOWNORMAL);[/codebox]

Já tentei Winexec

[codebox]WinExec(PAnsiChar('command.com /c copy /b "' + ExtractFilePath( Application.ExeName )
+ snome + '.bin" + "' + ExtractFilePath( Application.ExeName )+ snome + '.cpo"') , SW_SHOWNORMAL);

O engraçado é que os comandos acima funcionam na console do Delphi

Dentro do Arquivo .bin eu tenho o Header e dentro do arquivo.cpo eu tenho as informações da Macro, a minha ideia é uni-los a após isso apagar o arquivo .cpo

alguém tem ideia de como posso resolver isso?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Dentro do Arquivo .bin eu tenho o Header e dentro do arquivo.cpo eu tenho as informações da Macro, a minha ideia é uni-los a após isso apagar o arquivo .cpo

A idéia é simples: Abra o arquivo BIN e abra o arquivo CPO

Leia o arquivo CPO e escreva-o dentro do Arquivo BIN ... Salve o arquivo BIN e delete o arquivo CPO

Lendo e escrevendo arquivos textos ou binarios

http://www.forumnow.com.br/vip/mensagens.a...;tópico=2597196

http://scriptbrasil.com.br/forum/index.php?showtopic=54662

http://www.acemprol.com/download/file.php?id=9213

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Lendo e escrevendo em Arquivos Binários

Para manipular este tipo de arquivo tem que usar as funções:

BlockRead e BlockWrite

exemplo:

var

  FromF, ToF: file;
  NumRead, NumWritten: Integer;
  Buf: array[1..2048] of Char;
begin
  if OpenDialog1.Execute then                               { Display Open dialog box }
  begin
    AssignFile(FromF, OpenDialog1.FileName);
    Reset(FromF, 1);    { Record size = 1 }
    if SaveDialog1.Execute then                              { Display Save dialog box}
    begin
      AssignFile(ToF, SaveDialog1.FileName);    { Open output file }

      Rewrite(ToF, 1);    { Record size = 1 }
      Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF))
        + ' bytes...');
      repeat
        BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
        BlockWrite(ToF, Buf, NumRead, NumWritten);
      until (NumRead = 0) or (NumWritten <> NumRead);
        CloseFile(FromF);
        CloseFile(ToF);
    end;
  end;
end;

qualquer dúvida olhe no help do delphi ( F1 )

abraço

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...