Code Comments
Programming Forum and web based access to our favorite programming groups.Creation of the "Down Pillow" Compression Algorithm Control Codes: Step 2 of 88 I am posting a series of steps to comp.compression so that there can be an external record of my efforts to create a sucessful copy of control codes to use in the "Down Pillow" compression algorithm as discussed earlier this year. Please disregard these posts if you value your time; time is money of course. You are warned up front, so don't accuse me of wasting your time. Concern yourself only if I am sucessful. If that time comes you will have access to everything you need to know in the archive. But, if you are like me and love wasting your time on frivolous pursuits play along with me if you dare. Erik T. Evenson --------------------------------- Step 2 of 88 Split the random number file DPC01_01.DAT of length 17,694,720 bytes into nine parts in sequential order: Part 1; 5,242,880 bytes, file name DPC02_01.DAT Part 2; 5,242,880 bytes, file name DPC02_02.DAT Part 3; 5,242,880 bytes, file name DPC02_03.DAT Part 4; 327,680 bytes, file name DPC02_04.DAT Part 5; 327,680 bytes, file name DPC02_05.DAT Part 6; 327,680 bytes, file name DPC02_06.DAT Part 7; 327,680 bytes, file name DPC02_07.DAT Part 8; 327,680 bytes, file name DPC02_08.DAT Part 9; 327,680 bytes, file name DPC02_09.DAT Use a commercial disk/file utility program package to split the file or use the following QBASIC Program that I wrote: ------------------------------- REM PROGRAM: SPLITER2.BAS REM This program spilts the DPC01_01.DAT into the ' nine parts as described in STEP (2). DIM q$(10) LET q$(1) = "DPC01_01.DAT" LET q$(2) = "DPC02_01.DAT" LET q$(3) = "DPC02_02.DAT" LET q$(4) = "DPC02_03.DAT" LET q$(5) = "DPC02_04.DAT" LET q$(6) = "DPC02_05.DAT" LET q$(7) = "DPC02_06.DAT" LET q$(8) = "DPC02_07.DAT" LET q$(9) = "DPC02_08.DAT" LET q$(10) = "DPC02_09.DAT" LET n = 1 GOSUB 100 LET n = n + 1 GOSUB 200 FOR d# = 1 TO 2160 IF d# = 641 OR d# = 1281 OR d# = 1921 THEN GOSUB 200 IF d# = 1961 OR d# = 2001 OR d# = 2041 THEN GOSUB 200 IF d# = 2081 OR d# = 2121 THEN GOSUB 200 GET #1, d# GET #2, c# LSET e1$ = a1$ PUT #2, c# LET c# = c# + 1 NEXT d# CLOSE END 100 CLOSE #1 OPEN "R", #1, q$(n), 8192 FIELD #1, 8192 AS a1$ RETURN 200 CLOSE #2 OPEN "R", #2, q$(n), 8192 FIELD #2, 8192 AS e1$ LET c# = 1 PRINT "creating "; q$(n) LET n = n + 1 RETURN ---------------------------------------- More to follow.
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.