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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1126
Taylor複数のファイルを選択したい2未解決


Taylor

リンク

2006/11/26(Sun) 06:21:00|NO.3773

今、複数の画像ファイルを一括で拡大なり縮小するプログラムを作っています。
一つのファイルならば、ファイル選んで拡大縮小して指定したディレクトリに保存する、
ところまで出来たのですが、複数のファイルを選択する、というのがどうしてもできません。
dialogの16番だと一つしか選択できませんよね。
またdirlistでファイルのリストを取得すれば出来るかも、と思ったのですが
リストを取得した後、どうやって一つ一つのファイル名を取り出せばいいのか
いいかわかりません。。。HSP3.0です。
よろしくお願いいたします。



この記事に返信する


774

リンク

2006/11/26(Sun) 09:43:43|NO.3777

>リストを取得した後、どうやって一つ一つのファイル名を取り出せばいいのか

list = "" dirlist list,"*.*",0 notesel list repeat notemax noteget aa,cnt if instr(aa,0,".hsp") ! -1 : mes aa loop
これでいいかな?



GENKI

リンク

2006/11/26(Sun) 18:34:32|NO.3784

 HSP2.61のmultiopen命令のようなのをやりたいのだと思います。
しかしながらmultiopen命令はHSP3にはありません。
 とりあえず思いつく方法は、dirlistでファイル一覧を取得してlistboxで選択するとかかな。
PACKFILE編集のダイアログのようにですね。

 と思いながら探していたらありました。
llmodのHSP3版が下記サイトで配布されています。
S Software
http://www.s-software.net/
llmod3 Ver 1.1.1

HSP3に対応したmultiopen命令はllmod3に含まれています。ご利用ください。
しかし、です。若干の移殖ミスがあるようなので使うときは修正が必要なようです。
正しく修正できたか分かりませんが下記のように適当に修正したら動きました。

multiopen.hspの
#deffunc multiopen var buf,var info,int filt_idx,int read_only

#deffunc multiopen array buf,var info,int filt_idx,int read_only
に変更。

モジュール内に例がありますが、これを実行するには
最初に
#include "llmod3.hsp"
#include "multiopen.hsp"
を追加。
------
alloc buf,buf_size
alloc info,info_size

sdim buf,buf_size
sdim info,info_size
に修正。
------
if mx=1 : mes "拡張子は"+info : else mes "フォルダ "+info

if mx=1 : mes "拡張子は"+info : else : mes "フォルダ "+info
に修正。



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