Bosna i Hercegovina



zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,296


Subject: Gzip arhiver
Ovaj gzip fajl je veoma dobar za programere jer se moze pozvati iz shela i radi veoma dobro.
Za pakiranje je dovoljno u shelu napisati:
gzip imefilea.tip
Ako zelimo raspaikari onda samo ovaj gzip.exe kopiramo pod imenom gunzip.exe
sada pozivamo:
gunzip imegzipfile.gz

Prilikom pakiranja ne ostavlja rapakirani file kao i prilikom raspakkiranja ne ostavlja gz file.

Mozete jos objasnjenja naci Ovdje

Prilozi:
Informacije o fajlu: zip  gzip.zip
Preuzimanja: 9
Veličina: 44.27 KB


Pozdrav
↑  ↓

Avko Offline
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,404


Subject: Re: Gzip arhiver
u potrazi sam za besplatnim arhiverom koji ce moci raditi iz shell komande vb6
isprobao sam navedeni program no nisam znao kako , ili to program nemoze, neznam a treba mi arhiviranje vise datoteka iste ekstenzije u gz file.
ono sto gzip radi a to je gzip imeFajla.ext > zipFajl.gz
meni je potrebno gzip *.ext > zipFajl.gz

sljedeci program koji sam skinuo je program D7zip.exe
sintaksa je sljedeca:
za komprimirat (zipovat): d7zip.exe -z data.bin -f *.bin
a za dekomprimirat(unzipovat): d7zip.exe -u data.bin -f *.bin

problem je sto neznam kako napisati shell jer mi ne prihvaca ovo sto sam ja napisao

Private Sub Command1_Click()
Shell App.Path & "\d7zip.exe -z data.bin -f *.bin"
MsgBox "Zipped"
End Sub

Private Sub Command2_Click()
Shell App.Path & "\d7zip.exe -u data.bin -f *.bin"
MsgBox "UnZipped"
End Sub

trazim pomoc za bilo koji arhiver? Unapred zahvaljujem.
Newton laže! Lake padaju brže!
↑  ↓

Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,167


Subject: Re: Gzip arhiver
Jas imam so rar ako sakas e sega dali raboti so poveke datoteki ne znam treba da probam
↑  ↓

Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,167


Subject: Re: Gzip arhiver
eve ovde pogledaj imas za rar dosta primeri
Shell Rar
↑  ↓

zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,296


Subject: Re: Gzip arhiver
Evo ti ovaj 7za.exe.
Vjerujem da znas sa njim uraditi ali evo primjer:
shell 7za a imezipa.zi *.bmp

Prilozi:
Informacije o fajlu: zip  7za.zip
Preuzimanja: 40
Veličina: 325.42 KB


Pozdrav
↑  ↓

Avko Offline
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,404


Subject: Re: Gzip arhiver
7za a data.zip *.bin : sve datoteke ekstenzije bin spremi u data.zip
7za e data.zip -y : ektrakt data.zip bez pitanja za "overwrites"

sada idem isprobavat sa shell u vb6 pa se sigurno javim. negdje ce zapeti Grinning
Newton laže! Lake padaju brže!
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 13.05.2015-08:23 od strane Avko. ↑  ↓

Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,167


Subject: Re: Gzip arhiver
Probaj da koristis ShellAndWait funcija za da znaes koga e zavrsen procesot isto mozes i progres bar da stavis za da e popregledno.
Eve ova stavi vo nekoj modul
DownloadIzvorni kod (Visual Basic):
  1. Option Explicit
  2.  
  3. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  4. Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
  5. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  6.  
  7. Private Const SYNCHRONIZE = &H100000
  8. Private Const INFINITE = -1&
  9.  
  10. ' Start the indicated program and wait for it
  11. ' to finish, hiding while we wait.
  12. Public Sub ShellAndWait(ByVal program_name As String, ByVal window_style As VbAppWinStyle)
  13. Dim process_id As Long
  14. Dim process_handle As Long
  15.  
  16.     ' Start the program.
  17.    On Error GoTo ShellError
  18.     process_id = Shell(program_name, window_style)
  19.     On Error GoTo 0
  20.  
  21.     DoEvents
  22.  
  23.     ' Wait for the program to finish.
  24.    ' Get the process handle.
  25.    process_handle = OpenProcess(SYNCHRONIZE, 0, process_id)
  26.     If process_handle <> 0 Then
  27.         WaitForSingleObject process_handle, INFINITE
  28.         CloseHandle process_handle
  29.     End If
  30.  
  31.     Exit Sub
  32.  
  33. ShellError:
  34. Call MsgBox("PROBLEM SO PROCESOT  " & Err & "  " & Error, vbOKOnly + vbExclamation + vbApplicationModal + vbDefaultButton1, "")
  35. End Sub
↑  ↓

Avko Offline
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,404


Subject: Re: Gzip arhiver
Sad
Tovar za mene , čovek. što go napiša ridot linii i Jas baram na toa kako tele vo šarena vrata. AJde, ako ne ti preči napišete mi deka Jas go koristam so moite ona što mi treba .
Imam data.bin datoteka koJa ima kompresirana vo nego datoteki so ekstenziJa za otpadoci. Od glavnite formi se založi deka vašiot modul , kako?
za data.bin datoteka može da se napiše vaka:
Čadot strString kako String
strString = App.Path & " \ data.bin "
sega ḱe se Javite na vašiot modul i raskomprimirao data.bin vo ista papka so upotreba progresbar koi veḱe imaat Forma1
Jas ne go razbiraat ona što process_id i process_handle
vie ne mora da doJde, koga ḱe se fati vašeto vreme i koga sakate
Newton laže! Lake padaju brže!
↑  ↓

Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,167


Subject: Re: Gzip arhiver
Slobodno pisuvaj na tvom jeziku ja te sve razumem ovo sa prevodom na google translate nije dobro.
E sad ovako.
Ne treba razumeti funkcija sta radi one e vec uradzena i testirana i oko nje prica e zavrsena tako da ne ulazimo u sustine funkcija.

Ti uradi sledece:
Stavi ovaj cod u neki modul.

I u tvoj cod na mesto gde koristis naredba Shell zameni ja sa ShelAndWait ovako na primer:

ShellAndWait "7za a data.zip *.bin", vbMinimizedNoFocus

E sad sta se desava da bolje razumes sta radi funkcija.

Ova funkcija zaustavi ce program odbosno (Program bice blokitran) dok se podatci pakuju ,a kad zavrsi proces sve vraca se vo normala.
To je dobro ako imas puno podatke koi trebas spakovati i za pakovajne treba vise vremena a u medzuvremenu da ne bi korisnik opet pokrenuo proces za pakovajne.

Naredba Shell mozes vise puta pozvati a program ne zna dali je predhodni proces zavrsio.
Ako nesto nije jasno pisi.

Za progres barom malo kasnije jer i ja ga nekoristim mozda ZXZ moze tu da pomozi malo.
↑  ↓

Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,167


Subject: Re: Gzip arhiver
I jos nesto od iskustva:
Kad radis pakovajne fajlove moras dobro napisati puteve odakle su fajlove na koja lokacija ide i gde se nalazi program so koi pakujes u tvom slucaju 7za.exe

Ja kod mene uvek i definiram kao stringove pred pocetka izvrsavakne procesa primer:
DownloadIzvorni kod (Visual Basic):
  1.  Dim Program As String
  2.           Program = App.path & "\RAR.EXE"            ' treba da ima rar.exe vo istiot direktorium od ovaj program
  3.                Dim Fajlovi As String
  4.                        Fajlovi= App.path & "\Bazi\*.mdb"
  5.                  Dim VoRar As String
  6.                         VoRar= "C\Bazi.rar"
↑  ↓

Avko Offline
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,404


Subject: Re: Gzip arhiver
ma ja sam tebe trebao uslugu pa sam preveo da se ti ne mucis, ali eto dobro

a ovo vbMinimizedNoFocus sta je to?
vidio sam u knjizi pise vbNormalFocus, sta tu trebam staviti, mislim koji parametar
i jos nesto ako definiram kao i ti:

DownloadIzvorni kod (Visual Basic):
  1. Dim Program As String
  2. Program = App.path & "\RAR.EXE"            
  3. Dim Fajlovi As String
  4. Fajlovi= App.path & "\Bazi\*.mdb"
  5. Dim VoRar As String
  6. VoRar= "C\Bazi.rar"

kako ce izgledati shell naredba, mozda ovako?
ShellAndWait Program & VoRar & Fajlovi, vbMinimizedNoFocus
ili cemo ovo: Program & VoRar & Fajlovi staviti u neki string recimo strString
DownloadIzvorni kod (Visual Basic):
  1. strString = Program & VoRar & Fajlovi 'stavimo u strString
  2. ShellAndWait strString, vbMinimizedNoFocus 'onda pozovemo shell sa tim stringom

necemo sada o progresbaru jer je i ovo za mene tesko pa cemo to prvo rijesiti a onda vidicemo ko živ,ko mrtav.
necemo zxz pozvati, ako ga pozovemo onda ce on napisati kod sve rijesiti i onda nesmijem nista ni pitati. Odma bi mi rekao: Opet, neznaš?! Evo ti kec u imenik. Grinning
Newton laže! Lake padaju brže!
↑  ↓

Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,167


Subject: Re: Gzip arhiver
Ovako vbMinimizedNoFocus e dali da vidimo program dok se pakuju podatke tu imas vise izbora ja koristim ova ali evo pogledaj na sliku sta cu staviti

strString = Program & VoRar & Fajlovi 'stavimo u strString

ova je u redu samo ovde u ovaj string treba jos staviti i ono slovo "a"

za testirajne stringa dali je dobro uradzen ja uvjek stavim jedan msgbox i u njega stavim string koi treba se izvrsavati da pogledam kako to izgleda i ako je u redu nazoves funkcija shelandwait

ovako bi trebalo da izgleda kod tebe sa to sto bin fajlovi bi bili u folder pored program koj se zobe Bazi a zip fajl nakon pakovajne nalazice se u C: direktorium

DownloadIzvorni kod (Visual Basic):
  1. Dim Program As String
  2.          Program = App.path & "\7za.exe"            ' treba da ima rar.exe vo istiot direktorium od ovaj program
  3. Dim Fajlovi As String
  4.          Fajlovi= App.path & "\Bazi\*.bin"
  5.  Dim VoRar As String
  6.          VoRar= "C\data.zip"
  7.  Dim strString As String  
  8.          strString=  Program & " a " &  VoRar & " "  &  VoRar
  9.          Msgbox  strString  ' da pogledas kako izgleda komplet
  10.  
  11.  
  12.      ' e sad ovde vec se izvrsi pakovajne podatke
  13.     ShellAndWait strString, vbMinimizedNoFocus


Prilozi:
Informacije o fajlu: bmp  1.bmp
Preuzimanja: 15
Veličina: 273.96 KB

↑  ↓

Avko Offline
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,404


Subject: Re: Gzip arhiver
evo probao ja, ne raspakira.
za unzip napisao ovo:
DownloadIzvorni kod (Visual Basic):
  1. program = App.Path & "\7za.exe"
  2.     zipFajl = App.Path & "\data.bin"
  3.     strString = program & " e " & zipFajl & " -y"  'ovo y je za overwrites
  4.    ShellAndWait strString, vbMinimizedNoFocus

nakon sto ode u modul tamo ide do
DownloadIzvorni kod (Visual Basic):
  1. If process_handle <> 0 Then
  2.         WaitForSingleObject process_handle, INFINITE
  3.         CloseHandle process_handle
  4.     End If
ali je process_handle=0 pa prema tome ne odradi nista i ode na
exit sub
dakle ne raspakira
Newton laže! Lake padaju brže!
↑  ↓

Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,167


Subject: Re: Gzip arhiver
Eve komplet
DownloadIzvorni kod (Visual Basic):
  1. Private Sub Command1_Click()
  2.  Dim Program As String
  3.          Program = App.Path & "\7za.exe"            ' treba da ima rar.exe vo istiot direktorium od ovaj program
  4. Dim Fajlovi As String
  5.          Fajlovi = App.Path & "\*.txt"              ' Svi txt Fajlove
  6. Dim VoRar As String
  7.          VoRar = App.Path & "\Data.zip"             ' Vo isti folder gde se nalazi program formira se fajl Data.zip
  8. Dim strString As String
  9.          strString = Program & " a " & VoRar & " " & Fajlovi
  10.      
  11.      ' e sad ovde vec se izvrsi pakovajne podatke
  12.     ShellAndWait strString, vbNormalNoFocus
  13. End Sub
  14.  
  15. Private Sub Command2_Click()
  16.  Dim Program As String
  17.          Program = App.Path & "\7za.exe"            ' treba da ima rar.exe vo istiot direktorium od ovaj program
  18. Dim OdRar As String
  19.          OdRar = App.Path & "\Data.zip"             ' Data.zip mora se nalaziti u isti folder gde je program i 7za.exe
  20. Dim strString As String
  21.          strString = Program & " e " & OdRar & " -o" & App.Path & "\" & " -y"  ' vo istiot folder gde se nalazi program
  22.  
  23.  
  24.      ' e sad ovde vec se izvrsi pakovajne podatke
  25.     ShellAndWait strString, vbNormalNoFocus
  26. End Sub
↑  ↓

Avko Offline
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 2,404


Subject: Re: Gzip arhiver
nista. copirao sam tocno ovaj gore primjer, a ono prije stavio u modul.
u mapi nema Data.zip , Data.zip fajla nema nigdje na HD pregledao sam sa programom Everything search engine
znaci nesto ne radi. Ili sam ja nesto krivo upisao. Daj molim te reci dali to kod tebe radi?
vazno je reci, a evo sada sam isprobao
umjesto :ShellAndWait strString, vbNormalNoFocus
stavim :Shell strString, vbNormalNoFocus
znaci ne poziv modul i isto ne radi
pa predpostavljam da je greska negdje u onim stringovima
Program = App.Path & "\7za.exe"
OdRar = App.Path & "\data.zip"
strString = Program & " e " & OdRar & " -o" & App.Path & "\" & " -y"
sada cu probati sa MsgBox kako si rekao da vidim sta je u stringovima
evo probao sa msgbox i cini mi se da je sve u redu
u dos promptu sa naredbom : 7za.exe a data.zip *.txt odradi sve u redu
komprimira sve *.txt fajlove u data.zip
Newton laže! Lake padaju brže!
Ovaj komentar je mijenjan 2 puta. zadnja izmjena 14.05.2015-12:39 od strane Avko. ↑  ↓

 Podijeli  Dodaj odgovor Stranice (2): 1, 2

All times are GMT +01:00. Current time: 26.05.2017-08:31.