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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1213
瀬川卓弥 (投稿者削除)11未解決


瀬川卓弥

リンク

2012/12/13(Thu) 17:24:59|NO.51129

この記事は投稿者により削除されました。
2012/12/21(Fri) 16:05:30



この記事に返信する


FunnyMaker

リンク

2012/12/13(Thu) 18:42:27|NO.51130

ヒントになりますが、


bcopy "Z:/abc.so" , "A:/abc2.so"

任意の場所にコピーしたいのであれば、コピー元とコピー先の両方をフルパスで指定してやれば
いいです。

上のコードですと、Zドライブにある「abc.so」というファイルをAドライブに「abc2.so」という
ファイル名でコピーを作成します。

さらに、「bcopy実行前にフォルダが存在している」という条件付になりますが、


bcopy "A:/libs/bezier.so" , "C:/libs/bezier.so"

というコードなら、Aドライブの「libs」フォルダ内の「bezier.so」を
Cドライブの「libs」フォルダ内に同名でコピーします。
ただし、コピー先であるCドライブに、既に「libs」フォルダが存在して
いないとエラーになります。自動でフォルダが作られることはないので
事前にmkdirでフォルダを作っておく必要があります。

(お役に立てたかな...?)



瀬川卓弥

リンク

2012/12/14(Fri) 15:25:42|NO.51137

すいません。説明不足でした。
「選択したファイルの名前を取得して、その選択したファイルを任意の場所にコピー
する」って言いたかったんです…すいません。

<補足>
選択したファイルの名前を取得して、その選択したファイルを任意の場所にコピー
する方法を教えてください。



@key

リンク

2012/12/14(Fri) 16:18:36|NO.51140

FunnyMakerさんの方法でできますよ

dialog "", 16, "コピー元ファイル(*.*)"
if stat!=0{ copyfile=refstr dialog "", 17, "保存場所(*.*)" if stat!=0{ bcopy copyfile,refstr mes copyfile+"から" mes refstr+"にコピー"} }
ファイルを指定してそれをコピー保存する簡単なサンプル
ファイル名は同じにしたいなら
#include "hspext.as"
dialog "", 16, "コピー元ファイル(*.*)" if stat!=0{ copyfile=refstr ref="" : selfolder ref,"保存場所" if stat=0{ bcopy copyfile,ref+getpath(copyfile,8) mes copyfile+"から" mes ref+getpath(copyfile,8)+"にコピー"} }
こう

わからない命令があればヘルプを参照して下さい



FunnyMaker

リンク

2012/12/14(Fri) 16:36:25|NO.51144

システム変数「refstr」に、選択したファイルのフルパスが入っていますね。
これでとりあえず「選択したファイル」のフルパスは入手できました。

次に、「任意の場所」というのは、ファイルを選択した後に「ユーザーが決める場所」と
いう解釈でよろしいでしょうか。

今回は、よろしい という場合について回答させてもらいます。

その後、dialog命令の第二パラメータを17にしたものを実行し、それによって開かれた
ダイアログから「ユーザーが指定した保存先のファイル」フルパスをシステム変数「refstr」
で取得します。

ご存知だと思いますが、
システム変数は何かアクションがあると内容がコロコロと変わるります。内容を取得して、
かつ、また後でその内容を参照する必要がありそうだという場合は、新たな変数を用意して
そこに「refstr」の内容をそのままコピーして保存しておくとよいでしょう。

さて、

これでコピー元とコピー先が決まりましたから、後は前回の私の投稿の要領でコピーを実行
すればよいです。

サンプルを作ってみました。


screen 0,800,300,0 dialog "コピー元のファイルを指定してください。",0,"test" dialog "*",16,"すべてのファイル" Name_Source_File = refstr mes Name_Source_File + " (←コピー元ファイルのフルパス)" dialog "コピー先を指定してください。",0,"test" dialog "*",17,"すべてのファイル" Name_Destination_File = refstr mes Name_Destination_File + " (←コピー先のファイルのフルパス)" dialog "コピーの準備が整いました。\n\nコピーを実行しますか?",3,"test" if stat = 7 { mes "\n\nコピーを中止しました。" } else { flag1 = 0 onerror gosub *Error_bcopy bcopy Name_Source_File , Name_Destination_File if flag1 = 0 { dialog "コピーに成功しました。",0,"test" } else { dialog "コピーに失敗しました。",0,"test" } } stop *Error_bcopy flag1 = 1 return



FunnyMaker

リンク

2012/12/14(Fri) 16:38:16|NO.51145

あら!
サンプル書くのに集中してたらニアミスしました。
参考になれることを祈りましょう...



瀬川卓弥

リンク

2012/12/16(Sun) 15:43:35|NO.51206

本っ当にすいません。またまた説明不足でした。


bgscr 0, 640, 480, 0
color 255,255,255 : boxf;ウィンドウの枠を表示しない picload "1441579i.jpg";チェックの背景を表示 pos 10,12 font msmincho,16,1 mes "恐竜くんの整理・整頓ツール スタート画面" pos 577,7 objsize 30,30 button "×" ,*enda;終わるボタン pos 28,360 objsize 300,50 button "スタート画面に進む→" ,*susumu stop *susumu bgscr 0, 640, 480, 0 color 255,255,255 : boxf;ウィンドウの枠を表示しない picload "1441579i.jpg";チェックの背景を表示 pos 10,12 font msmincho,16,1 mes "恐竜くんの整理・整頓ツール スタート画面" pos 577,7 objsize 30,30 button "×" ,*enda;終わるボタン pos 28,360 objsize 300,50 button "次へ進む→" ,*ss pos 38,150 font msmincho,20,1 mes "「恐竜くんの整理・整頓ツール」へようこそ!" mes "ここでは、ドラッグ&ドロップするだけで、" mes "ソフトなどを整理・整頓することができます。" mes "音楽、写真、動画などに分けて整頓するができます。" mes "ドラ&ドロしたソフトは、指定したファイルに整理されます。" mes "" mes "早速次のページから始めましょう。" stop *ss bgscr 0, 640, 480, 0 color 255,255,255 : boxf;ウィンドウの枠を表示しない picload "1441579i.jpg";チェックの背景を表示 pos 10,12 font msmincho,16,1 mes "恐竜くんの整理・整頓ツール スタート画面" pos 577,7 objsize 30,30 button "×" ,*enda;終わるボタン pos 28,360 objsize 300,50 button "早速整理する" ,*kau stop *kau bgscr 0, 640, 480, 0 color 255,255,255 : boxf;ウィンドウの枠を表示しない picload "23.bmp";チェックの背景を表示 pos 10,12 font msmincho,16,1 mes "恐竜くんの整理・整頓ツール 整理・整頓画面" pos 577,7 objsize 30,30 button "×" ,*enda;終わるボタン pos 15,150 objsize 100,30 button "開く", *open stop *open dialog "整理元のファイルを指定してください。",0,"test" dialog "*",16,"すべてのファイル" Name_Source_File = refstr mes Name_Source_File + " (←整理元ファイルのフルパス)" //ここからメイン Name_Destination_File = refstr mes Name_Destination_File + " (←整理先のファイルのフルパス)" dialog "整理の準備が整いました。\n\n整理を実行しますか?",3,"実行" if stat = 7 { mes "\n\n整理を中止しました。" } else { flag1 = 0 onerror gosub *Error_bcopy bcopy  ;「整理整頓」というフォルダーに保存 if flag1 = 0 { dialog "整理しました。",0,"成功" } else { dialog "整理に失敗しました。",0,"失敗" } } stop *Error_bcopy flag1 = 1 return stop *enda end

このコピーで、「整理整頓」と言うフォルダーに保存したいのですが、
どうしたらいいでしょう。教えてください。



fortunehill

リンク

2012/12/16(Sun) 16:31:20|NO.51208

/*ドロップファイルのヒント*/

#include "shell32.as" :DragAcceptFiles hwnd,1 oncmd gosub *label,$233 ;WM_DROPFILES stop *label :nn = 0,0 :DragQueryFile wparam,-1,0,0 :ii = stat if (ii > 0) {sdim ss,512 :ss = "" :DragQueryPoint wparam,varptr(nn) sdim rr,512 :rr = "" +ii+","+nn+","+nn(1)+"\n" repeat ii :DragQueryFile wparam,cnt,varptr(ss),512 rr += ss +"\n" :loop} :DragFinish wparam mes rr return



瀬川卓弥

リンク

2012/12/20(Thu) 07:24:11|NO.51285

コピー元のファイルだけを選択できるようにして、コピー先のファイルの保存場所は
固定するようにしたいです・・・



@key

リンク

2012/12/20(Thu) 08:10:23|NO.51286

その程度ぐらい自分で・・・
今までのスプリクトすべて理解できれば簡単なはず


あと瀬川さんの貼ったスプリクトを見るに変数を知らないのかな・・・?
プログミングの中枢箇所なので絶対理解しないとあとで詰みます



瀬川卓弥

リンク

2012/12/20(Thu) 16:55:05|NO.51288

すいません。本などは一応読みましたが、変数が苦手です。よくわからないんです。



check

リンク

2012/12/20(Thu) 17:05:02|NO.51289

変数は一時的にデータをしまっておける箱のようなもの。

var = 10
などと記述すればvarという変数が作成され、
その箱の中身(データ)は数字の10になる。

変数は命令などのパラメーターとして渡すこともできる。

var = "Press me" button gosub var, *test stop *test mes var + "が押されました。" return

あくまで一時的にしか保存できないので、
データをセーブしたい場合にはファイルに書き込むなどの処理をしなくてはならない。



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