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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0425
Nichフォルダ内ファイルリストから画像を選択3解決


Nich

リンク

2008/4/25(Fri) 04:13:23|NO.15365

selfolderでフォルダを選択肢、そのフォルダ内のデータをリストに表示→txtに書き出し
リストで選択された行と同じ行をtxtから呼び出し変数に当てる→"picload 左記変数"

としてみたのですが、巧く動きません・・・bufferにも書き出せませんでした(画像ファイルがないと出る)
改変してるうちにゴチャゴチャのソースになってしまったかもですが、そのソースです
**ループ処理などは今はまだつけてないので、ボタンで動かしてます

#include "hspext.as" screen 0,800,600,0 sdim a,100 sdim b,2000 sdim c,5000 sdim list,2000 notesel text list = -1 def = dir_cur goto *main *main cls font "",15,16 : pos 25,5 mes a objsize 75,25 : pos 15,375 button gosub "フォルダを開く",*hoge_list objsize 160,360 : pos 15,30 listbox list,0,text objsize 75,25 : pos 100,375 button goto "更新(仮設置)",*main if test = 10 { pos 200,50 noteget test,1 picload test } stop *hoge_list selfolder a,"" if stat = 0 { chdir a dirlist b,"*.*",2 text = b chdir def notesave "sample.txt" test = 10 }else{ chdir def notesave "sample.txt" } noteload "sample.txt",-1 return

ファイルリストを表示するのに他に良い方法があるのでしょうか・・・。
もしくは、上記の方法で画像を表示する際に注意しておくこと、
やらなければならない事がありましたらお教えください、お願いします。



この記事に返信する


SYAM

リンク

2008/4/25(Fri) 07:35:51|NO.15366

エラーが出る原因が2つあります

一つは、プログラムがどのフォルダを対象として作業しているか意識していないことです。
プログラムに対して画像の名前だけ指定しても、それがどこにあるのか見つけられません。
たとえば、picloadのときに

picload a+"\\"+test
とか書く必要があります。

もう一つは、画像ファイルでないものをpicload命令に指定する可能性を考慮していないことです。
画像ファイル以外は指定されないようにしましょう。
getpath()関数が便利。



Nich

リンク

2008/4/25(Fri) 10:27:11|NO.15369

後半に最初のフォルダへ戻っているのは一度外部ファイルを吐き出すためです。
そのままdirlistみたいなのを使える機能があれば良いのですが・・・。
そのままnotesaveを使うと選択されたフォルダに"sample.txt"が溜まっていってしまいます。

エラーの原因はSYAMさんのおっしゃるとおりです・・・なんで気づかなかったのだろう。
名前を取り出した時点で作業するディレクトリに居ないといけないですよね。
もしくは、教えてくださった"getpath()"なんかを活用し、
ディレクトリの場所まで指定してあげれば良いのですね

"getpath()"を使えば面倒なファイル操作もしなくてすみそうです、ありがとうございました



Nich

リンク

2008/4/25(Fri) 10:33:53|NO.15370

追記です
画像のないファイルを読み込みにいく可能性が・・・に関しては、
簡単に構想を組み上げただけでキチント組み上げるのでソコは大丈夫です
ありがとうございました。



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