Prob avec Le Split d'un fichier binaire

Résolu
Smith4400 Messages postés 39 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 20 août 2009 - 2 août 2009 à 13:30
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 13 août 2009 à 09:57
[b]Salut les Mecs!!!!
J'ai bien chercher dans le fameux google et notre delphifr mais j'ai rien trouvé ce je que je veux.....
mon problème est :
je veux coupé un fichier binaire en parties mais sauvegarder une seul, cette partie par exemple commence du l'offset 2 et fini par l'offset 100 et entre 2 et 100 c le contenu que je veux le sauvegarder dans un autre fichier
je souhaite que j'ai bien expliqué mon prob
merci a tous!!!!!


Smith/b

11 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 août 2009 à 15:34
Ca s'appelle pas un split mais une extraction.

function ExtractStream(Src: TFileStream; var Dst: TFileStream; Offset, Size: Longword);
begin
 Result := False;
 if Assigned(Src) and Assigned(Dst) then
  begin
   Src.Position := Offset;
   Dst.Position := 0;
   Dst.CopyFrom(Src, Size);
   Result := True;
  end;
end;


Cordialement, Bacterius !
3
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 août 2009 à 15:40
Oups oublié de mettre ": Boolean" à la fin de la fonction

Au fait, si tu as 2 offsets, pour utiliser cette fonction, tu prends l'offset de début, et tu calcules la taille du bloc à copier avec la différence des deux offsets : par exemple, pour 2..100 :

Offset = 2
Size 100 - 2 98



Cordialement, Bacterius !
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
2 août 2009 à 19:18
function SplitStream(Src, Dest: TStream; const Offset, Size: int64): int64;
begin
  result := 0;
  if not (assigned(src) and assigned(dest)) then
    exit;

  Src.Seek(OffSet, soFromBeginning);
  result := Dest.CopyFrom(Src, Size);
end;
3
Smith4400 Messages postés 39 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 20 août 2009
2 août 2009 à 15:45
Bacterius
------------------
Thx, je vais essayer d'appliquer cette fonction

juste ajoute moi une procédure sur la fonction pour avoir une idée global sur elle

THX THX THX

Smith
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 août 2009 à 19:17
Pardon ?

Cordialement, Bacterius !
0
solilog Messages postés 273 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 18 avril 2015 10
7 août 2009 à 10:48
Bonjour les gars,
Vous êtes vraiment trop gentils. Je crois qu'on a tous répondu qq'chose de juste sur ces questions de pos d'un binaire dans un fichier, d'extract entre 2 positions ... (au moins 3 ou 4 réponses justes dans les différents posts - avec qq retouches genre boolean, int64, file of ou tsreeam, mais tout y était). Et vous continuez à mâcher leur boulot ? Mais laissez les chercher un peu, c'est le meilleur moyen de les faire avancer (désolé les jeunes mais faut creuser pour trouver).
Bye.
solilog
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
7 août 2009 à 13:23
@solilog : si ils veulent pas chercher, c'est leur problème. On est pas des pouponnières. Ils veulent des réponses, ce forum est là pour leur donner. Si on se met à classer "toi on te répond" et "toi tu cherches", alors c'est plus un forum. A eux de se gérer.

Cordialement, Bacterius !
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
10 août 2009 à 04:55
« Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson »

Confucius (qui n'a pas dit que des conneries).
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
11 août 2009 à 09:07
@Caribensila:

faudrait donner des cours d'apprentissage sur la façon de "rechercher quelque chose".


cantador
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
13 août 2009 à 02:25
@cantador:

Le vrai problème ici est qu'il y a des mecs qui cherchent "à faire" (bcp) et d'autres (peu) qui cherchent "à comprendre".


PS: N'emêche que smith aurait pu accepter la réponse... Mais il ne fait peut-être pas partie d'une des 2 catégories. Y'a aussi des mecs, comme ça, qui ne font jamais rien et qui trouvent ça normal...
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
13 août 2009 à 09:57
oui, et c'est tellement vrai Caribensila

Le pire c'est quand même celui qui se sauve avec sa question et la réponse !
...et qui revient sous un autre pseuso car il s'est aperçu qu'il a oublié un truc ou que sa question est tellement tarte qu'il veut se faire oublier !
CS : un essai de vivre en communauté peut-être ?

et la petite dernière :

"un monsieur demande à un petit garçon qui fait la manche pourquoi il ne va pas à l'école ?"

réponse : "Si, si j'y suis allé, mais ils ne m'ont pas donné plus.."


cantador
0
Rejoignez-nous