PureZip Lib

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

PureZip Lib

Beitrag von Tsuki-Namida »

okay ich nutze die PureZip Lib um daten in einer Zipdatei zu packen...
ich möchte midi datein und eine txt daei packen die dann später hochgeladen werden...
die midi dateien werden ohne weiteres gepackt aber die txt datei nicht.... aber warum? ich gebe die txt dateim über das OpenRequester an
OpenInfo$ = OpenFileRequester("Öffnen", GetGadgetText(20), "Text Dateien (*.txt, *.doc, *.rt)|*.txt;*.rt;*.doc",0)

aber die txt dateie wird nicht mit gepackt...
so packe ich sie:
PureZIP_Archive_Compress(OpenInfo$, #False)

sicherlich habe ich erst eine zip erstellt wo es dann rein soll
PureZIP_Archive_Create(ArchiveFileName.s, #APPEND_STATUS_CREATE)

okay in dieser reinfolge werden die befehle aufgerufen:

Code: Alles auswählen

OpenInfo$ = OpenFileRequester("Öffnen", GetGadgetText(20), "Text Dateien (*.txt, *.doc, *.rt)|*.txt;*.rt;*.doc",0)
PureZIP_Archive_Create(ArchiveFileName.s,  #APPEND_STATUS_CREATE)
PureZIP_Archive_Compress(OpenInfo$, #False)
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PureZip Lib

Beitrag von Kiffi »

auf den ersten Blick sieht das OK aus.

Ein abschließendes PureZIP_Archive_Close() rufst Du ja sicher auf und hast
nur vergessen, das hier zu posten, oder?

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

ja schlißen tu ich das archiv auch okay ich wusste nicht das es wichtig zur problemfösung wichtig ist...
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Magix-Soft <Kain> hat geschrieben:ja schlißen tu ich das archiv auch
dann liegt der Fehler in einem anderen Bereich Deines Quellcodes. Der von
Dir gepostete Codeschnippsel liefert bei mir die gewünschten Ergebnisse.
Magix-Soft <Kain> hat geschrieben:okay ich wusste nicht das es wichtig zur problemfösung wichtig ist...
wann immer eine Lib (oder auch die PB-internen Befehle) einen Close- oder
Exit-Befehl anbieten, sollte man diesen auch nutzen. Hierbei werden meist
reservierte Speicherbereiche wieder freigegeben oder evtl. geöffnete Datei
wieder ordnungsgemäß geschlossen. Das solltest Du Dir generell
angewöhnen.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

naja wie gesagt ich schließe das archiv...

hier ist der ganze codebereich wo es ums packen und einfügen der daten geht...

Code: Alles auswählen

    ElseIf GadgetID = 12  ;Info Inport
      OpenInfo$ = OpenFileRequester("Öffnen", GetGadgetText(20), "Text Dateien (*.txt, *.doc, *.rt)|*.txt;*.rt;*.doc",0)
    ElseIf GadgetID = 13  ;Abbrechen
      CloseWindow(WindowID(1))
      ;ProcedureReturn Str("-1")
    ElseIf GadgetID = 14  ; OK
      If GetGadgetText(15) <> "C:\" Or GetGadgetText(16) <> "C:\" Or GetGadgetText(17) <> "C:\" Or GetGadgetText(18) <> "C:\" Or GetGadgetText(19) <> "C:\" Or GetGadgetText(20) <> "C:\"
        If OpenInfo$
          OpenWindow(2,0,0,100,30,"Warten...",#PB_Window_BorderLess|#PB_Window_WindowCentered)
          CreateGadgetList(WindowID(2))
          TextGadget(21,5,5,90,20,"Bitte Warten...")
          Date$ = FormatDate("%yyyy.%mm.%dd[%ii]", Date())
          ArchiveFileName.s = Name.s + " " + Date$ + ".zip"
          PureZIP_Archive_Create(ArchiveFileName.s,  #APPEND_STATUS_CREATE)        
          If FindString(GetGadgetText(15),".mid",0) Or FindString(GetGadgetText(15),".MID",0) Or FindString(GetGadgetText(15),".midi",0) Or FindString(GetGadgetText(15),".MIDI",0)
            PureZIP_Archive_Compress(GetGadgetText(15), #False) 
          ElseIf FindString(GetGadgetText(16),".mid",0) Or FindString(GetGadgetText(16),".MID",0) Or FindString(GetGadgetText(16),".midi",0) Or FindString(GetGadgetText(16),".MIDI",0)
            PureZIP_Archive_Compress(GetGadgetText(16), #False) 
          ElseIf FindString(GetGadgetText(17),".mid",0) Or FindString(GetGadgetText(17),".MID",0) Or FindString(GetGadgetText(17),".midi",0) Or FindString(GetGadgetText(17),".MIDI",0)
            PureZIP_Archive_Compress(GetGadgetText(17), #False) 
          ElseIf FindString(GetGadgetText(18),".mid",0) Or FindString(GetGadgetText(18),".MID",0) Or FindString(GetGadgetText(18),".midi",0) Or FindString(GetGadgetText(18),".MIDI",0)
            PureZIP_Archive_Compress(GetGadgetText(18), #False) 
          ElseIf FindString(GetGadgetText(19),".mid",0) Or FindString(GetGadgetText(19),".MID",0) Or FindString(GetGadgetText(19),".midi",0) Or FindString(GetGadgetText(19),".MIDI",0)
            PureZIP_Archive_Compress(GetGadgetText(19), #False) 
          ElseIf FindString(GetGadgetText(20),".mid",0) Or FindString(GetGadgetText(20),".MID",0) Or FindString(GetGadgetText(20),".midi",0) Or FindString(GetGadgetText(20),".MIDI",0)
            PureZIP_Archive_Compress(GetGadgetText(20), #False) 
          ElseIf OpenInfo$
            PureZIP_Archive_Compress(OpenInfo$, #False)
          EndIf
          PureZIP_Archive_Close()
okay das packen geht ja soweit nur die text datei wird dann nicht gepackt...
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Puh, was für'n Code...
Magix-Soft <Kain> hat geschrieben:hier ist der ganze codebereich wo es ums packen und einfügen der daten geht...
ich denke, dass Du das Flag bei PureZIP_Archive_Create() falsch benutzt.
PureZIP-Hilfe hat geschrieben:#APPEND_STATUS_CREATE : create a new archive.
#APPEND_STATUS_ADDINZIP : if the file exists and AppendMethod = #APPEND_STATUS_ADDINZIP, we will add files in existing zip (be sure you don't add file that doesn't exist).
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

du meinst doch diesen flag: #APPEND_STATUS_CREATE

ich nutze den weil ich ja ein neues archiv erstelle....

ich öffne doch kein vorhandenes...

oder habe ich das falsch verstanden??
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

ich habe mir Deinen Code jetzt noch einmal genauer angeschaut. Liegt also
doch nicht am Flag. Sorry, für die Verwirrung.

Setz mal zwischen

Code: Alles auswählen

ElseIf OpenInfo$
und

Code: Alles auswählen

PureZIP_Archive_Compress(OpenInfo$, #False)

ein

Code: Alles auswählen

MessageRequester("", OpenInfo$)
Erscheint der MessageRequester?

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

okay.... der messagerequester kommt nicht :(
dann verstehe ich nicht was falsch ist...

aber ich habe ne überprüfung drinne so das der benutzer eine text datei angeben muss...
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Magix-Soft <Kain> hat geschrieben:okay.... der messagerequester kommt nicht :(
naja, dann ist der Fehler ja eingekreist. :-)
Magix-Soft <Kain> hat geschrieben:dann verstehe ich nicht was falsch ist...
Dann ist die Überprüfung mau. Guck doch da mal nach.

Grüße ... Kiffi
a²+b²=mc²
Antworten