%Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:2171 File Name:CASIOZIP Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record ' PAR LENAINNOIR ' MERCI A MEITHAL \ClrText \Locate 1,1," CASIO ZIP" \Locate 2,3,"Compresser une image" \Locate 2,4,"Decompresser l'image" \Locate 2,5,"Aide et info" 3\->Z \Do \Do \LpWhile \Getkey \Locate 1,Z,"\->" \Do:\Getkey\->G \LpWhile G=0 \Locate 1,Z," " G=37\ And Z\<>5\=>\Isz Z G=28\ And Z\<>3\=>\Dsz Z \LpWhile G\<>31 \ClrText \If Z=3 \Then \Locate 1,1,"\-> COMPRESSION" \Locate 1,3,"Image : " \Locate 1,4,"[0]\(-)Image en cours" \Do \Do \LpWhile \Getkey \Locate 9,3,Z \Do:\Getkey\->G \LpWhile G=0 G=71\=>0\->Z G=72\=>1\->Z G=62\=>2\->Z G=52\=>3\->Z G=73\=>4\->Z G=63\=>5\->Z G=53\=>6\->Z \LpWhile G\<>31 \If Z\<>0 \Then \CoordOff:\GridOff:\AxesOff:\LabelOff:\BG-None:\ClrGraph \ViewWindow 1,127,0,1,63,0 \IfEnd 0\->P~Q Z=1\=>\RclPict 1 Z=2\=>\RclPict 2 Z=3\=>\RclPict 3 Z=4\=>\RclPict 4 Z=5\=>\RclPict 5 Z=6\=>\RclPict 6 \Prog "ZIP.INI" \Lbl A \ClrText \Locate 1,1,"TERMINE !" \Locate 1,2,"2 \Mat crees." \Locate 1,3,"Stocker ou ? <->" 1\->Z \Do \Do \LpWhile \Getkey \Do:\Getkey\->G \LpWhile G=0 G=27\ And Z\<>9\=>\Isz Z G=38\ And Z\<>1\=>\Dsz Z Z=1\=>\Locate 1,4,"Matrices A et B" Z=2\=>\Locate 1,4,"Matrices C et D" Z=3\=>\Locate 1,4,"Matrices E et F" Z=4\=>\Locate 1,4,"Matrices G et H" Z=5\=>\Locate 1,4,"Matrices I et J" Z=6\=>\Locate 1,4,"Matrices K et L" Z=7\=>\Locate 1,4,"Matrices M et N" Z=8\=>\Locate 1,4,"Matrices U et V" Z=9\=>\Locate 1,4,"Matrices W et X" \LpWhile G\<>31 Z=1\=>\Mat P\->\Mat A Z=2\=>\Mat P\->\Mat C Z=3\=>\Mat P\->\Mat E Z=4\=>\Mat P\->\Mat G Z=5\=>\Mat P\->\Mat I Z=6\=>\Mat P\->\Mat K Z=7\=>\Mat P\->\Mat M Z=8\=>\Mat P\->\Mat U Z=9\=>\Mat P\->\Mat W Z=1\=>\Mat R\->\Mat B Z=2\=>\Mat R\->\Mat D Z=3\=>\Mat R\->\Mat F Z=4\=>\Mat R\->\Mat H Z=5\=>\Mat R\->\Mat J Z=6\=>\Mat R\->\Mat L Z=7\=>\Mat R\->\Mat N Z=8\=>\Mat R\->\Mat V Z=9\=>\Mat R\->\Mat X \ClrText \Locate 1,1,"\Mat crees" \Locate 1,2,"Taille totale..." \Dim \Mat P \List \Ans[1]\->A \Dim \Mat R 10(\List \Ans[1]+A)\->A \Locate 1,3,A \Locate 16,3,"Octets" \Stop \IfEnd \If Z=4 \Then \Locate 1,1,"\->CHARGER" \Locate 1,3,"Charger matrices <->" 1\->Z \Do \Do \LpWhile \Getkey \Do:\Getkey\->G \LpWhile G=0 G=27\ And Z\<>9\=>\Isz Z G=38\ And Z\<>1\=>\Dsz Z Z=1\=>\Locate 1,4,"Matrices A et B" Z=2\=>\Locate 1,4,"Matrices C et D" Z=3\=>\Locate 1,4,"Matrices E et F" Z=4\=>\Locate 1,4,"Matrices G et H" Z=5\=>\Locate 1,4,"Matrices I et J" Z=6\=>\Locate 1,4,"Matrices K et L" Z=7\=>\Locate 1,4,"Matrices M et N" Z=8\=>\Locate 1,4,"Matrices U et V" Z=9\=>\Locate 1,4,"Matrices W et X" \LpWhile G\<>31 Z=1\=>\Mat A Z=2\=>\Mat C Z=3\=>\Mat E Z=4\=>\Mat G Z=5\=>\Mat I Z=6\=>\Mat K Z=7\=>\Mat M Z=8\=>\Mat U Z=9\=>\Mat W \Mat \Ans\->\Mat P Z=1\=>\Mat B Z=2\=>\Mat D Z=3\=>\Mat F Z=4\=>\Mat H Z=5\=>\Mat J Z=6\=>\Mat L Z=7\=>\Mat N Z=8\=>\Mat V Z=9\=>\Mat X \Mat \Ans\->\Mat R \Prog "DZIP.INI" \IfEnd \If Z=5 \Then " CASIO ZIP V3.01":" " "(C) Aout 2006" " Par Lenainnoir" " Algo de la passe 1 PAR Meithal" "www.planete-casio.com" \Do \LpWhile \Getkey\<>31 \ClrText "POUR DEZIPER UNE" "IMAGE SA PREMIERE" "MATRICE DOIT ETRE LA" "MAT P ET SA SECONDE" "LA MAT R."\Disp\ClrText "IL EST RECOMMANDE D'" "EXECUTER DZIP.INI" "AVANT LE DEZIPAGE QUIEST FAIT PAR LE" "PROGRAMME DZIP.EXE"\Disp\ClrText "EX:IMAGE EN \Mat A ET B." "\Mat A\->\Mat P" "\Mat B\->\Mat R" "\Prog DZIP.EXE"\Disp\IfEnd %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:449 File Name:DZIP.EXE Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \Dim \Mat P 0\->J \List \Ans[1]\->\r \For 1\->Z \To \r-1 \Mat P[Z,1] 100\Frac (\Ans/100)\->D \Int (\Ans/100) 1000\Frac (\Ans/1000)\->C \Int (\Ans/1000) 100\Frac (\Ans/100)\->B \Int (\Ans/100)\->A \If C=A\ Or Z\>=\Mat P[\r,1] \Then 2\->\Dim \List 1 \List 1\->\List 2 A\->\List 1[1] 64-B\->\List 2[1] C\->\List 1[2] 64-D\->\List 2[2] \Else 1\->L \If D-B\<=C-A \Then 2+2*(D-B)\->\Dim \List 1 \List 1\->\List 2 \For B\->G \To D A\->\List 1[L] 64-G\->\List 2[L] \Isz L C\->\List 1[L] 64-G\->\List 2[L] \Isz L \Next \Else 2+2(C-A)\->\Dim \List 1 \List 1\->\List 2 \For A\->G \To C G\->\List 1[L] 64-B\->\List 2[L] \Isz L G\->\List 1[L] 64-D\->\List 2[L] \Isz L \Next \IfEnd \IfEnd \DrawStat \Next \S-Gph2 \DrawOn \S-Gph1 \DrawOff \Mat->ListR,1) \List \Ans/100 \Int \List \Ans\->\List 3 (64-(100\Frac \List \Ans))\->\List 4 \DrawStat %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:108 File Name:DZIP.INI Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \FuncOff:\CoordOff:\GridOff:\AxesOff:\LabelOff:\BG-None:\S-WindMan \ClrText:\ClrGraph \ViewWindow 1,127,0,1,63,0 \S-Gph1 \DrawOn,\xyLine,\List1,\List2,1,\Dot \S-Gph2 \DrawOff,\Scatter,\List 3,\List 4,1,\Dot \S-Gph3 \DrawOff \Cls \Prog "DZIP.EXE" \Stop %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:55 File Name:ZIP.01 Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \For P\->A \To R \For Q\->B \To S \PxlTest B,A \Ans\=>\Prog "ZIP.02" \Next \Next \Prog "ZIP.05" %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:171 File Name:ZIP.02 Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record A\->C B\->D \Do C=R\=>\GotoA \PxlTest D,C+1 \Not \Ans\=>\Break C+1\->C \LpWhile 1 \Lbl A C\->Z A\->C B\->D \Do A\->C D=S\=>\Break \PxlTest D+1,C \Not \Ans\=>\Break \While C\<=Z\ And C+1\<>R+1 \PxlTest D+1,C+1 \Not \Ans\=>\Break C+1\->C \WhileEnd \Lbl B C\Break D+1\->D \LpWhile 1 \Lbl C Z\->C \Prog "ZIP.03" \Return %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:175 File Name:ZIP.03 Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \Lbl A \Dim \Mat P \Mat P \List \Ans[1]+1\->Z \If Z=255 \Then \Mat P\->\Mat Q [[\Mat Q[1,1]]]\->\Mat P[1,1] \GotoA \IfEnd {Z,1}\->\Dim \Mat P \Dim \Mat \Ans \For 1\->Z \To \List \Ans[1] \Mat \Ans[Z,1]\->\Mat P[Z,1] \Next A*1\EE7+B*1\EE5+C*1\EE2+D*1\EE0\->\Mat P[\List \Ans[1]+1,1] \Prog "ZIP.04" %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:33 File Name:ZIP.04 Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \For B\->F \To D \For A\->E \To C \PxlOff F,E \Next \Next %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:364 File Name:ZIP.05 Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \Locate 11,3," OK" \Locate 11,4,"En cours..." 0\->J \Dim \Mat P \Trn \Mat P\->\Mat P \For 1\->I \To \List \Ans[1] (\Mat P[1,I]/100000)\->Z \Int Z\->A 100000\Frac Z\->B \If A=B \Then 0\->\Mat P[1,I] \Isz J \If J\<>1 \Then \Augment(\Mat R,[[A]] \Mat \Ans\->\Mat R \Else [[A]]\->\Mat R \IfEnd \IfEnd \Next \Mat P\->\Mat S 0\->I 0\->J 0\->\Mat S[1,1] \For 1\->I \To \List \Ans[1] \Mat S[1,I]\->P \If P\<>0 \Then 1+J\->J \If J\<>1 \Then \Augment(\Mat P,[[P]]) \Mat \Ans\->\Mat P \Else [[P]]\->\Mat P \IfEnd \IfEnd \Next [[0]]\->\Mat S \Locate 11,4," OK" \Locate 11,5,"En cours..." \Prog "ZIP.06" %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:537 File Name:ZIP.06 Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record 0\->T \Dim \Mat R \List \Ans[2]\->S \For 0\->J \To S-1 J\->I \Do I+1\->I I=S\=>\Goto0 \Mat R[1,I]/100\->Z \Int Z\->A 100\Frac Z\->B \Mat R[1,I+1]/100\->Z \Int Z\->C 100\Frac Z\->D \If I=J+1 \Then A\->E B\->F \IfEnd \Not ((C-A=1)\ And ((\Abs (D-B))=1))\=>\Break \LpWhile I+1\<>S \If J+1\<>I \Then (100E+F)\->U (100A+B)\->V 100000U+V\->W \Augment(\Mat P,[[W]]) \Mat \Ans\->\Mat P \If T=0 \Then 1\->T \Dim \Mat P \List \Ans[2]\->\r \IfEnd \For J+1\->K \To I 0\->\Mat R[1,K] \Next \IfEnd I-1\->J J+1=S\=>\Break \Next \Lbl 0 \Mat R\->\Mat S 0\->J \For 1\->I \To S \Mat S[1,I]\->P \If P\<>0 \Then 1+J\->J \If J\<>1 \Then \Augment(\Mat R,[[P]]) \Mat \Ans\->\Mat R \Else [[P]]\->\Mat R \IfEnd \IfEnd \Next [[0]]\->\Mat S \Locate 11,3," OK" \Locate 1,7,"Finalisation..." \Augment(\Mat P,[[\r]]) \Trn \Mat \Ans\->\Mat P \Trn \Mat R\->\Mat R \Dim \Mat P \List \Ans[1]\->Z \Mat P[Z,1]=0\=>Z\->\Mat P[Z,1] \Return %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:352 File Name:ZIP.INI Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record [[0]]\->\Mat P \Do \LpWhile \Getkey \ClrText \Locate 1,5,"Tout compresser ?" \Locate 1,6,"[O]\(-)OUI" \Locate 1,7,"[N]\(-)NON" \Do \Getkey \LpWhile \Ans\<>54\ And \Ans\<>64 \If \Ans=64 \Then ((\Xmax-\Xmin)/2)\->A ((\Ymax-\Ymin)/2)\->B \Plot A,B\DispX\->P 64-Y\->Q ((\Xmax-\Xmin)/2)\->A ((\Ymax-\Ymin)/2)\->B \Plot A,B\DispX\->R 64-Y\->S P+1\->P Q-1\->Q R-1\->R S+1\->S \Else 1\->P~Q 127\->R 63\->S \IfEnd \ClrText \Locate 1,1,"Avancement..." \For 3\->Z \To 5 \Locate 1,Z,"Passe \slash3 En attente." \Locate 7,Z,Z-2 \Next \Locate 11,3,"En cours..." \Prog "ZIP.01" %End