home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh3x
/
sh33a.d64
/
obj.kompaktor
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
2KB
|
89 lines
1000 REM *********************************
1010 REM * *
1020 REM * PED DATEN KOMPRESSOR FUER *
1030 REM * FILES DIE ZU GROSS SIND *
1040 REM * UND NICHT MEHR IN PED SELBST *
1050 REM * KOMPRIMIERT WERDEN KOENNEN *
1060 REM * *
1070 REM *********************************
1080 OPEN14,8,15
1090 INPUT"[147]NAME DES ZU KOMPRIMIERENDEN FILES ";N$
1100 OPEN1,8,2,N$+",S,R"
1110 GOSUB1780:IFF<>0THEN1090
1120 INPUT#1,K:INPUT#1,E
1130 DIMX(E+2),Y(E+2),Z(E+2)
1140 DIMXN(E+2),YN(E+2),ZN(E+2)
1150 DIMP1%(K+1),P2%(K+1)
1160 FORN=1TOK+1
1170 INPUT#1,P1%(N):INPUT#1,P2%(N)
1180 NEXT
1190 FORI=1TOE+1
1200 INPUT#1,X(I):INPUT#1,Y(I):INPUT#1,Z(I):INPUT#1,N
1210 NEXT
1220 CLOSE1
1230 GOSUB1780:IFF<>0THEN1090
1240 PRINT"[147]";E+1;K+1
1250 PRINT"DOPPELPUNKTE"
1260 FORN=1TOE+1
1270 PRINT"";N
1280 XN(N)=X(N):YN(N)=Y(N):ZN(N)=Z(N)
1290 IFX=-9999THEN1330
1300 FORS=N+1TOE+1
1310 IF(X(N)=X(S))THENIF(Y(N)=Y(S))THENIF(Z(N)=Z(S))THENX(S)=-9999:Y(S)=N:Z(S)=0
1320 NEXTS
1330 NEXTN
1340 FORN=1TOK+1
1350 IFX(P1%(N))=-9999THENP1%(N)=INT(YN(P1%(N)))
1360 IFX(P2%(N))=-9999THENP2%(N)=INT(YN(P2%(N)))
1370 NEXT
1380 PRINT"[147]DOPPELLINIEN"
1390 FORN=1TOK
1400 PRINT"";N
1410 FORS=N+1TOK+1
1420 IF(P1%(N)=P1%(S))AND(P2%(N)=P2%(S))THENP1%(S)=-1:P2%(S)=-1
1430 IF(P1%(N)=P2%(S))AND(P2%(N)=P1%(S))THENP1%(S)=-1:P2%(S)=-1
1440 NEXT
1450 NEXT
1460 PRINT"[147]NEUE PUNKTE UND KANTENANZAHL ERMITTELN"
1470 EN=-1
1480 FORI=1TOE+1
1490 IFXN(I)<>-9999THENEN=EN+1
1500 NEXT
1510 KN=-1
1520 FORI=1TOK+1
1530 IFP1%(I)<>-1THENKN=KN+1
1540 NEXT
1550 PRINT"[147]NEUES FILE SPEICHERN":PRINT
1560 PRINT:PRINT"NEUE ECKEN UND KANTEN ANZAHL :";EN;KN
1570 IFEN<=320ORKN<=640THEN1630
1580 PRINT"FILE NOCH ZU GROSS FUER PED"
1590 PRINT"A[146]BRECHEN ODER T[146]ROTZDEM SPEICHERN"
1600 POKE198,0:WAIT198,1:GETG$
1610 IFG$="A"THENCLOSE14:PRINT"[147]":END
1620 IFG$<>"T"THEN1600
1630 PRINT:PRINT"GLEICHNAMIGES FILE WIRD UEBERSCHRIEBEN":PRINT:PRINT
1640 INPUT"FILENAME";N$
1650 OPEN1,8,2,"@:"+N$+",S,W"
1660 GOSUB1780:IFF<>0THEN1650
1670 PRINT#1,KN:PRINT#1,EN
1680 FORI=1TOK+1
1690 IFP1%(I)<>-1THENPRINT#1,P1%(I):PRINT#1,P2%(I)
1700 NEXT
1710 FORI=1TOE+1
1720 IFXN(I)<>-9999THENPRINT#1,XN(I):PRINT#1,YN(I):PRINT#1,ZN(I):PRINT#1,I
1730 NEXT
1740 CLOSE1
1750 GOSUB1780:IFF<>0THEN1650
1760 CLOSE14:END
1770 REM FLOPPYFEHLERKANAL
1780 INPUT#14,F,F$,F1,F2
1790 IFF=0THENRETURN
1800 CLOSE1
1810 PRINT"[147]FLOPPYFEHLER:"
1820 PRINT""F;F$;F1;F2
1830 PRINT"NOCHMAL ? (J/N)"
1840 POKE198,0:WAIT198,1:GETG$
1850 IFG$="J"THENRETURN
1860 IFG$<>"N"THEN1840
1870 PRINT"[147]":CLOSE14:END