Conectar-se
Quem está conectado
36 usuários online :: 4 usuários cadastrados, Nenhum Invisível e 32 Visitantes

Cambalinho, Koelho, lolandoplayer, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

pode-se manipular arquivos .zip sem dll?

em Ter 28 Fev 2012, 22:10
Essa pergunta é meio direcionada ao Ninja8086, que fez os scripts de ler tags de arquivos .mp3. Só que mandar uma MP pro cara tiraria a chance de muita gente de tentar se aventurar nessa questão.
A pergunta é bem simples, eu quero criar um programa que mostra as imagens .bmp ou .jpg de um arquivo .zip e, pra isso, preciso acessar o arquivo. Como acessar, listar e, por fim, exibir essas imagens na tela?

Sei que usar a GMLibrary me permite acessar arquivos .zip, mas se for possível, eu gostaria de fazer isso sem usar nenhuma extensão.

Ninja8086, juro que estou tentando entender suas aulas de manipulação binária e como você chegou naqueles scripts, mas isso é coisa de doido, cara! Quer dizer, trabalhar com binários, até vai, mas daí a usar isso da forma que você usou... wooosh!
porque eu quero isso:
A muitos e muitos anos, havia um site em que eu baixava histórias em quadrinhos de toda natureza. Essas histórias eram escaneadas e as imagens, compactadas. A extensão era, então, renomeada para .cbz. Havia um programa feito pra ler esses arquivos, que era bom, mas depois sofreu "melhorias" e ficou ruim. Eu apaguei o programa bom e fiquei com o ruim. Depois, ler ficou muito trabalhoso e eu parei de ler, inutilizando boa parte do meu HD (porque eu jamais apagarei esses arquivos). Agora eu quero desenvolver meu próprio programa, com opção de alteração de zoom, mudança rápida de páginas, leitura via mouse e via teclado, enfim, o que me der na telha.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Ter 28 Fev 2012, 22:34
Olha a estrutura do arquivo:
http://www.ta7.de/txt/computer/computer016.htm

Lembra que o Ninja8086 colocou a do MP3?
É tipo isso.

O problema é que o arquivo ZIP tem um algoritmo que o compactou.
Existe mais de um, ou seja, será meio dificil fazer algo que extraia qualquer zip.
E também, esses algoritmos são complicados, na maioria das vezes.
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 426
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qua 29 Fev 2012, 08:11
Fazer o algoritmo no game maker não será nada fácil..
Mais porque não usar uma dll para isso que quer fazer?
Obs.: Gostei da ideia, costumo ler bastante quadrinhos dos x-men nesse formato rsrs
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qua 29 Fev 2012, 08:55
Pedrø escreveu:Lembra que o Ninja8086 colocou a do MP3?
É tipo isso.
Lembrar, eu lembro. Conseguir fazer o que ele fez é que são elas.

@Klior escreveu:Mais porque não usar uma dll para isso que quer fazer?
Bloqueio mental. O mesmo motivo pelo qual eu não aprendi, até hoje, a mexer com 3D ou fazer jogos online: sempre que começo a estudar como faz, me distraio com outra coisa e deixo pra "depois". Eu não sei usar uma dll. Sei que é simples, só nunca fiz.
@Klior escreveu:Gostei da ideia, costumo ler bastante quadrinhos dos x-men nesse formato rsrs
Olha, se fizer o programa, me passe uma cópia, hein? Não acho que vou chegar a finalizar esse projeto...
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 426
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qua 29 Fev 2012, 11:47
@saim escreveu:A muitos e muitos anos, havia um site em que eu baixava histórias em quadrinhos de toda natureza. Essas histórias eram escaneadas e as imagens, compactadas. A extensão era, então, renomeada para .cbz. Havia um programa feito pra ler esses arquivos, que era bom, mas depois sofreu "melhorias" e ficou ruim. Eu apaguei o programa bom e fiquei com o ruim. Depois, ler ficou muito trabalhoso e eu parei de ler, inutilizando boa parte do meu HD (porque eu jamais apagarei esses arquivos). Agora eu quero desenvolver meu próprio programa, com opção de alteração de zoom, mudança rápida de páginas, leitura via mouse e via teclado, enfim, o que me der na telha.

Sobre o programa para ler não sei qual você usava, eu uso o CDisplay e não vejo dificuldade nele, acho ele muito bom para ler.
Sei que fazendo do seu jeito ficará bem melhor, do jeito que você quer..
Mais se tiver afim de falar sobre essas dificuldades talvez possa te ajudar também.
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: pode-se manipular arquivos .zip sem dll?

em Qua 29 Fev 2012, 14:14
Não é nada recomendado não usar as libs comuns/principais de zip.
Elas tem anos de desenvolvimento, documentação, tratamento de erros e otimização.
Refazer isso em GML não seria uma boa ideia.

Se quer realmente fazer isso você tem que interpretar a estrutura binária do zip usando as funções file_bin e procurar por especificações como o link que o Pedro passou.
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qua 29 Fev 2012, 15:24
@Kabeção escreveu:Não é nada recomendado não usar as libs comuns/principais de zip.
Elas tem anos de desenvolvimento, documentação, tratamento de erros e otimização.
Refazer isso em GML não seria uma boa ideia.

Se quer realmente fazer isso você tem que interpretar a estrutura binária do zip usando as funções file_bin e procurar por especificações como o link que o Pedro passou.

É isso aí que o Kabeção disse. Além disso, uma coisa assim no GM poderia ser bem volúvel porque qualquer erro vai gerar o arquivo todo "estragado". Eu nunca peguei o Zip pra estudar... Só dei uma "passada de olho" por alto num que chama RLE e um que chama LZW e são bem complicados mesmo.

Mas pelo menos na parte onde eles se parecem é na retirada de informações repetidas do arquivo (com perda ou sem perda de informação), onde eles colocam cada trecho binário que se repete, numa espécie de "dicionário".

Quando o arquivo é descompactado ele vai "pegando" os trechos dentro desse dicionário e voltando pro lugar original. Se você preencher um arquivo de 1 giga com 0s e compactá-lo ele deve cair pra menos de 1 mega. Esse é o motivo, porque a grosso modo, "no dicionário ele só tem um 0, e quantas vezes ele se repete".

Em todo caso, isso não impede a gente de pelo menos tentar dar uma olhada, certo?
Acho que a gente vai ter que dar uma pesquisada nisso em comunidade open, normalmente tem muita coisa boa.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qua 29 Fev 2012, 15:52
Caramba... Não sabia que estava mexendo num vespeiro tão grande. Achei que seria algo "simples" como pegar as tags de mp3 (por isso direcionei a pergunta ao Ninja8086).
Olha, esquece. Parece que fazer isso é reinventar a roda. Não é minha intenção.
Vou dar um jeito de implementar a dll do Jyraia e me concentrar no desenvolvimento do programa de visualização em si. Se sair qualquer coisa, eu aviso.

Ninja8086, parece que aticei um pouco de curiosidade sua. Olha, se quiser ir adiante, faça por conta e risco. Claro que, quando estiver tudo prontinho e funcionando, eu vou querer ver, mas não faça isso por mim.

Valeu, moçada!
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 426
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qua 29 Fev 2012, 18:37
Não meche com o Ninja8086 não kkkkk
O cara é um 'ninja', se amanha aparecer com um descompactador/compactador de zip em gml puro não vai ser nenhuma novidade rsrsrs

Brincadeiras a parte, boa sorte com o projeto saim
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qui 01 Mar 2012, 10:24
Que nada! Sou só curioso mesmo. Very Happy Francamente, eu não conseguiria fazer isso em GML... Eu baixei mais de 20 sources em C++ e Java a maioria usam libs também, e os que não usam, de uma forma ou outra recorrem à dll's... Baixei o site da PkWare inteiro, apesar de ter muita coisa, é muito complicado.

Só uma parte das especificações do Zip já impressiona:
http://www.pkware.com/documents/casestudies/APPNOTE.TXT

O formato não é novo, ele vai ganhando alterações ao longo dos anos e no final vira esse monstertruck de coisas.

Bom, mas jeito de extrair ou compactar sem dll, tem sim. Isso é mais que garantido. Nem que você crie um script em VBS em tempo real e extraia o arquivo Zip usando um "execute_program" com o script... Vou tentar alguma coisa aqui, se eu conseguir eu posto. Valeu!

avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qui 01 Mar 2012, 11:46
Ok, vou manter o tópico aberto, então.
Ou devo trancar o tópico e pedir pra você postar essa "alguma coisa" em engines? Afinal, nem que seja só por curiosidade, isso vai impressionar muita gente!
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: pode-se manipular arquivos .zip sem dll?

em Qui 01 Mar 2012, 18:48
Que nada, por VBScript isso é simples. O legal de usar VB é a quantidade de coisas que dá pra fazer. Até mandar e-mails por exemplo (coisa que ia exigir uma dll), teria jeito via puro e simples VB. Eu fiz um exemplo aqui, ficou um pouco tosco, mas funciona legal:

http://gmbr.forumeiros.com/t21251-script-compactar-ou-extrair-zips-sem-dll-s#160406
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum