pack

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

pack

Beitrag von Lukas-P »

So ich ahb ma ne Frage,

Wenn ich ein Pak mit Nextpakfiel endpacke, in was für einer reihenfolge endpackt der den kram eigentlich?? irgendwas is da komisch...

:roll:
glubschi90
Beiträge: 274
Registriert: 04.09.2004 01:43
Wohnort: Würzburg

Beitrag von glubschi90 »

Na in der Reihenfolge, wie Du sie gepackt hast. 8)
PureBasic 4.30
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Beitrag von Lukas-P »

ja nur das klapp nicht
Benutzeravatar
Pure-r-Freak
Beiträge: 74
Registriert: 08.03.2005 13:40

Beitrag von Pure-r-Freak »

http://www.reelmedia.org/cgi-bin/PurePr ... es&sub=ASM
schau dir mal die VBin Lib an
die ist wirklich sehr nützlich!
ich progge auch im moment mit der lib an einen packer.
nur ich hab noch ein paar schwierigkeiten damit...
<)
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Diese Library ist extrem langsam...
Bild
Benutzeravatar
Pure-r-Freak
Beiträge: 74
Registriert: 08.03.2005 13:40

Beitrag von Pure-r-Freak »

kennst du dich mit der lib aus???
währe sehr nett, wenn du mir den Fehler nennen könntest.

Code: Alles auswählen


GetGadgetItemText(0,x,0)  -  kompletter pfad (C:\hallo.exe)


Create=VBin_Create ("My.tht")
           If Create=0
           MessageRequester("Fehler", "Das Archiev konnte nicht erstellt werden!", 0)
           EndIf 
             For x=0 To CountGadgetItems(0)  
             Add=VBin_AddFile("My.tht",GetGadgetItemText(0,x,0)) 
             If Add=0
             FehlerDatei$ = GetFilePart(GetGadgetItemText(0,x-1,0))
             MessageRequester("Fehler", ""+(FehlerDatei$)+"  konnte nicht zum Archiev hinzugefügt werden!", 0)
             EndIf 
             Next 
               SetGadgetText(7,"   Fertig !")
               ClosePack()

Die Datei kann nicht zum Archiev hinzugefügt werden
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Gib mal gesamten Code... Ich denke, der Fehler liegt irgendwo weiter vorne...
Bild
Benutzeravatar
Pure-r-Freak
Beiträge: 74
Registriert: 08.03.2005 13:40

Beitrag von Pure-r-Freak »

Code: Alles auswählen



If  OpenWindow(0, 0, 0, 601, 270,  #PB_Window_SystemMenu|#PB_Window_MinimizeGadget| #PB_Window_TitleBar | #PB_Window_ScreenCentered , "PurePacker  1.0")

   CreateGadgetList(WindowID())
   
     
  
   ListViewGadget(0, 10, 30, 200, 120)
      TextGadget(1, 0, 10, 200, 20, "Zu verpackende Dateien :", #PB_Text_Center)
      ButtonGadget(2, 220, 30, 90, 30, "Datei öffnen ...")
      ButtonGadget(3, 220, 80, 90, 30, "Wohin packen ?")
      ButtonGadget(4, 10, 210, 120, 30, "Packen !!!")
      SpinGadget(5, 270, 150, 30, 20, 0, 10)
      TextGadget(6, 210, 130, 120, 20, "Komprimierungs Modus :")
      TextGadget(7, 0, 250, 600, 20, "  Bereit", #PB_Text_Border)
      Frame3DGadget(8, 0, 0, 340, 250, "")
      TextGadget(9, 350, 10, 240, 20, "Zu entpackendes Archiev : ", #PB_Text_Center)
      StringGadget(10, 350, 30, 240, 20, "", #PB_String_ReadOnly)
      Frame3DGadget(11, 340, 0, 260, 250, "")
      ButtonGadget(12, 500, 60, 90, 30, "Archiev öffnen ...")
      TextGadget(13, 350, 110, 240, 20, "Archiev entpacken in :", #PB_Text_Center)
      StringGadget(14, 350, 130, 240, 20, "C:\", #PB_String_ReadOnly)
      ButtonGadget(15, 500, 160, 90, 30, "Pfad wählen ...")
      ButtonGadget(16, 350, 210, 120, 30, "Entpacken !!!")
      TextGadget(17, 10, 160, 200, 20, "Packen in :", #PB_Text_Center)
      StringGadget(18, 10, 180, 240, 20, "", #PB_String_ReadOnly)
SetGadgetState (5,1) : SetGadgetText(5,"1")
  
  
  
    
  Else 
    MessageRequester("Error", "ERROR -- konnte Fenster nicht erstellen !", 0)
  EndIf 
  

Repeat 
 EventID = WaitWindowEvent()
      If EventID = #PB_Event_CloseWindow 
        Quit = 1
      EndIf



Select EventID

Case #PB_Event_Gadget
Select EventGadgetID()
           
           
           Case 2 
       Pfad$=OpenFileRequester("Datei zum Abpacken wählen....","C:\","*.*",0)  
       Exist = FileSize(Pfad$)
        If Exist = -1
        MessageRequester("Fehler", "Die ausgewählte Datei existiert nicht!", 0)
        Else 
          AddGadgetItem(0,-1, Pfad$) 
        EndIf              
            Pfad$=""
            
            
            
           Case 3 
            Verpackt$=SaveFileRequester("Name und Pfad für das Archiev auswählen.....","C:\","*.tht",0) 
            Exist = FileSize(Verpackt$)
        If Exist = -1
        SetGadgetText(18, Verpackt$+".tht")
        Else 
        MessageRequester("Fehler", "Der ausgewählte Pfad und Dateiname existieren schon!", 0)
        EndIf              
          Verpackt$=""

            
            
            
           Case 4       
;#########################       PACKEN       #########################################
           If CountGadgetItems(0)=0  And GetGadgetText(18)=""
           MessageRequester("Fehler", "Es ist keine Datei und kein Zielverzeichnis ausgewählt!", 0)
           Goto weiter           
           EndIf 
           If GetGadgetText(18)="" And CountGadgetItems(0)>0
           MessageRequester("Fehler", "Es ist kein Zielverzeichnis ausgewählt!", 0)
           Goto weiter
           EndIf 
           If CountGadgetItems(0)=0 And GetGadgetText(18)<>""
           MessageRequester("Fehler", "Es ist keine Datei ausgewählt!", 0)
           Goto weiter
           EndIf 
                     
                      
           
           
           Create=VBin_Create (GetGadgetText(18))
           If Create=0
           MessageRequester("Fehler", "Das Archiev konnte nicht erstellt werden!", 0)
           EndIf 
             For x=0 To CountGadgetItems(0)  
             Add=VBin_AddFile(GetGadgetText(18),GetGadgetItemText(0,x,0)) 
             If Add=0
             FehlerDatei$ = GetFilePart(GetGadgetText(18))
             MessageRequester("Fehler", ""+(FehlerDatei$)+"  konnte nicht zum Archiev hinzugefügt werden!", 0)
             EndIf 
             Next 
               SetGadgetText(7,"   Fertig !")
               ClosePack()

           
           
        
           
           
           Case 5 
           SetGadgetText(5,Str(GetGadgetState(5)))
           
           
           
           Case 12
           Pfad$=OpenFileRequester("Archiev zum entpacken wählen....","C:\","*.tht",0)  
       Exist = FileSize(Pfad$)
        If Exist = -1
        MessageRequester("Fehler", "Das ausgewählte Archiev existiert nicht!", 0)
        Else 
        SetGadgetText(10, Pfad$)
        EndIf    
        Pfad$=""
           
           
           
           Case 15
           Pfad$ = PathRequester("Pfad für die entpackten Dateien ...", "C:\")
           SetGadgetText(14, Pfad$)
           Pfad$=""
           
                
                      
           Case 16
;#########################       ENTPACKEN       #########################################
            If GetGadgetText(14)=""  And GetGadgetText(10)=""
           MessageRequester("Fehler", "Es ist kein Archiev und kein Zielverzeichnis ausgewählt!", 0)
           Goto weiter            
           EndIf 
           If GetGadgetText(10)<>"" And GetGadgetText(14)=""
           MessageRequester("Fehler", "Es ist kein Zielverzeichnis ausgewählt!", 0)
           Goto weiter
           EndIf 
           If GetGadgetText(10)="" And GetGadgetText(14)<>""
           MessageRequester("Fehler", "Es ist kein Archiev ausgewählt!", 0)
           Goto weiter
           EndIf 
                     
  
             
           
           
         EndSelect
            
     
     
     
     
     EndSelect

weiter:
Until Quit = 1





:lurk:
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Es crasht mit dieser Zeile: Add=VBin_AddFile(GetGadgetText(18),GetGadgetItemText(0,x,0))
Mal sehen ob es sich nicht umgehen lässt...
Bild
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Beitrag von Lukas-P »

Ähmmm.. und was ist jetzt mit meinem Prob,
Antworten