Packer bei Komprimierten Dateien

Anfängerfragen zum Programmieren mit PureBasic.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Packer bei Komprimierten Dateien

Beitrag von kiki »

Hi,

1. Wiso Funktioniert ein Packer eigentlich nur bei kleinen Dateien.

2. Wie funzt das auch bei Großen?
Zuletzt geändert von kiki am 05.01.2007 22:40, insgesamt 1-mal geändert.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Nein, da ist pb wieder (mal) buggy. Es wurde berichtet, dass der PB interne Packer mit großen Dateien(ab 50 oder 100 MB) fehlschlägt.

Dateien/Ordner mit einer größe von 0 Byte werden glaube ich auch nicht unterstützt.

Wieso fragst du? Hängt sich das programm bei dir auf? Tipp: Du kannst genau beobachten, wie weit der Packer ist, und zwar mit dem PackerCallback. Richtig angewandt kannst du damit eine anzeige bauen, wie weit die Datei schon komprimiert wurde (in Prozent). Dann kannst du sehen, ob der Packer nun hängen bleibt oder er einfach weiterkomprimiert, aber nicht reagiert.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Packer nur bei kleinen Dateien

Beitrag von ts-soft »

kiki hat geschrieben:Hi,

1. Wiso Funktioniert ein Packer eigentlich nur bei kleinen Dateien.

2. Wie funzt das auch bei Großen?
Welchen Packer meinste?
Was ist klein?
Welche Dateitypen?

Dateien werden meist im Speicher gepackt, der ist aber nur begrenzt.

zu 2.: Einfach häppchenweise Packen und zusammenführen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Ich habe als Test mal eine 800 MB große Video Datei aufgenommen und das geht nicht. Kann man den Video irgentwie aufteilen?

Ich habe nämlich nur 512MB und 100 sind Davon bestimmt belegt.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

http://www.purebasic.fr/german/viewtopi ... t&start=20
Ist zwar für Dateien kopieren mit Fortschritt, aber fürs Packen wäre es das
gleiche Prinzip

20 MB laden, packen und in neue Datei schreiben, die nächsten 20 MB usw.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Hmmmmmmmmm, ist ja sehr Kompliziert. Ich finde da in den Vielen Codes die Funktion zum Datei Laden usw. Nicht (Und verstehen tu ichs auch nicht)
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Dann setz dich mal bitte mit der File-Lib auseinander, siehe Hilfe.

Datei lesen: ReadFile(), Datei schreiben: CreateFile()
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Hmmmmmmmmm, ist ja sehr Kompliziert
Nein, ist programmieren, logisches und mathematisches Denken.
Prinzip hab ich Dir erklärt, also fang einfach an oder denk nochmal vorher
drüber nach.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Ok, aber wie kann ich sagen das genau die hälfte (50%) der Datei gelesen wird, und dann der Rest?
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

filesize()/2
dann haste die halbe größe :allright:
und dann mit readdata() u.a einlesen
Antworten