Olá amigos... Por exemplo, suponhamos que eu tenha um arquivo que em hexadecimal ficaria aki: 23 34 23 53 54 34 34 34 34 FE 56 67 FF FF FF FF FF FF FF 54 34 10 02 00 00 00 00 00 00 34 34 34 34 34 34 34 34 34 34 34 FE FE FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 56 89 00 01 FE FF
Estou querendo fazer uma função de compactacao, que agiria mais ou menos assim em cima dos bytes, compactando eles em uma sequencia auto explicativa para uma futura decompressao: 40 05 FF 00 08 | | | \/ | | | |------> proximos bytes até a proximo uso da funcao | | |----> byte q esta repetindo | |---->numero de bytes repetidos |--> 40 seria o cabecalho daí o ultimo exemplo ficaria assim: 23 34 23 53 54 34 34 34 34 FE 56 67 40 07 FF 00 04 54 34 10 02 40 06 00 40 0B 34 00 02 FE FE 40 1F FF 00 00 56 89 00 01 FE FF 40 06 00 40 0B 34 00 02 -> esta parte ficaria assim por causa de 2 vezes o uso da funcao 40 1F FF 00 00 -> 00 00 no final por causa de ser a ultima vez de uso e nao haver proximas substituicoes O minimo pro uso da funcao seriam 5 bytes repetidos: FF FF FF FF FF --> function is 40 05 FF 00 xx -> onde xx seria os proximos bytes pra usar denovo a funcao O maximo de repeticoes pra uso da funcao seria 3FFF bytes repetidos.: 3FFF bytes repetidos 34 a funcao seria: 7F FF 34 00 00 -> 7F FF = 40 00(funcao) mais 3F FF bytes outro exemplo: 2AC repetidos de 99 função : 42 AC 99 00 00 outro exemplo: 2299 repetidos de 88 funcao: 62 99 88 00 00 Agora alguem poderia me ajudar a implementar isso... Pegaria um arquivo e salvaria um outro compactado. Alguem poderia me ajudar? Ficaria muito agradecido! Um forte abraço..qq duvida soh perguntar -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html