名前 題名 ▼ たてぐやさん > なんとかものになりました。 > 扱うデータは、DXFファイルです。ご存じの方もいらっしゃると思いますが、 > DXFファイルというのは、せいぜい8bytesの行が千数百行もあるデータです。最 > 初のバージョンでは… > > while not eof(f) do begin > readln(f,s); > Lineout(s) > end: > > といったように1行読んではそれをRS-232Cに出力する、というオーソドック > スなやり方をしていました。だけどこれだとやたら遅いんですね。「もっと速 > くならないの?」とダメ出しが来ました。そこで考えました。 > > whilenot eof(f) do begin > s := ''; > repeat > readln(f,s1); > s := s + s1 + #$0D + #$A; > until (Length(s)> 240) or (eof(f)); > end; > lineout(s); > > これで240bytes程度のデータを一気に送ることができそうです。やってみた > ところ、これは速い! 計測してみると1行読んで1行送る方式の10倍以上速く > 送信できます。ところが、TurboPASCALにサンプルとして入っていたRS-232C > BIOSがヘボなのか、大量にデータを送ると、メモリを食いつぶしてしまうのか、 > テキストのアトリビュートがおかしくなってしまいます。いろいろ試行錯誤し > ましたが、ふと思いついて1行送信するたびにRS-232Cポートを開閉するように > したところ、この不具合は解決しました。明日さっそく実稼働に入ります。 > FDとVzエディターとTPCの世界をしばらく楽しみました。かれこれ四半世紀 > 前のテクノロジーです。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link