#11 Article 1893 Posted at 1988/08/06 02:25:49 by アルルカン (MAP475) [PRG.NL3]

Subject: NT3 ノ Batchaサンノ 3コママンガ タイオウ ソノタ カイテイバン

おっ久しぶりです、アルルカンです。
 NT3の、Batchaさんの3こまマンガ(#1873)対応版です。
 同じアーティクル番号内に複数のデータが存在した場合、アーティクル番号にアルフ
ァベットを付けてファイル名にします。
 同じアーティクル番号でのデータの個数は最大27個です。
(Batchaさんの場合、1873.NL3 1873A.NL3 1873B.NL3 の3つになります。)

 それと、メールでご意見を頂いたのですが、このNL3は、カラーデータの最初に黒
のデータが続く場合、分離を失敗します。
 原因は2210行にあり、カラーデータの最初が空白4個(黒が2つ連続)なら、カ
ラーデータでない(NL3のデータでない)と見なすようになっています。
 今回の改訂で対応させましたが、スピードが若干落ちます。

                         MAP475 アルルカン

10 ' SAVE"NT3",A
11 ' NL3データ ブンリ プログラム  ver. 1.1 88/8/5
100 '
110 '   init
120 DEFINT A-Z
130 DIM N(255)
140 FOR I=0 TO 255:N(I)=-1:NEXT
150 P=0
160 FOR I=&H20 TO &H7E:N(I)=P:P=P+1:NEXT
170 FOR I=&HA0 TO &HDF:N(I)=P:P=P+1:NEXT
180 N(&HFD)=P:P=P+1:N(&HFE)=P
190 CHKL=78
1000 '
1010 '  main
1020 INPUT "Log File Name = ",SF$
1030 OPEN SF$  FOR INPUT AS #1 ' <== キシュニ ヨッテ カエテ クダサイ
1100 '
1110 GOSUB 2000 : IF EOF(1) THEN 1140
1120 IF F THEN GOSUB 3000
1130 GOTO 1100
1140 CLOSE #1
1150 END
2000 '
2010 '  check color data
2020 F=0
2030 WHILE NOT(F OR EOF(1))
2040   IF EOF(1) THEN 2080
2050   LINE INPUT #1,D$  ':PRINT D$
2060   IF LEN(D$)>7 THEN IF LEFT$(D$,7)="Article" THEN GOSUB 2100
2070   IF (LEN(D$)=78) OR (LEN(D$)=128) THEN GOSUB 2200
2080 WEND
2090 RETURN
2100 '
2110 F$=MID$(STR$(VAL(MID$(D$,8))),2)
2120 PRINT:PRINT "Find Article ";F$;
2130 RETURN
2200 '
2210 IF LEFT$(D$,78)=SPACE$(78) THEN RETURN
2220 I=1:A1=0:A2=0 : ER=0
2230 WHILE NOT((I>=CHKL) OR ER)
2240   A1=N(ASC(MID$(D$,I  ,1))):IF A1=-1 THEN ER=-1
2250   A2=N(ASC(MID$(D$,I+1,1))):IF A2=-1 THEN ER=-1
2260   IF A1+A2*128>729 THEN ER=-1
2270   I=I+2
2280 WEND
2290 IF NOT ER THEN F=-1
2300 RETURN
3000 '
3010 '  output data
3020 PRINT " Write";
3025   GOSUB 4000
3030 OPEN F$+OP$+".NL3" FOR OUTPUT AS #2 ' <== キシュニ ヨッテ カエテ クダサイ
3040 GOSUB 3100
3050 CLOSE #2
3060 RETURN
3100 '
3110 IF LEN(D$)=0  THEN RETURN
3120 PRINT #2,D$  ':PRINT D$
3130 LINE INPUT #1,D$
3140 GOTO 3110
4000 '
4005 '  ファイル ノ ジュウフク チェック
4010 OP=&H40:OP$=""
4020 IF OP<>&H40 THEN OP$=CHR$(OP) '<== ヘンスウ OP ヲ ミテ、 ファイルメイ ニ ツケル OP$ ヲ キメル。
4030 OPEN F$+OP$+".NL3" AS #2      '<== ランダムファイル デ オープン スル。
4040 FL=LOF(2)                     '<== ファイルノ ナガサ(レコード スウ) ヲ ヨム。
4050 CLOSE #2
4060 IF FL=0 THEN RETURN           '<== ファイル ノ ナガサガ 0 ナラ イイガ・・・
4070 IF OP<>&H40+26 THEN OP=OP+1   '<== ナガサガ 0 デナケレバ、 オプションヲ ツケヨウ!!
4080 GOTO 4020                     '<== サア、 オプションヲ ツケタ ファイルモ、 モウイチド シラベヨウ。