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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0724
aaaaaテキストファイル読み込み11解決


aaaaa

リンク

2010/7/24(Sat) 19:55:08|NO.33885

メモ帳みたいなものを作りたいと思っていますが
inputboxで指定したファイル名のテキストを開く方法がわかりません


input a notesel data noteload ""+a+".txt" mesbox a

出来ればスクリプトのほうをよろしくおねがします



この記事に返信する


Kpan

リンク

2010/7/24(Sat) 20:17:48|NO.33888

付属サンプルに目を通してください。
>sample\basic\editor.hsp
>sample\basic\note2.hsp



aaaaa

リンク

2010/7/24(Sat) 20:21:02|NO.33890

的確なご指導ありがとうございました



aaaaa

リンク

2010/7/24(Sat) 20:28:04|NO.33891

うまくいきました
ありがとうございます



リンク

2010/7/24(Sat) 21:02:55|NO.33894

開き方としては実行ファイルと同じフォルダにテキストファイルがない場合
フルパスを取得する必要があります 例C:\\Text\\a.txt
などなので私オリジナルのスクリプトも乗せます

質問者さんのアレンジタイプ


sdim data,10000 //一万文字までdataに入るように宣言 sdim a,60//aも60文字まで入るように宣言 //mesboxは1回だけの表示でいい input a button gosub "開く",*aaa stop *aaa //パターン1 notesel data //これはmesboxに割り当てた変数と同じにする noteload ""+a+".txt"//開く mesbox data,400,400 //mesboxへ割り当てる変数は新しいのに・サイズは指定しておくこと

これだと実行ファイルと同じフォルダのテキストファイルしか開けません
いやフルパスを入力すれば可能ですが
次は私オリジナルです
なるべくシンプルにしました


sdim data,10000 //一万文字までdataに入るように宣言 sdim a,60//aも60文字まで入るように宣言 //mesboxは1回だけの表示でいい pos 0,0 button "開く",*hiraku button "保存 ",*hozon mesbox data,400,400 //mesboxへ割り当てる変数は新しいのに・サイズは指定しておくこと mesboxid=stat //mesboxのIDを入力 stop *hiraku //パターン1 dialog "txt",16 //表示させたい拡張子 a=refstr//aにフルパスを入れる notesel data //これはmesboxに割り当てた変数と同じにする noteload ""+a+""//開く objprm mesboxid,data//mesboxのなかみを書き換える stop *hozon notesave ""+a+""//現在の状況を保存 dialog "txt",17 //自由なところにファイルを作り内容を保存 stop

これを見て一気に全部は無理でしょうが、理解できるよう努力してみてください^^
最初はなれませんが私のプログラム習得の極意は人のプログラムを自分でいじってみることです
そうすることでプログラムの命令の役割などがわかってきますよ^^
私の書いたオリジナルでわからないことがあれば質問してください



aaaaa

リンク

2010/7/24(Sat) 21:28:43|NO.33900

わざわざありがとうございます
コメントのおかげでわかりやすいです
オリジナルのほうで保存がうまくいきません
よろしくお願いします



リンク

2010/7/24(Sat) 21:49:31|NO.33903

すみませんいろいろと間違っていました
正しくはdialogで保存するファイルの名前を取得してそれを使って保存という形でした

sdim data,10000 //一万文字までdataに入るように宣言 sdim a,60//aも60文字まで入るように宣言 //mesboxは1回だけの表示でいい pos 0,0 button "開く",*hiraku button "保存 ",*hozon mesbox data,400,400 //mesboxへ割り当てる変数は新しいのに・サイズは指定しておくこと mesboxid=stat //mesboxのIDを入力 notesel data //これはmesboxに割り当てた変数と同じにする stop *hiraku //パターン1 dialog "txt",16 //表示させたい拡張子 a=refstr//aにフルパスを入れる noteload a//開く objprm mesboxid,data//mesboxのなかみを書き換える stop *hozon dialog "txt",17 //自由なところにファイルを作り内容を保存 name=refstr //保存するフルパスを入手 notesave name //先ほどのフルパスでファイルを保存 stop

また不明な点がありましたらご質問ください^^



Kpan

リンク

2010/7/24(Sat) 22:44:24|NO.33905

>拳さん
sdim命令は64バイトが最小値です。
デバッグウィンドウの変数を見てみると分かります〜。


// 3つとも64バイト確保 sdim x sdim y, 60 sdim z, 64 // こっちは65バイト確保 sdim a, 65



aaaaa

リンク

2010/7/24(Sat) 22:47:20|NO.33906

返事遅れてすいません  ありがとうございます
少し別件で聞きたいことがあるのですがよろしいでしょうか



リンク

2010/7/25(Sun) 01:17:19|NO.33908

夜遅くの返信申し訳ありません
Kpenさんへ
 あ〜〜、なるほど、最低でも64バイト確保されるんですね!
 いままで無駄な宣言をしていました
 ありがとうございます^^

aaaaaさんへ
 どうぞ、私に答えられる程度なら答えますよ^^
 私より上級者の方も助けてくれると思います



u

リンク

2010/7/25(Sun) 09:09:50|NO.33914

別の質問はまた専用にスレッドを立てられた方が良いと思いますよ。



リンク

2010/7/25(Sun) 11:02:06|NO.33920

>別の質問はまた専用にスレッドを立てられた方が良いと思いますよ。
確かにそうですね
皆さんに見てもらえますし
私も必ず拝見に伺いますので
新しいのをたててみては?



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