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

Compressão e descompressão de dados...


novekovas

Pergunta

Boa tarde a todos...

Estou com uma dúvida que esta me matando...

Quero fazer com que o meu sistema descompacte, compacte e visualise arquivos dentro do comprimido na extenção GRF... :huh:

O que eu preciso informar para vocês para que possam me ajudar?

Tenho uma fonte de exatamente o que eu preciso mas esta feita em Delphi vai ajudar se eu passar o link?

Meu sistema esta feito em VB.NET 2008...

Sou novo nessa jornada de compressão e descompressão de dados ficarei muito grato a quem puder me dar uma ajuda...

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Não é própria não, é uma extenção utilizada para compressão de arquivos...

E todos os arquivos que eu irei utilizar já vem nessa compressão...

Com isso tenho que usar um programa aparte para extrair e visualizar o que tem dentro dele...

Programa que me refiro: GRFTOOL

Programa em OpenSource: FONTE

Exemplo de arquivo compactado em GRF: Arquivo Exemplo

OBS: A src do programa não me ajuda pois não entendo nada de PASCAL... :(

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

  • 0

Uma biblioteca especifica para .NET não...

Tem jundo ao pragrama uma a DLL GRF, perguntam como a usar mas eu não entendi nada...

E não houve resposta do pedido dele...

' GRF Types
        Enum GrfErrorType
            GE_SUCCESS
            GE_BADARGS
            GE_INVALID
            GE_CORRUPTED
            GE_NSUP
            GE_NOTFOUND
            GE_INDEX
            GE_ERRNO
            GE_ZLIB
            GE_ZLIBFILE
            GE_NODATA
            GE_BADMODE
            GE_NOTIMPLEMENTED
        End Enum

        Public Structure GrfError
            Dim type As GrfErrorType
            Dim line As Integer
            Dim name As String
            Dim func As String
            Dim extra As Int64
        End Structure

        Public Structure GrfFile
            Dim compressed_len_aligned As Integer
            Dim compressed_len As Integer
            Dim real_len As Integer
            Dim flags As Int16
            Dim hash As Integer
            Dim name As String
            Dim data As String
        End Structure

        Public Structure Grf
            Dim filename As String
            Dim len As Integer
            Dim type As Integer
            Dim version As Integer
            Dim nfiles As Integer
            Dim files() As GrfFile
            Dim first As GrfFile
            Dim last As GrfFile

            Dim allowCrypt As Int16
            Dim f As System.IO.File
            Dim allowWrite As Int16
            Dim zbuf As Object ' void
        End Structure

        Public Structure GrfOpenCallback
            Dim file As GrfFile
            Dim mError As GrfError
        End Structure

        ' GRF Library (grf.dll) functions
        Public Declare Function GrfOpen Lib "grf.dll" Alias "grf_open" (ByVal fname As String, ByVal mode As String, ByVal mError As GrfError, ByVal callback As GrfOpenCallback) As Grf
        'Public Declare Function GrfOpen Lib "grf.dll" Alias "grf_open_callback" (ByVal fname As String, ByVal mode As String, ByVal mError As GrfError, ByVal callback As IntPtr) As Grf
        Public Declare Function GrfExtract Lib "grf.dll" Alias "grf_extract" (ByVal grf As Grf, ByVal grfname As String, ByVal file As String, ByVal mError As GrfError) As Integer
        Public Declare Function GrfClose Lib "grf.dll" Alias "grf_close" (ByVal grf As Grf)
        Public Declare Function GrfFree Lib "grf.dll" Alias "grf_free" (ByVal grf As Grf)

    Sub Main()
            Try
                Dim myGrf As Grf
                Dim err As GrfError
                Dim cb As GrfOpenCallback
                myGrf = GrfOpen("data.gpf", "rb", err, cb)
            Catch ex As Exception
                Console.WriteLine(ex.ToString)
            End Try
        End Sub
Which one to use? grf_open or grf_open_callback? Getting an error:
Method's type signature is not PInvoke compatible.

Fonte do Pedido:

http://forums.openkore.com/viewtopic.php?f=36&t=1599

Por isso que eu queria entender a fonte e saber por onde eu começo para cria o meu próprio processo de Leitura - Extração e Compactação sem depender de bibliotecas de terceiros...

@EDIT

Achei mais um programa para isso está escrito em C, mas ele só compacta e descompacta não tem um Preview do arquivo...

Aplicativo: GRFBUILDER

Fonte do aplicativo: OpenSource

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

  • 0

Me surgiu uma idéia na cabeça...

Como a biblioteca esta em C++ "Não sei nada dessa linguagem" é aberta para estudo e alterações...

Se eu converter todos os arquivos ".CPP" e ".H" para Módulos do VB.NET vai funcionar sem problemas...

Até onde eu sei isso é fato...

Entra alguma questões que não deixa fazer essa conversão de programação?

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

  • 0

Saber eu não sei irei apanhar pra caramba mas eu preciso fazer isso...

Então irei baixar um guia de referencia da linguagem e irei tentando quebrar a cara...

E que sabe eu não consigo fazer...

A parte mais dificil vai ser descobrir o que determinada parte do código do C++ faz...

Mas como disse preciso fazer isso, por que não tem coisa mais desagradavel que você desenvolver um sistema e ter que fazer um "ajuste" para seu sistema funciona com um sistema de 3º...

Se fosse só uma vez mas é sempre que for utilizar ai não da certo... =(

Editado por novekovas
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...