Kleine frage zum Packen!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
FISCHAUGE
Beiträge: 108
Registriert: 25.03.2005 21:07
Wohnort: Karlsruhe
Kontaktdaten:

Kleine frage zum Packen!

Beitrag von FISCHAUGE »

Also ich habe ein

Code: Alles auswählen

ListIconGadget(8, 150,100,500, 400, "Archiv Inhalt", 405,#PB_ListIcon_GridLines)
erstellt! Anschließend kann man durch

Code: Alles auswählen

name$=OpenFileRequester("DATEI EINFÜGEN IN ARICHV....","C:\","*.*",0)
OpenFile(0,name$)
FileLength=Lof()
AddGadgetItem(8,-1, name$ +Chr(10) +Str(FileLength)+Chr(10) )
Dateien in die Anzeige laden soweit so gut!
Jetzt will ich durch ein Button druck
Das die Daten wo er in der Anzeige hatt in ein Gewünschtes Arichv packen!

Code: Alles auswählen

   If EventGadgetID()=12
      save$=SaveFileRequester("ARICHV ERSTELLE IN.....","C:\","*.pup",0)
      CreatePack(save$+".pup")
Was muss ich nun nach CreatePack() einfügen damit er die ListIconGadget abarbeitet und die Daten in das CreatPack() einfügt?

danke
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Du kannst in ein mit OpenPack()/CreatePack() geöffnetes/erstelltes Pack-File
Dateien mit dem AddPackFile() Befehl hinzufügen.
Hilfe hat geschrieben:AddPackFile(DateiName$ [, KompressionsLevel])


Komprimiert die angegebene Datei und fügt diese zur aktuellen Pack-Datei, die zuvor mit CreatePack() geöffnet wurde, hinzu. Das Hinzufügen einer großen Datei kann mit maximaler Kompression eine längere Zeit dauern, aber die Entpackgeschwindigkeit ist dafür sehr hoch (nahezu sofort) und die Packrate ist sehr gut. 'KompressionsLevel' ist ein optionaler Parameter, welcher von 0 (schnellste Komprimierung, wenig effizient) bis 9 (langsamste Komprimierung, sehr effizient) reicht.
Ich hoffe, das hilft dir weiter...
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
mipooh
Beiträge: 226
Registriert: 12.12.2004 04:49
Kontaktdaten:

Beitrag von mipooh »

Mit GetGadgetState bzw GetGadgetIconState bekommst Du die Inhalte der Gadgets, die Du dann evtl in einen String umwandeln und speichern kannst. Umwandlung entsprechend umgekehrt beim einlesen.
Ob dafür ein CreatePack sinnvoll ist, bezweifle ich, da das doch nur sehr wenige Informationen sind, wenn keine Texte drin sind nur ein paar Nullen und Einsen.
ListIconGadget ist mir zwar jetzt nicht geläufig....
Hab sowas ähnliches mal gemacht

http://www.feeleasy.net/fbccompilergui.zip

Kannst ja mal reingucken, müsste halbwegs übersichtlich sein.

Gruss
Mipooh
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Er meinte GetGadgetItemState, net GetGadgetIconState ;)
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Ich denke, FISCHAUGE möchte nicht das,was im Gadget steht verpacken, sondern die Dateinen, deren Pfade dort angezeigt werden...

Code: Alles auswählen

a$ = GetGadgetItemText(#Gadget, Eintrag, Spalte) 
CreatePack("Datei.pak")
AddPackFile(DateiName$ [, KompressionsLevel])
ClosePack()
...das müsste so funktionieren
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
FISCHAUGE
Beiträge: 108
Registriert: 25.03.2005 21:07
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von FISCHAUGE »

genau! vonTurnundTaxis
Das problem ist ich will nicht eine Datei packen sondern alle Dateien wo in die Liste eingefügt wurden!

Mit AddPackfile nimmt er ja nur eine ausgewählte Datei!
Ich möchte aber gerne das er die liste abarbeite und die Dateien wo in der liste stehen (pfad/datei*.*) in diese Packfile packt die zuvor mit CreatePack() erstellt wurde!
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Ungefähr so :D :

Code: Alles auswählen

For x=1 to CountGadgetItems(#ListICongadget)
AddpackFile(GetGadgetItemText(#ListICongadget,x,SpalteWoDerPfadDrinneIst))
Next 
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Benutzeravatar
FISCHAUGE
Beiträge: 108
Registriert: 25.03.2005 21:07
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von FISCHAUGE »

CountGadgetItems(#ListICongadget)

Genau das habe ich gesucht!
125 THX und allen anderen natürlich auch ihr habt mir sehr geholfen!!
Benutzeravatar
FISCHAUGE
Beiträge: 108
Registriert: 25.03.2005 21:07
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von FISCHAUGE »

sry noch ein problem!

und zwar er packt jetzt alles wie er soll nur!
Nach dem ich im sage Speichern erstellt er die datei mit CreatePack()
und fügt die Dateien in die Packfile ein!

Nur jetz fängt er wieder von vorne an, er öffnet das Fenster mit SavefileRequester immer wieder und wieder!

Code: Alles auswählen

save$=SaveFileRequester("ARICHV ERSTELLEN IN.....","C:\","*.pak",0)
      CreatePack(save$+".pak")
      For x=1 To CountGadgetItems(8) 
      AddPackFile(GetGadgetItemText(8,x,0)) 
Next 
EndIf
weiss jemand wie man das abstelle kann :-(
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Hast du da vllt. noch eine Schleife drumherum?
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Antworten