PDA

Ver la Versión Completa : Recorrido y Extraccion en Semi-Binario...


marceloalegre
07-11-2006, 20:53:27
Buenas tardes:
Les molesto porque no estoy muy acostumbrado al manejo de archivos en gral. y tengo la siguiente cuestion.
Tengo un archivo binario (desconosco el formato) el cual tiene antepuesto una fecha y unos numerillos por otro programa. Muestro un ejemplo:
170120060000α°¶¥Æ²µ±²³°±°±³°±°±´°¶°±´°±°µ´±µ°¸´±²±°´°±±±´°¶±²´°¸±²´²µ±²´¥Ì¥È°±³³³³³³³³²²²²²²²²²²²²² ²³³³³

entre otros caractes :) ... Lo que quiero hacer es extraer esta parte 170120060000 que fue puesta por otro programa y generar otro archivo con lo que sobre(que quede solo esto):
α°¶¥Æ²µ±²³°±°±³°±°±´°¶°±´°±°µ´±µ°¸´±²±°´°±±±´°¶±²´°¸±²´²µ±²´¥Ì¥È°±³³³³³³³³²²²²²²²²²²²²²²³³³³

Como puedo hacer esto? me pueden ayudar un poco en como recorrer un archivo de este tipo hasta el final y demas (sin conocer los tipos de datos ni nada, un tstringlist serviria?)

Si me pueden mostrar mediante un ejemplo se los agradeceré mucho puesto que este es un tema en el que nunca tuve que ahondar gracias a las queridas bases de datos!!!

saludos.

seoane
07-11-2006, 21:09:13
Si el texto que se añade al principio siempre mide lo mismo, podemos hacer algo como esto, sin muchas complicaciones:

var
Origen, Destino: TFileStream;
begin
Origen:= TFileStream.Create('d:\1.txt',fmOpenRead);
try
Destino:= TFileStream.Create('d:\2.txt',fmCreate);
try
Origen.Position:= 12;
Destino.CopyFrom(Origen,Origen.Size - Origen.Position);
finally
Destino.Free;
end;
finally
Origen.Free;
end;
end;

marceloalegre
08-11-2006, 12:36:13
Excelente que simple! con esto soluciono mi probrema! pero pasa saber, supongamos que lo que quiero extraer esta en vez de al principio asi:
(los ceros 0000000000000000000)

α°¶¥Æ²µ±²³°±°±³°±°±´°¶°±´°±°µ´±µ°¸´0000000000000000000±²±°´°±±±´°¶±²´°¸±²´²µ±²´¥Ì¥È°±³³³³³³³³²²²²²² ²²²²²²²²³³³³

es posible de recorrer el archivo y de encontrar esta cantidad de ceros los borre?

mi duda principal es como me muevo por un archivo de este tipo y comparo uno a uno los caracteres..

saludos!!