![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola.
Tal como te comenta roman, si previamente no agregas una marca, vas a tener que enviar los nombres y tamaños de los archivos (bytes) a extraer, por ejemplo:
Llamada ejemplo:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#2
|
|||
|
|||
|
hola , gracias por la ayuda a los dos , efcisa , una pregunta , el tamaño de los archivos en bytes seria lo mismo que "InStream.Size" , ¿ verdad ?
|
|
#3
|
||||
|
||||
|
Hola
Cita:
Deberías obtener y guardar esos valores de tamaño en algún sitio, por que desde el archivo compuesto, es imposible obtener los tamaños de los diferentes archivos agregados. De otro modo, habría que poner marcas para poder identificar la finalización de cada archivo. Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#4
|
||||
|
||||
|
Cita:
El header debe contener en este orden: 0.Cantidad de archivos 1. Tamaño del archivo #1 2. Tamaño del archivo #2 ... N. Tamaño del archivo #N Luego viene la data del primer archivo, etc. Lo que debe de cuidarse es de leer la cantidad justa de bytes. Por eso debe definirse adecuadamente que tipo de dato se va a usar para almacenar esta información... ¿Cuántos archivos se tiene pensado poder concatenar? Para 255 solo es suficiente con leer un byte... pero si se necesita de más se debe usar un SmallInt por lo menos. Luego debe cuidarse también el tamaño de los archivos... Al menos las funciones que tiene Delphi y que actúan de indirección hacia la API de Windows, devuelven un Int64... ahí ya tienes unos cuantos bytes más por leer ![]() Asi que de pronto, mínimo necesitas: 1. Leer el primer byte para saber la cantidad de archivos // si vas a permitir más de 255 necesitas 2 o más bytes... tu pones el límite! 2. Leer los siguientes 8 bytes para saber el tamaño del archivo 3. Ir a la posición correspondiente y leer el buffer de ese mismo tamaño 4. Repetir 2-4 según cantidad de archivos Saludos, |
|
#5
|
||||
|
||||
|
Cita:
LineComment Saludos |
|
#6
|
||||
|
||||
|
Así llegamos a la firma de Neftali: Si quieres obtener mejores respuestas, haz mejores preguntas.
O algo así ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
|||
|
|||
|
Hola ecfisa gracias por la ayuda , tu codigo funciona perfecto para cuando junto un ejecutable con otro archivo y luego los desuno , se descomprime bien pero cuando ejecuto el ejecutable desunido se muestra :
Cita:
Cita:
Última edición por Ramsay fecha: 21-09-2016 a las 15:43:26. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Agregar archivos en un TFileStream | Ramsay | Varios | 4 | 19-09-2016 21:31:36 |
| Ayuda con archivos binarios usando TFileStream | Eze32 | OOP | 2 | 04-06-2013 16:18:07 |
| Manejo de Archivos con TFileStream | nlsgarcia | Varios | 6 | 02-09-2011 02:26:36 |
| Uso de TFileStream | esocrates | Varios | 4 | 09-04-2005 23:47:17 |
| ¿Como dividir un archivo en varios archivos? | Raisen | Varios | 3 | 24-07-2004 03:16:28 |
|