Mir erschließt sich der nutzen deines Code-Umbaus nicht so ganz...
Die While-Schleife is ja ok, aber zum einen crasht es ohne die If-Abfrage falls 7z nich gestartet werden kann, und zum anderen ändert sich durch das -y erstmal auch garnix, außer das 7z nix mehr nachfragt. Vor allem ändert sich nichts an der Tatsache das erst alles zum Schluss ausgegeben wird...
Read/Write inkompatibel zu manchen consolen bzw verzögert?
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: Read/Write inkompatibel zu manchen consolen bzw verzöger
(\/) (°,,,°) (\/)
Re: Read/Write inkompatibel zu manchen consolen bzw verzöger
ok .. prg gehört mit if abgefragt.
und irgendwie hast du auch sonst fast recht
und irgendwie hast du auch sonst fast recht
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Re: Read/Write inkompatibel zu manchen consolen bzw verzöger
durch timestamp erweitert.Ausgabe im Messagerequester ohne debug mittendrin
auch bei umfangreichen Extraktionen bleibt der Timestamp gleich.
(Ich glaube mittlerweile, dass es ein Teil des Zip-Algorithmus ist, dass die
Zeit dabei stehen bleibt, vermutlich geht das Entpacken dann leichter von
der Hand
)
folgender Code geht
Ausgabe erfolgt korrekt
obiges hat wohl was mit dem zip zu tun
Vermutlich geht der Output des 7z.exe in der Console erstmal nicht auf dem stdout raus
und kann darob mit den pb-funktionen auch nicht direkt abgefangen und angezeigt werden.
7z kennt den Switch -so mit der weiteren Angabe > filename
diese Option gibt das Ergebnis dann nach stdout aus was wiederum umgelenkt werden muss (!!)
da die Ausgabe auf der gleichen Konsole mit eine 7z-Fehlermeldung scheitert.
Auch diese Ausgabe scheint erst fertig zu sein wenn 7z mit dem Lauf durch ist.
Eine Lösung ist hier fraglich
Eventuell ne LKösung mit ReadProgramError(..)
soweit ich mich erinnere war das mal eine Lösung in einem ähnlich Fall
---
Wennste statt 7z 7zG nimmst wird damit direkt ein Windowsoutput erzeugt.

auch bei umfangreichen Extraktionen bleibt der Timestamp gleich.
(Ich glaube mittlerweile, dass es ein Teil des Zip-Algorithmus ist, dass die
Zeit dabei stehen bleibt, vermutlich geht das Entpacken dann leichter von
der Hand
Code: Alles auswählen
pfad$ = "D:\file.zip"
out$ = "K:\!\"
pwd$ = "bla"
prg = RunProgram("D:\Programme\7-zip\7z.exe","e "+Chr(34)+pfad$+Chr(34)+" -o"+Chr(34)+out$+Chr(34)+" -p"+Chr(34)+pwd$+Chr(34)+" -y","",#PB_Program_Open|#PB_Program_Read|#PB_Program_Error|#PB_Program_Hide)
If prg
While ProgramRunning(prg)
While AvailableProgramOutput(prg)
e=ElapsedMilliseconds()
oo.s=ReadProgramString(prg)+"("+Str(e)+")"+#CRLF$
;Debug oo
o.s+oo
;While e=ElapsedMilliseconds()
; Delay(1)
;Wend
Wend
Wend
o.s+"Close"+#CRLF$
CloseProgram(prg)
EndIf
MessageRequester("",o)
Ausgabe erfolgt korrekt
Code: Alles auswählen
Prog = RunProgram("ping.exe", "127.0.0.1 -n 10", GetPathPart(ProgramFilename()), #PB_Program_Open | #PB_Program_Read)
If Prog
While ProgramRunning(Prog)
If AvailableProgramOutput(Prog)
Debug ReadProgramString(Prog)
EndIf
Wend
CloseProgram(Prog)
EndIf
Vermutlich geht der Output des 7z.exe in der Console erstmal nicht auf dem stdout raus
und kann darob mit den pb-funktionen auch nicht direkt abgefangen und angezeigt werden.
7z kennt den Switch -so mit der weiteren Angabe > filename
diese Option gibt das Ergebnis dann nach stdout aus was wiederum umgelenkt werden muss (!!)
da die Ausgabe auf der gleichen Konsole mit eine 7z-Fehlermeldung scheitert.
Auch diese Ausgabe scheint erst fertig zu sein wenn 7z mit dem Lauf durch ist.
Eine Lösung ist hier fraglich
Eventuell ne LKösung mit ReadProgramError(..)
soweit ich mich erinnere war das mal eine Lösung in einem ähnlich Fall
---
Wennste statt 7z 7zG nimmst wird damit direkt ein Windowsoutput erzeugt.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
- thminz
- Beiträge: 84
- Registriert: 25.05.2011 16:01
- Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
- Wohnort: Köln
Re: Read/Write inkompatibel zu manchen consolen bzw verzöger
bobobo: Mir wurde in einen anderen Forum gesagt man solle EDIT benutzen und hier sollte man bestimt auch benutzen habe ich hier irgendwo gelesen und wozu gibt es sonst Board-Regeln aber ich frage mich warum du als ADMINISTRATOR das nicht tust?? Tolles Vorbild! 
Immer Aktuelle Purebasic Version!!
Re: Read/Write inkompatibel zu manchen consolen bzw verzöger
Spiesser 
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.