Publié : jeu. 19/juil./2007 21:44
surtous n'effacer pas vos version compresser, je vais examiner ça sans plus tarder
Code : Tout sélectionner
Enumeration
#Open_Window_0
EndEnumeration
Enumeration
#ButtonImage_0
#ButtonImage_1
#Image0
#Image1
EndEnumeration
Repeat
Repeat
Clr01=RGB(Random(255),Random(255),Random(255))
Clr02=RGB(Random(255),Random(255),Random(255))
Until Clr01<>Clr02
Clr01$=Hex(Clr01)
Clr02$=Hex(Clr02)
Clr01=Val(Clr01$)
Clr02=Val(Clr02$)
Until Clr01> 10000 Or Clr02> 10000
If CreateImage(#Image0,125,40)
StartDrawing(ImageOutput(#Image0))
Box(0,0,125,40,Clr02)
DrawText(12,13,"COMPRESSER",Clr01,Clr02)
StopDrawing()
If CreateImage(#Image1,125,40)
StartDrawing(ImageOutput(#Image1))
Box(0,0,125,40,Clr02)
DrawText(5,13,"DECOMPRESSER",Clr01,Clr02)
StopDrawing()
EndIf
EndIf
Procedure Open_Window_0()
If OpenWindow(#Open_Window_0, 587, 340, 265, 60, " ..::_FORTIX_COMPACT_FILE_::.. ", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Open_Window_0))
ButtonImageGadget(#ButtonImage_0, 5, 10, 125, 40, ImageID(#Image0))
ButtonImageGadget(#ButtonImage_1, 135, 10, 125, 40, ImageID(#Image1))
EndIf
EndIf
EndProcedure
Open_Window_0()
SetWindowColor(#Open_Window_0, Clr01)
GadgetToolTip(#ButtonImage_0, "Appuyer ici pour ouvrir et compresser un fichier.")
GadgetToolTip(#ButtonImage_1, "Appuyer ici pour ouvrir et décompresser un fichier (*.FCF).")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #ButtonImage_0
Repeat
fichier_comp$ = OpenFileRequester("Fichier à compresser","","tout sauf '*.FCF' (Fortix_Compact_Format)|*.*",0)
If GetExtensionPart(fichier_comp$)="FCF"
f=0
Else
f=1
EndIf
Until f=1
If fichier_comp$
CreatePack(fichier_comp$+".FCF")
AddPackFile(fichier_comp$,9)
ClosePack()
Chemin$ = GetPathPart(fichier_comp$)
Fichier$ = GetFilePart(fichier_comp$)
Repeat
Delay(1)
If ExamineDirectory(0,Chemin$,Fichier$+".FCF")
buffer$ = Space(#MAX_PATH)
buffer$ =fichier_comp$+".FCF"
SetFileAttributes_(@buffer$,#FILE_ATTRIBUTE_READONLY);:Debug "protegé"
If DeleteFile(fichier_comp$)
FinishDirectory(0)
t=1
EndIf
EndIf
Until t=1
EndIf
Case #ButtonImage_1
fichier_decomp$ = OpenFileRequester("Selection du fichier à decompresser","","'*.FCF' (Fortix_Compact_Format)|*.FCF",0 )
If fichier_decomp$
Chemin0$ = GetPathPart(fichier_decomp$)
Fichier0$ = GetFilePart(fichier_decomp$)
ExamineDirectory(0, Chemin0$, Fichier0$)
NextDirectoryEntry(0)
attrib0=GetFileAttributes(fichier_decomp$)
;If attrib0 & #PB_FileSystem_Compressed And attrib0 & #PB_FileSystem_ReadOnly;:Debug attrib0
buffer$ = Space(#MAX_PATH)
buffer$ = fichier_decomp$
SetFileAttributes_(@buffer$,#FILE_ATTRIBUTE_NORMAL);:Debug "plus protegé"
FinishDirectory(0)
If OpenPack(fichier_decomp$)
memoire = NextPackFile()
taille = PackFileSize()
fichier_decomp2$=ReplaceString(fichier_decomp$,".FCF"," ")
If fichier_decomp2$
If CreateFile(0,fichier_decomp2$)
WriteData(0,memoire,taille)
CloseFile(0)
ClosePack()
Chemin$ = GetPathPart(fichier_decomp2$)
Fichier$ = GetFilePart(fichier_decomp2$)
Repeat
Delay(1)
If ExamineDirectory(0,Chemin$,Fichier$)
If DeleteFile(fichier_decomp$)
FinishDirectory(0)
s=1
EndIf
EndIf
Until s=1
EndIf
EndIf
EndIf
;EndIf
EndIf
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
CloseWindow(#Open_Window_0)
End