.....................
.....................
hum
Dernière modification par Backup le ven. 07/oct./2011 12:22, modifié 7 fois.
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Je reviens juste du taf et je découvre ce topic (et ton mp dobro), j'ai pas le temps de m'y mettre tout de suite (je dois faire à bouffer j'ai de la visite ce soir... enfin vous vous en foutez sûrement mais ça me permet de rester qques minutes de plus derrière mon clavier
)
En tout cas y'a aucun soucis à partager des libs que tu a créés ! manquerait plus que ça que je râle.
Par contre j'ajouterai surement la gestion en Mo si Filesize >1024*1024*2
(*2 car si le fichier ne fait qu'un mo c'est con de demander des part en mo)
Car en général on découpe des gros fichiers pas des petits.
Voilou.
En tout cas je testerai ça des que je le pourrai (ce soir tard je pense) et te remercie encore de t'être penché sur mon soucis de fileseek.

En tout cas y'a aucun soucis à partager des libs que tu a créés ! manquerait plus que ça que je râle.

Par contre j'ajouterai surement la gestion en Mo si Filesize >1024*1024*2
(*2 car si le fichier ne fait qu'un mo c'est con de demander des part en mo)
Car en général on découpe des gros fichiers pas des petits.
Voilou.
En tout cas je testerai ça des que je le pourrai (ce soir tard je pense) et te remercie encore de t'être penché sur mon soucis de fileseek.
Tiens Dobro, ton code m'a donné envie d'écrire une variante :
Bon, il y a uniquement le découpage : une seule boucle, pas de goto, pas de réallocation de mémoire. Et çà à l'air de marcher (testé sur 1 fichier ...).
On peut faire le recollage dans le même style.
Code : Tout sélectionner
Procedure Cut(FichierACouper.s, TailleBloc.l)
Protected Status.l, *Bloc, FichierACouperNb.l, LongueurFichier.l, Element.l, FilePartNb.l, LongueurLue.l
If TailleBloc
Status = #True
*Bloc = AllocateMemory(TailleBloc)
If *Bloc
FichierACouperNb = ReadFile(#PB_Any, FichierACouper)
If FichierACouperNb
LongueurFichier = Lof(FichierACouperNb)
If LongueurFichier
Repeat
LongueurLue = ReadData(FichierACouperNb, *Bloc, TailleBloc)
If LongueurLue
FilePartNb = CreateFile(#PB_Any, FichierACouper + "." + RSet(Str(Element), 6, "0"))
If FilePartNb
WriteData(FilePartNb, *Bloc, LongueurLue)
CloseFile(FilePartNb)
Element + 1
Else
MessageRequester("ERREUR", "Y a un blème avec le découpage !", #MB_ICONERROR)
Status = #False
Break
EndIf
EndIf
If LongueurLue < TailleBloc
Break
EndIf
ForEver
EndIf
CloseFile(FichierACouperNb)
Else
MessageRequester("ERREUR", "Y a un blème avec le fichier " + FichierACouper + " !", #MB_ICONERROR)
Status = #False
EndIf
FreeMemory(*Bloc)
Else
MessageRequester("ERREUR", "Y a un blème de mémoire !", #MB_ICONERROR)
Status = #False
EndIf
EndIf
ProcedureReturn Status
EndProcedure
Debug Cut("c:\PureBasic420\unins000.exe", 5057)
On peut faire le recollage dans le même style.
Incorrigible notre Dobro, il n'arrive pas à se passer des goto.gnozal a écrit :Tiens Dobro, ton code m'a donné envie d'écrire une variante
Bon, il y a uniquement le découpage : une seule boucle, pas de goto, pas de réallocation de mémoire. Et çà à l'air de marcher (testé sur 1 fichier ...).
On peut faire le recollage dans le même style.
Fred finira peut-être par virer ces instructions ...
A+
@ gnozal , je vais regarder ça de plus pres 
@ Denis , arf ! les vieux tromblon séniles c'est comme ça que veut tu
bon pour info j'ai réediter mon code Archaique pour y integré le renommage automatique du nouveau fichier créé si l'original a le malheur de se trouver dans le meme endroit !!
donc plus d'alerte, c'est plus la peine

@ Denis , arf ! les vieux tromblon séniles c'est comme ça que veut tu

bon pour info j'ai réediter mon code Archaique pour y integré le renommage automatique du nouveau fichier créé si l'original a le malheur de se trouver dans le meme endroit !!

donc plus d'alerte, c'est plus la peine

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere