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