Moi
Olen etsinyt ZIP-tyylistä pakkausta ohjelmaani VB6 ent.
vaan mistään ei löydy. onko kellän kokemusta?? tietoa linkeistä yms.
Tein hätäpäissäni tämmösen ;) Tää siis toimii kenttäpakkaajana ei norm. tekstin kaa kovin hyvin...
Function Pakkaa(T$) As String
Dim I%, J%, K%, M$, V$, Esto As Boolean
I = 1
V = "|"
Do
J = 0
M = Mid(T, I, 1)
Do
J = J + 1
Loop Until Mid(T, I + J, 1) <> M Or I + J > Len(T)
'ei saa olla "|"-merkki eikä numero
If J <= 4 And Asc(M) <> 124 And Not (Asc(M) >= Asc("0") And Asc(M) <= Asc("9")) Then
For K = 1 To J: V = V & M: Next K
Esto = True
Else
If Esto Then V = V & "|"
V = V & Mid(Str(J), 2) & "|" & Asc(M)
Esto = False
End If
If Not Esto Then V = V & "|"
I = I + J
Loop Until I > Len(T)
Pakkaa = V
End Function
Function Pura(T$) As String
Dim I%, J%, K%, Määrä%, Merkki%, V$
I = 1
Do
J = InStr(I, T, "|") 'Ensimmäinen
K = InStr(J + 1, T, "|") 'Toinen
If K = 0 Then K = Len(T)
Määrä = Val(Mid(T, J + 1, (K - 1) - J)) 'Määrä
If IsNumeric(Mid(T, J + 1, (K - 1) - J)) = True Then
J = K 'Merkin alku
K = InStr(J + 1, T, "|") 'Toinen
I = K
Merkki = Val(Mid(T, J + 1, (K - 1) - J)) 'Merkki
For K = 1 To Määrä
V = V & Chr(Merkki)
Next K
Else
I = K
V = V & Mid(T, J + 1, (K - 1) - J)
End If
Loop Until Len(V) >= 80
Pura = V
End FunctionTää siis pakkaa yhden rivi kerrallaan....
tekee tämmöstä koodia...
|81|32|
|81|32|
|81|32|
|81|32|
|81|32|
|81|32|
|81|32|
|3|48| |3|48| |3|48| |3|48| |3|48| |3|48| |3|48| |1|48| |1|48| |1|48| |1|48|44|32|
|3|48| |3|48| |2|48| |3|48| |1|48| |1|48| |2|48| |1|48| |1|48| |1|48| |1|48|44|32|
|3|48| |3|48| |3|48| |3|48| |2|48| |2|48| |3|48| |3|48| |1|48| |3|48|44|32|
|1|48| |1|48| |3|48| |3|48| |3|48| |3|48| |1|48| |3|48| |1|48| |1|48| |1|48| |3|48|44|32|
|81|32|
|1|48| |1|48| |1|48| |3|48| |3|48| |3|48| |3|48|58|32|
|3|48| |1|48| |3|48| |3|48| |3|48| |3|48|58|32|
|3|48| |2|48| |1|48| |1|48| |1|48| |1|48| |3|48| |3|48|58|32|
|1|48| |1|48| |3|48| |1|48| |1|48| |1|48| |1|48| |3|48| |1|48|60|32|
oikeassa pakkauksessa käytetään mm. huffman-koodausta ja muita fiksuja tekniikoita. Jos sen perusteellisesti opettelisi, niin siinä on muutamaksi illaksi puuhaa. Jos vain haluat zippailla, niin katso seuraavia:
http://www.codeguru.com/vb/gen/vb_graphics/
siinä on pohjana infozip:
http://www.info-zip.org/pub/infozip/
Kiitos oikein paljon! Tuo vaikuttaa hyvältä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.