compression decompression
Publié : dim. 13/nov./2005 20:19
bonjour je viens de programmer un programme capable de compresser puis de decompresser un fichier.
la compression marche un peu près...
mais la decompression ne marche pas du tout...
quelqu'un peut m'aider?
il y a 2 codes:
1 code
2 code
merci d'avance pour votre aide!!!
la compression marche un peu près...
mais la decompression ne marche pas du tout...
quelqu'un peut m'aider?
il y a 2 codes:
1 code
Code : Tout sélectionner
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- MenuBar Constants
;
Enumeration
#MenuBar_0
EndEnumeration
Enumeration
#MENU_1
#MENU_2
#MENU_3
EndEnumeration
;- Gadget Constants
;
Enumeration
#Frame3D_0
#Frame3D_1
#Frame3D_2
#Frame3D_3
#ExplorerTree_0
#Button_0
#Button_1
#Frame3D_4
#String_0
#Radio_1
#Radio_2
#Radio_3
#Radio_4
#Radio_5
#String_1
#Radio_6
#Combo_0
#Radio_7
#Button_2
#Text_0
#Text_1
#Text_2
#Text_3
#Text_4
#Text_5
#Text_6
#Text_7
#String_2
#String_3
#Text_24
#Text_25
#Button_3
#Radio_8
#Radio_9
#Text_26
#Text_27
#Text_28
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 0, 0, 1019, 704, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Compression Fichier")
If CreateMenu(#MenuBar_0, WindowID())
MenuTitle("Fichier")
MenuItem(#MENU_1, "Ouvrir")
MenuItem(#MENU_3, "INFO")
MenuBar()
MenuItem(#MENU_2, "Quitter")
EndIf
If CreateGadgetList(WindowID())
Frame3DGadget(#Frame3D_0, 30, 180, 220, 310, "AJOUTER")
Frame3DGadget(#Frame3D_1, 280, 20, 480, 300, "COMPRESSER")
Frame3DGadget(#Frame3D_2, 280, 330, 480, 180, "DECOMPRESSER")
Frame3DGadget(#Frame3D_3, 780, 90, 210, 520, "EXPLORATEUR")
ExplorerTreeGadget(#ExplorerTree_0, 800, 130, 170, 410, "")
ButtonGadget(#Button_0, 830, 560, 120, 40, "Selectionner")
ButtonGadget(#Button_1, 70, 220, 120, 50, "Lister")
Frame3DGadget(#Frame3D_4, 60, 310, 150, 150, "FICHIERS")
StringGadget(#String_0, 330, 40, 210, 20, "")
OptionGadget(#Radio_1, 310, 200, 20, 20, "")
OptionGadget(#Radio_2, 310, 240, 20, 20, "")
OptionGadget(#Radio_3, 520, 200, 20, 20, "")
OptionGadget(#Radio_4, 520, 240, 30, 30, "")
OptionGadget(#Radio_5, 520, 290, 20, 20, "")
StringGadget(#String_1, 350, 130, 210, 20, "")
OptionGadget(#Radio_6, 550, 40, 30, 30, "")
ComboBoxGadget(#Combo_0, 330, 70, 210, 300)
OptionGadget(#Radio_7, 550, 70, 30, 20, "")
ButtonGadget(#Button_2, 620, 70, 110, 50, "Compresser", #PB_Button_Default)
TextGadget(#Text_0, 350, 200, 120, 20, "Suprimer l'ancien fichier")
TextGadget(#Text_1, 350, 240, 160, 30, "Ne pas suprimer l'ancien fichier")
TextGadget(#Text_2, 560, 190, 180, 30, "Compression rapide (mauvaise qualité)")
TextGadget(#Text_3, 560, 240, 180, 30, "Compression normale (bonne qualité)")
TextGadget(#Text_4, 560, 280, 180, 30, "Compression lente (très bonne qualité)")
TextGadget(#Text_5, 290, 40, 30, 20, "DE :")
TextGadget(#Text_6, 290, 70, 30, 20, "DE :")
TextGadget(#Text_7, 290, 130, 30, 20, "À :")
StringGadget(#String_2, 330, 360, 190, 20, "")
StringGadget(#String_3, 330, 390, 190, 20, "")
TextGadget(#Text_24, 290, 360, 30, 20, "DE :")
TextGadget(#Text_25, 290, 390, 30, 20, "À :")
ButtonGadget(#Button_3, 580, 370, 120, 50, "Decompresser", #PB_Button_Default)
OptionGadget(#Radio_8, 310, 450, 30, 30, "")
OptionGadget(#Radio_9, 515, 450, 30, 30, "")
TextGadget(#Text_26, 350, 460, 190, 30, "Suprimer l'ancien fichier")
TextGadget(#Text_27, 550, 460, 190, 30, "Ne pas suprimer l'ancien fichier")
TextGadget(#Text_28, 270, 560, 490, 40, "Atention la compression et decompression vite fait ou mal fait peut être néfaste sur votre ordinateur !")
EndIf
EndIf
EndProcedure
pointeur = 0
open_window_0()
Repeat
Select WaitWindowEvent()
Case #PB_EventMenu
Select EventMenuID()
Case #menu_1
fichier$ = OpenFileRequester("ouvrir...","","tous les fichiers|*.*",1)
OpenFile(pointeur,fichier$)
TextGadget(40 + pointeur,90,330 + (pointeur * 10),100,50,"fichier :"+" "+Str(pointeur))
AddGadgetItem(#combo_0,pointeur,"fichier"+" "+fichier$)
pointeur = pointeur + 1
Case #menu_3
MessageRequester("info","Compression Fichier v3.4"+Chr(13)+Chr(13)+"auteur :"+Chr(13)+"sven thommet"+Chr(13)+"1 rue, Maurice de taste"+Chr(13)+"57520 Grosbliederstroff")
Case #menu_2
End
EndSelect
Case #PB_EventGadget
Select EventGadgetID()
Case #button_0
destination$ = GetGadgetText(#explorertree_0)
SetGadgetText(#String_1,destination$)
SetGadgetText(#String_3,destination$)
pointeur = pointeur + 1
Case #button_1
fichier$ = OpenFileRequester("ouvrir...","","tous les fichiers|*.*",1)
OpenFile(pointeur,fichier$)
TextGadget(40 + pointeur,80,330 + (pointeur * 25),100,15,"fichier :"+" "+Str(pointeur))
AddGadgetItem(#combo_0,pointeur,"fichier"+" "+fichier$)
pointeur = pointeur + 1
Case #button_2
If #radio_6
compress_de$ = GetGadgetText(#String_0)
EndIf
If #radio_7
combo$ = GetGadgetText(#combo_0)
compress_de$ = Mid(combo$,9,10)
EndIf
compress_a$ = GetGadgetText(#String_1)
If #radio_1 = 1
DeleteFile(compress_de$)
EndIf
If #radio_3 = 1
level = 1
EndIf
If #radio_4 = 1
level = 5
EndIf
If #radio_5 = 1
level = 9
EndIf
PackMemory(compress_de$,compress_a$,1000,level)
Case #button_3
decomp_de$ = GetGadgetText(#String_2)
decomp_a$ = GetGadgetText(#String_3)
If #radio_8
DeleteFile(decomp_de$)
EndIf
UnpackMemory(decomp_de$,decomp_a$)
EndSelect
Case #PB_EventCloseWindow
quit = 1
EndSelect
Until quit = 1
Code : Tout sélectionner
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- MenuBar Constants
;
Enumeration
#MenuBar_0
EndEnumeration
Enumeration
#MENU_1
#MENU_2
#MENU_3
EndEnumeration
;- Gadget Constants
;
Enumeration
#Frame3D_0
#Frame3D_1
#Frame3D_2
#Frame3D_3
#ExplorerTree_0
#Button_0
#Button_1
#Frame3D_4
#String_0
#Radio_1
#Radio_2
#Radio_3
#Radio_4
#Radio_5
#String_1
#Radio_6
#Combo_0
#Radio_7
#Button_2
#Text_0
#Text_1
#Text_2
#Text_3
#Text_4
#Text_5
#Text_6
#Text_7
#String_2
#String_3
#Text_24
#Text_25
#Button_3
#Radio_8
#Radio_9
#Text_26
#Text_27
#Text_28
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 0, 0, 1019, 704, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Compression Fichier")
If CreateMenu(#MenuBar_0, WindowID())
MenuTitle("Fichier")
MenuItem(#MENU_1, "Ouvrir")
MenuItem(#MENU_3, "INFO")
MenuBar()
MenuItem(#MENU_2, "Quitter")
EndIf
If CreateGadgetList(WindowID())
Frame3DGadget(#Frame3D_0, 30, 180, 220, 310, "AJOUTER")
Frame3DGadget(#Frame3D_1, 280, 20, 480, 300, "COMPRESSER")
Frame3DGadget(#Frame3D_2, 280, 330, 480, 180, "DECOMPRESSER")
Frame3DGadget(#Frame3D_3, 780, 90, 210, 520, "EXPLORATEUR")
ExplorerTreeGadget(#ExplorerTree_0, 800, 130, 170, 410, "")
ButtonGadget(#Button_0, 830, 560, 120, 40, "Selectionner")
ButtonGadget(#Button_1, 70, 220, 120, 50, "Lister")
Frame3DGadget(#Frame3D_4, 60, 310, 150, 150, "FICHIERS")
StringGadget(#String_0, 330, 40, 210, 20, "")
OptionGadget(#Radio_1, 310, 200, 20, 20, "")
OptionGadget(#Radio_2, 310, 240, 20, 20, "")
OptionGadget(#Radio_3, 520, 200, 20, 20, "")
OptionGadget(#Radio_4, 520, 240, 30, 30, "")
OptionGadget(#Radio_5, 520, 290, 20, 20, "")
StringGadget(#String_1, 350, 130, 210, 20, "")
OptionGadget(#Radio_6, 550, 40, 30, 30, "")
ComboBoxGadget(#Combo_0, 330, 70, 210, 300)
OptionGadget(#Radio_7, 550, 70, 30, 20, "")
ButtonGadget(#Button_2, 620, 70, 110, 50, "Compresser", #PB_Button_Default)
TextGadget(#Text_0, 350, 200, 120, 20, "Suprimer l'ancien fichier")
TextGadget(#Text_1, 350, 240, 160, 30, "Ne pas suprimer l'ancien fichier")
TextGadget(#Text_2, 560, 190, 180, 30, "Compression rapide (mauvaise qualité)")
TextGadget(#Text_3, 560, 240, 180, 30, "Compression normale (bonne qualité)")
TextGadget(#Text_4, 560, 280, 180, 30, "Compression lente (très bonne qualité)")
TextGadget(#Text_5, 290, 40, 30, 20, "DE :")
TextGadget(#Text_6, 290, 70, 30, 20, "DE :")
TextGadget(#Text_7, 290, 130, 30, 20, "À :")
StringGadget(#String_2, 330, 360, 190, 20, "")
StringGadget(#String_3, 330, 390, 190, 20, "")
TextGadget(#Text_24, 290, 360, 30, 20, "DE :")
TextGadget(#Text_25, 290, 390, 30, 20, "À :")
ButtonGadget(#Button_3, 580, 370, 120, 50, "Decompresser", #PB_Button_Default)
OptionGadget(#Radio_8, 310, 450, 30, 30, "")
OptionGadget(#Radio_9, 515, 450, 30, 30, "")
TextGadget(#Text_26, 350, 460, 190, 30, "Suprimer l'ancien fichier")
TextGadget(#Text_27, 550, 460, 190, 30, "Ne pas suprimer l'ancien fichier")
TextGadget(#Text_28, 270, 560, 490, 40, "Atention la compression et decompression vite fait ou mal fait peut être néfaste sur votre ordinateur !")
EndIf
EndIf
EndProcedure
pointeur = 0
open_window_0()
Repeat
Select WaitWindowEvent()
Case #PB_EventMenu
Select EventMenuID()
Case #menu_1
fichier$ = OpenFileRequester("ouvrir...","","tous les fichiers|*.*",1)
OpenFile(pointeur,fichier$)
TextGadget(40 + pointeur,90,330 + (pointeur * 10),100,50,"fichier :"+" "+Str(pointeur))
AddGadgetItem(#combo_0,pointeur,"fichier"+" "+fichier$)
pointeur = pointeur + 1
Case #menu_3
MessageRequester("info","Compression Fichier v3.4"+Chr(13)+Chr(13)+"auteur :"+Chr(13)+"sven thommet"+Chr(13)+"1 rue, Maurice de taste"+Chr(13)+"57520 Grosbliederstroff")
Case #menu_2
End
EndSelect
Case #PB_EventGadget
Select EventGadgetID()
Case #button_0
destination$ = GetGadgetText(#explorertree_0)
SetGadgetText(#String_1,destination$)
SetGadgetText(#String_3,destination$)
pointeur = pointeur + 1
Case #button_1
fichier$ = OpenFileRequester("ouvrir...","","tous les fichiers|*.*",1)
OpenFile(pointeur,fichier$)
TextGadget(40 + pointeur,80,330 + (pointeur * 25),100,15,"fichier :"+" "+Str(pointeur))
AddGadgetItem(#combo_0,pointeur,"fichier"+" "+fichier$)
pointeur = pointeur + 1
Case #button_2
If #radio_6
compress_de$ = GetGadgetText(#String_0)
EndIf
If #radio_7
combo$ = GetGadgetText(#combo_0)
compress_de$ = Mid(combo$,9,10)
EndIf
compress_a$ = GetGadgetText(#String_1)
If #radio_1 = 1
DeleteFile(compress_de$)
EndIf
If #radio_3 = 1
level = 1
EndIf
If #radio_4 = 1
level = 5
EndIf
If #radio_5 = 1
level = 9
EndIf
CreatePack(compress_a$)
AddPackFile(compress_de$,level$)
ClosePack()
Case #button_3
decomp_de$ = GetGadgetText(#String_2)
decomp_a$ = GetGadgetText(#String_3)
If #radio_8
DeleteFile(decomp_de$)
EndIf
OpenPack(decomp_de$)
NextPackFile()
ClosePack()
EndSelect
Case #PB_EventCloseWindow
quit = 1
EndSelect
Until quit = 1