HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0302
ビギナーテキストファイルの読み込み、計算、出力21解決


ビギナー

リンク

2010/3/2(Tue) 18:57:23|NO.30906

基本的なことですいません。プログラミング未経験者です。

ファイル名:test1.txt  ・・・・・(数字とスペースのみ)
 内 容 :1 2 3
      4 5 6

ファイル名:test2.txt  ・・・・・(,と;で区切っている)
 内 容 :1,2,3;
      4,5,6;

このファイルを読み込んで行の和をその行に書き込み出力するには
どの様に記述するのでしょうか?
2時間ほど色々試しているのですが、わかりません。
どうぞ、ご教授お願いします。



この記事に返信する


ビギナー

リンク

2010/3/2(Tue) 19:04:02|NO.30907

すいません、情報不足なので補います。

計算後はそれぞれ以下のようにしたいのですが
それを表示とファイルに返す(保存)の仕方です。

ファイル名:test1.txt
1 2 3 6
4 5 6 15

ファイル名:test2.txt  ・・・・・(,と;で区切っている)
1,2,3,6;
4,5,6,15;



Ve

リンク

2010/3/2(Tue) 19:36:33|NO.30908

ソースを見てみない事には…。



GENKI

リンク

2010/3/2(Tue) 19:52:28|NO.30909

回答するには情報が不足しているので、まずは情報を求めます。

まずはやることを整理しましょう。
いろんなことをいっぺんにやろうとすると混乱するので少しずつ処理していきます。

(1)テキストファイルを開く。
(2)1行読み込む。
(3)区切り文字で分割して、変数に代入する。
(4)計算する。
(5)計算結果を含んだ出力用の文字列を作成する。
(6)出力用変数に結果を書き加える。
(7)出力用変数の内容をテキストファイルに出力する。
(8)2つめのファイルの処理を始める。(1)にもどる。

だいたいこんな感じでしょうか?
次に、1つ1つの項目をつぶしていきます。

ビギナーさんは、どの項目までできて、どの項目で躓いているのでしょうか。



ビギナー

リンク

2010/3/2(Tue) 20:42:43|NO.30912

GENKIさん、ありがとうございます。
なるほど、そういう処理でやっていくのですね。
変数を設定して、いきなり①を読み込みの BLOAD 命令でしたり
していましたが、2行目からエラーとなっていました。
まず、一つづつつぶしていきます。出来るようにしたいです。
①open "test1"

①exe "test1"

と入力しF5をおしてもエラーになっちゃいます。



ビギナー

リンク

2010/3/2(Tue) 20:51:19|NO.30913

①exec "notepad t1.txt"

で開こうとするのですけれど、何故かファイルがありません。
新しく作成しますか?と聞かれてしまいます。



f(炬燵中)

リンク

2010/3/2(Tue) 20:55:46|NO.30914

ちょっと待て。

>①open "test1"
>や
>①exe "test1"

とりあえず全ての事を後回しにして、

まず、「このような書き方を誰が君に教えたのか」、
あるいは「何を見てそう書いたのか」、

それを教えてくれ・・・。



ビギナー

リンク

2010/3/2(Tue) 20:59:36|NO.30915

ソースについてですが、
test1ファイルは全て半角で
1スペース2スペース3改行
4スペース5スペース4

test2ファイルは全て半角でtest1ファイルの
スペースの部分がコンマなどに変えてあります。



ビギナー

リンク

2010/3/2(Tue) 21:02:06|NO.30916

エデイタのヘルプにある
HSP命令リファレンスを開くというのを開いて
やっています。



tsuka

リンク

2010/3/2(Tue) 21:07:52|NO.30917

そのリファレンスのどのページを参考にしたか書いてみると親切な方が解説をしてくださいますよ。



f(炬燵中)

リンク

2010/3/2(Tue) 21:09:16|NO.30918

>exec "notepad t1.txt"

ああ、焦った。
無茶なことを書いていたので

「まさか、マニュアルも読まずに自らの超能力を信じて全て直感でスクリプト書いているのでは・・・!?」

とか考えてしまった・・・。
が、execとか使ってる段階で同じようなもんだな。

とりあえず、テキストファイルが無いのはカレントフォルダの問題だ。
notepad.exeはパスが通っているんだろうが、t.txtは位置を明確に指定してやれ。


ついでに、マニュアルのメモリノートパッド命令関連読めば良いんでね。



ビギナー

リンク

2010/3/2(Tue) 21:15:10|NO.30919

リファレンスの検索で「OPEN」や「ファイル」や「開く」などで
検索してみましたら、exec windowsファイルを実行する、とありますので
そこをクリックしてみていました。



f(炬燵中)

リンク

2010/3/2(Tue) 21:20:50|NO.30920

まあ、まずはプログラミングマニュアルだな。



ジャム

リンク

2010/3/2(Tue) 21:32:00|NO.30921

読み込みにはnoteloadとか使えばいいと思うよ



Chokoko

リンク

2010/3/2(Tue) 23:11:39|NO.30928

test1.txt

notesel buf Filename="test1.txt" noteload Filename;ファイルを読み込み repeat notemax get = "" noteget get, cnt split get, " ", data answer=0 repeat stat answer + data(cnt) loop get=""+get+" "+answer+"" noteadd get,cnt,1 loop notesave Filename

test2.txt

notesel buf Filename="test2.txt" noteload Filename;ファイルを読み込み repeat notemax get = "" noteget get, cnt split get, ",", data answer=0 repeat stat answer + data(cnt) loop get=""+strmid(get,0,strlen(get)-1)+","+answer+";" noteadd get,cnt,1 loop notesave Filename

split命令を使うといいですよ。



Ve

リンク

2010/3/2(Tue) 23:39:09|NO.30931

折角、自分で答えを見つけられるように誘導してたのに…。



tsuka

リンク

2010/3/3(Wed) 00:32:08|NO.30934

>>Chokokoさん
そのスクリプトは見ていて気分が良くないです。
インデントをしていない(これ一番大きいです)。splitが0を返した場合無限ループに陥る(重大です)。
それと、a + data(cnt)という書き方は控えましょう。a += data(cnt)とすべきです。

スレ汚し失礼しました。



GENKI

リンク

2010/3/3(Wed) 02:33:40|NO.30936

そうかなるほどbload使っちゃいますよねー。<「ファイル 読み込み」で検索
bloadで、出来なくはないんですが、ちょっと大変です。

とゆうことでbloadのマニュアルの下のほうを見てみてください。
「テキストファイルを読み込む場合には…」というところです。
さて、ここはほかの方も指摘されてるので以下所略。


さてさて、メモリノートパッド命令の話は置いといて、とりあえず今のビギナーさんに必要なのはコレかな…?

HSPスクリプトエディタのメニューから、
ツール -> HSPアシスタント起動
basicの項目を片っ端から見ていくといいですよ。(少し多いですが。)
今必要なものと、今は必要ないがそのうち必要になるものが見つかります。

とりあえずは、実行してみて「へーこんなのできるんだー」程度でいいと思います。


>>tsukaさん(NO.30934)
その辺のトラップは、コピペで済まさせないためのある意味配慮なのではないかと深読みしてみたり…。



ビギナー

リンク

2010/3/3(Wed) 11:52:07|NO.30938

皆様 どうもありがとうございます。
これぐらいは簡単に出来る(処理内容)と思ってましたが、
難しいですね。一応ビギナーズサイトやその他多くのHSP
学習支援サイトを利用して勉強していこうと思います。
Chokokoさま、ご教授頂いたコードを理解し、自分のものに
できるまでしっかり勉強いたします。本当に有難う御座います。

そこでなのですが、オススメのHSPのサイトや検索でヒット
しにくいけどいいHSPのサイトがございましたら
教えてくださいませ。



ビギナー

リンク

2010/3/3(Wed) 14:29:19|NO.30939

GENKIさん ありがとうございます。
そうですね、まずそちらを読み込んでいきますね。
まだ感覚もなにもないので感覚をつかめるよう頑張ります!
それとこの掲示板を眺めているとHSPという言語には
暖かいユーザーが多いですね。



hatter

リンク

2010/3/3(Wed) 18:33:44|NO.30941

> そこでなのですが、オススメのHSPのサイトや検索でヒット
しにくいけどいいHSPのサイトがございましたら
教えてくださいませ。

http://hsp.tv/play/link.htmlの一覧から片っ端から見ていくと
自分に合ったページが見つかります。おすすめのサイトは
無いことは無いですけど、いろいろなサイトを見るのも重要ですし、
あくまで私にとってでですから....

ヒットしにくいページはね....
HSPのサイトのリンクやWebRingを見るといいですよ。

あと、感謝になった回答者のサイトもみるのもいいと思います。



ビギナー

リンク

2010/3/4(Thu) 16:19:09|NO.30968

hatterさん アドバイスありがとうございます、了解で~す。
ゆっくりでも一つ一つ学んでいきます!



ONION software Copyright 1997-2025(c) All rights reserved.