Seite 1 von 2
Kleine frage zum Packen!
Verfasst: 29.03.2005 21:22
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
Verfasst: 29.03.2005 21:33
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...
Verfasst: 29.03.2005 21:41
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
Verfasst: 29.03.2005 21:43
von Franky
Er meinte GetGadgetItemState, net GetGadgetIconState

Verfasst: 29.03.2005 22:00
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
Verfasst: 29.03.2005 23:15
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!
Verfasst: 29.03.2005 23:18
von 125
Ungefähr so

:
Code: Alles auswählen
For x=1 to CountGadgetItems(#ListICongadget)
AddpackFile(GetGadgetItemText(#ListICongadget,x,SpalteWoDerPfadDrinneIst))
Next
Verfasst: 29.03.2005 23:19
von FISCHAUGE
CountGadgetItems(#ListICongadget)
Genau das habe ich gesucht!
125 THX und allen anderen natürlich auch ihr habt mir sehr geholfen!!
Verfasst: 29.03.2005 23:27
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

Verfasst: 30.03.2005 21:41
von vonTurnundTaxis
Hast du da vllt. noch eine Schleife drumherum?