
Quelles sont les améliorations par rapport à PFP ??
JackosKing
: je parle de CPaint et pas de ton prog.. arrete de te prendre pour le centre du monde..
mouss
: l'enregistrement se ferai pour les programmeurs basic avec flib ou vertel, c'est à dire en 2 PIC.



Chaque octet doit être représenté par un caractère, et vous pouvez utiliser les caractères qui posent problème (0, 2 et 13) avec "\0", "\2" et "\r" (attention il s'agit bien d'un anti-slash et non pas un "/"). Le caractère "\" ne sera donc pas utilisable seul, il faut en mettre deux à la suite : "\". Dernière chose, la séquence "\*NC" sert à répeter N fois le caractère C : si il est présent un grand nombre de fois à la suite, cette technique économise de la place (attention, N est le caractère de code X, ou X est le nombre de répetitions : \*2a ne répete pas "a" 2 fois, mais ord("2") = 50 fois !).
(v)
Prgm
local d,f,i,l,o,r,s,z
define f(c)=func
return when(c=0,"\0",when(c=2,"\2",when(c=13,"\r",when(c=92,"\",char(c)))))
endfunc
if getType(#v)="NONE" then
vertel("stxt","Fichier introuvable")
stop
endif
vertel("stxt","Patientez... 0%","","read",v,0,2,"","retr","z","","read",v,2,"","retr","l")
dim(l)»d
ª1»o
0»r
"vertel(""make"","""&v&""","&string(z[1]*256+z[2]+2)&","""»s
for i,1,d + 1
vertel("stxt","Patientez... "&string(int(i*100/(d + 1)))&"%")
if when(i=d+1,ª1,l[i])=o then
r+1»r
else
if o>ª1 then
if r<4+dim(f(o)) then
while r>0
r-1»r
s&f(o)»s
endwhile
else
s&"\*"&char(r)&f(o)»s
endif
endif
when(i=d+1,0,l[i])»o
1»r
endif
endfor
when(dim(v)=8,left(v,7)&"2",v&"2")»v
s&""")"»#v
vertel("stxt","Sauvé : "&v&" (expr("&v&") pour tester)")
EndPrgm
(si t'y arrive pas j'adapterais peut-être la fonction de conversion en C quand j'aurais un peu de temps)
on verra demain