新しく発言する EXIT インデックスへ
LineInput文について

  Line Input 文について Akiya 2005/05/18 15:01:00 
  LINEINPUTは文字列入力専用なので,正負にか... 白石和夫 2005/05/19 08:17:45 
   └まず、読み込もうとしているデータを示しま... Akiya 2005/05/19 20:00:15 
    └*このデータをTextファイルにCopy-and-Pas... 白石和夫 2005/05/19 20:21:25 
     └やってみました。 Akiya 2005/05/19 21:15:53 
      └MACのテキストファイルなら 白石和夫 2005/05/19 21:51:22 
       └解決策を提示していただいてありがとうござ... Akiya 2005/05/20 15:30:05 

  Line Input 文について Akiya 2005/05/18 15:01:00  ツリーへ

Line Input 文について 返事を書く
Akiya 2005/05/18 15:01:00
数値データのファイルをLine Input文を用いて読み込んだとき、
先頭に負号があるとそれを読み込んでくれません。
何か解決策はありますでしょうか。

  LINEINPUTは文字列入力専用なので,正負にか... 白石和夫 2005/05/19 08:17:45  ツリーへ

Re: Line Input 文について 返事を書く
白石和夫 2005/05/19 08:17:45
LINE INPUTは文字列入力専用なので,正負にかかわらず数値の読み込みには使えないはずなので,状況が理解できません。
具体的に読み込みのためのコード部分と,対応するデータ部分を示してください。

   └まず、読み込もうとしているデータを示しま... Akiya 2005/05/19 20:00:15  ツリーへ

Re: LINEINPUTは文字列入力専用なので,正負にか... 返事を書く
Akiya 2005/05/19 20:00:15
まず、読み込もうとしているデータを示します。
普通、外部ファイルの形式で保存されております。

---------ここから------------
.0073125 129.869145931 23
.0073125 129.869145931 23
.0073125 129.869145931 23
.0073125 129.818076664 23
.0073125 129.818076664 23
.0073125 129.869145931 23
.0073125 129.869145931 23
.0073125 129.818076664 23
.0073125 129.869145931 23
-.0170625 129.818076664 23
-.0463125 129.767007397 23
-.0755625 129.71593813 23
-.102375 129.71593813 23
-.131625 129.71593813 23
-.160875 129.71593813 23
-.190125 129.664868863 23
-.2169375 129.56273033 23
-.24375 129.460591796 23
---------ここまで------------

このデータはコンマで区切られていないため、Line Input文を用いて読み込むことにしました。

(*このデータをTextファイルにCopy-and-Pasteして以下のプログラムを用いると、うまく読み込むことができるのですが、実際のファイルを行うとうまくいきません。しかし、実際のファイルの送り方がわかりませんので、改めてメールに添付して送りたいと思いますが、いかがでしょうか?
私のメールアドレスは、
takahiro_ika@yahoo.co.jp
です)

用いているプログラムを次に示します。

---------ここから-----------
FILE GETNAME FN$

OPEN #1 : NAME FN$, ACCESS INPUT

DO
LINE INPUT #1,IF MISSING THEN EXIT DO:A$
PRINT A$
LOOP

end

---------ここまで-----------

やっていることは、まずデータファイルを開いて、それを一行ずつ読み込んで単に読み込んだ行を出力するだけです。
このとき、先頭の符号が消えてしまうという状況です。

    └*このデータをTextファイルにCopy-and-Pas... 白石和夫 2005/05/19 20:21:25  ツリーへ

Re: まず、読み込もうとしているデータを示しま... 返事を書く
白石和夫 2005/05/19 20:21:25
*このデータをTextファイルにCopy-and-Pasteして以下のプログラムを用いると、うまく読み込むことができるのですが、実際のファイルを行うとうまくいきません。
ということであれば,ファイルがWindows標準のものでない可能性があります。
次のプログラムを実行してみてください。

FILE GETNAME FN$
OPEN #1 : NAME FN$, ACCESS INPUT
DO
CHARACTER INPUT #1,IF MISSING THEN EXIT DO:A$
LET n=ORD(a$)
IF n<32 THEN PRINT n
LOOP
END

普通のテキストファイルだと,出力結果は
13
10
13
10
13
10
13
10
13
10
13
10
13
10
のように,13と10の連続になります。

     └やってみました。 Akiya 2005/05/19 21:15:53  ツリーへ

Re: *このデータをTextファイルにCopy-and-Pas... 返事を書く
Akiya 2005/05/19 21:15:53
やってみました。
結果は13の連続でした。
先生の示されたとおり、MACで取り込んだデータなので、このような結果になったと思います。
CHARACTER INPUTを用いる方法は思いつきませんでしたが、
13が出たところを改行文字列としてデータを区切っていけばよいという方針が立ちました。
私の質問内容が明確でないにもかかわらず、
的確なご指示ありがとうございます。

      └MACのテキストファイルなら 白石和夫 2005/05/19 21:51:22  ツリーへ

Re: やってみました。 返事を書く
白石和夫 2005/05/19 21:51:22
MACのテキストファイルなら
OPEN #1 : NAME FN$, ACCESS INPUT
SET #1: ENDOFLINE CHR$(13)
DO
LINE INPUT #1,IF MISSING THEN EXIT DO:A$
PRINT A$
LOOP

としてみてください。

       └解決策を提示していただいてありがとうござ... Akiya 2005/05/20 15:30:05  ツリーへ

Re: MACのテキストファイルなら 返事を書く
Akiya 2005/05/20 15:30:05
解決策を提示していただいてありがとうございました。
この方法でうまくいきました。
これで実験データの解析がスムーズに進みます。


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。