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

Duvida com sobre Função


JobaS

Pergunta

Bom pessoal,

estou iniciando em VB e gostaria se alguém poderia mee ajudar como gerenciar bytes de um arquivo...

o que preciso fazer é :

O programa abre uma arquivo, ai no arquivo :

a cada 30 bytes do arquivo deleta-se 2

Exemplo : 424D 48A6 0E00 0000 0000 4600 0000 3800 0000 2003 0000 5802 0000 0100 1000 0300

No caso o 0300 Serial deletado...

alguém puder me dar dica ou um exemplo de como fazer isso vai me ajudar bastante.

vlw

Editado por JobaS
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

hum entendi a pergunta. é seria uma variavel só. mas tipo... não necessariamente você faria um for pra cada byte. acho q você pode pegar num array direto. exemplo, você cria um array de 29 posicoes e pegava um pedaco de 29 bytes e punha no array. ai você lia mais dois byte (em um otro array qualquer) q corresponde a posicao 30 e não fazia nd com ele tudo dentro dum for.

ou ainda, podia ler o arquivo todo de uma vez pra dentro de um array e na hora de gravar, ignorar as posicoes a cada 30 indices.

porque tipo assim, você não pode deletar direto um pedaco do arquivo. você não vai conseguir escrever no hd, você não consegue alterar la um espaco q já ta definido, muito menos excluir uma parte. hum, seila, é coisa de nivel bem baxo, não entendo os detalhes, mas pelo menos imagino q o arquivo esteja la ocupando um espaco no hd continuamente (ou não, pode estar fragmentado tb, mas isso não vem ao caso agora). imagina q você exclua um pedaco qualquer do arquivo. vai ficar um buraco no meio, isso não existe, você teria q "puxar" o resto do arquivo pra tapar o buraco.

a não ser q você fizesse isso direto em programacao de baxo nivel, acho q você não consegue, alem de q gastaria bem mais tempo caso o arquivo for bem gde.

quem imagino q escreva direto em hd assim é programa de banco de dados. mas só o q ele faz é adicionar mais informacoes no arquivo, ou ainda alterar informacoes de dentro sem alterar o tamanho, não consegue arrancar pedaco de dentro.

no caso aqui, o q você teria q fazer é reescrever todo o arquivo em um novo e substituir o velho. imagino q assim funcionem os softwares todos q criam arquivos como o word. você abre o arquivo e ele é carregado na memoria. quando você altera, você altera na memoria. quando você clica gravar ai sim, ele apaga o arquivo existente e cria um novo.

ai o esquema no caso aqui então é simplesmente não escrever a parte q você não quer no novo arquivo.

Link para o comentário
Compartilhar em outros sites

  • 0

não...

eu tava precisando disso pra extrarir a parte RAW exata de um BMP de resolução impar...

porque ele ao ser salvo no formato BMP 16 Bit R5G6B5 insere 2 bytes ( 00 00 ) itercalados no caso do meu arquivo esses byts ficam a cada 30...

ai pra não precisar excluir isso manualmente , pois vo precisar fazer o processo varias vezes... precisava de um mini programinha pra isso...

mas não tenho conhecimento em programação suficiente =/

mesmo assim vlw ai a tentativa de ajudar... vou procurar ler mais um pouco pra ver se csgo desenvolver esse mini - projeto mas na NET so acho artigos que tratam de calculadora , software de controle essas coisas... consegui achar nada ainda que me ajudasse...

se alguém souber algo que eu possa ler para quem sabe conseguir compilar um software pra isso vo agradecer.

vlw

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...