Page 1 sur 2

.....................

Publié : mer. 20/août/2008 13:33
par Backup
hum

Publié : mer. 20/août/2008 13:51
par Kwai chang caine
Merci pour le partage 8)

A part un petit probleme quand à l'histoire de la protection du fichier deja existant (Il me disait que le fichier est existant alors que je l'ai enlevé 8O )

J'ai commenté la verification et ça marche du tonnerre

Publié : mer. 20/août/2008 13:59
par Backup
Kwai chang caine a écrit : A part un petit probleme quand à l'histoire de la protection du fichier deja existant (Il me disait que le fichier est existant alors que je l'ai enlevé 8O )
Merci :)

je viens de réediter le code coloré , maintenant ça devrai marcher !! :D

Publié : mer. 20/août/2008 14:47
par Kwai chang caine
Merci DOBRO
Mais cette fois, j'ai une erreur ligne 98 "Invalid memory access"
Avec une png de 217 ko, il m'a fait 2 fichiers.

Publié : mer. 20/août/2008 15:30
par Backup
Kwai chang caine a écrit :Merci DOBRO
Mais cette fois, j'ai une erreur ligne 98 "Invalid memory access"
Avec une png de 217 ko, il m'a fait 2 fichiers.
arg !! :lol: :lol: je regarde ça !

Publié : mer. 20/août/2008 15:33
par Ar-S
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. :P

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.

Publié : mer. 20/août/2008 16:02
par Backup
bon je viens de reediter le code coloré !!

dites moi que ça marche maintenant :D :? :lol: :lol:

Publié : mer. 20/août/2008 16:08
par gnozal
Tiens Dobro, ton code m'a donné envie d'écrire une variante :

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)
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.

Publié : mer. 20/août/2008 16:27
par Anonyme2
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.
Incorrigible notre Dobro, il n'arrive pas à se passer des goto.
Fred finira peut-être par virer ces instructions ...


A+

Publié : mer. 20/août/2008 16:38
par Backup
@ gnozal , je vais regarder ça de plus pres :D
@ Denis , arf ! les vieux tromblon séniles c'est comme ça que veut tu :lol:


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 !! :D
donc plus d'alerte, c'est plus la peine :D

Publié : mer. 20/août/2008 16:47
par Kwai chang caine
Moi, j'ose plus dire que ça marche encore pas :oops: :oops:
J'suis vraiment une plaie...

Publié : mer. 20/août/2008 16:50
par Backup
Kwai chang caine a écrit :Moi, j'ose plus dire que ça marche encore pas :oops: :oops:
J'suis vraiment une plaie...
déconne ! ???

ça marche pas explique .... :)

Publié : mer. 20/août/2008 16:52
par Kwai chang caine
Bah toujour avec ma PNG de 217 Ko
Ligne 44 "Can't alocate memory block of size 0"

Publié : mer. 20/août/2008 16:54
par Backup
Kwai chang caine a écrit :Bah toujour avec ma PNG de 217 Ko
Ligne 44 "Can't alocate memory block of size 0"
tu peux me mettre un lien vers ton image ? :)

Publié : mer. 20/août/2008 16:57
par Kwai chang caine
Ayai, ça marche..... :D
En fait tes premiers codes avait foiré l'image, elle etait toute noire.
Je l'ai remplacé et ça roule :D

Merci beaucoup DOBRO