[ 掲示板に戻る ]

過去ログ閲覧モード

ライセンス関連の問い合わせします。 / itmuji


Free Versionの場合、企業で使用しても問題がないでしょうか。
企業でソフトウェアを使用するためにはPro Versionの購入が必要ですか?

No.3342 2016/12/28(Wed) 10:56:48

Re: ライセンス関連の問い合わせします。 / 俄プログラマー
ソフトダウンロードに付属Readme.txtより

・商用利用、配布について
  商用利用は自己責任において可です。
  二次配布(スクリプトにFree版のUWSC.EXEを同封)するような事はご遠慮ください。
  この場合は、シェアウェア版のUWSC ProにてEXE化したものを配布するか
  当サイトからFree版をダウンロードしてもらうようお願い致します。

No.3343 2016/12/28(Wed) 11:01:14
別ダイアログによる処理中断される / TJ
UWSCの初心者です。

AccessフォームからExcelへの転記処理で利用しています。
通常問題なく動きます。

しかし、処理途中別のダイアログがポップアップ表示されると、本来Excelに貼付すべき内容が元Accessのフォームに貼付られ、エラーとなります。

まずAceesフォームとExcelウィンドのIDを取得して、後でACWを使ってウィンドの切替を行い、値のコピー貼付という簡単な処理です。恐らくダイアログが出た関係で、ACWがうまくいかなかったと思いま
すが、解決方法が分かりません。

何か解決法また別のやり方があれば教えていただきたいです。

No.3339 2016/12/27(Tue) 19:03:59

Re: 別ダイアログによる処理中断される / 俄プログラマー
別のやり方は省略させて下さい。

現在のソースを少し手を加えるなら以下のようなイメージで大丈夫じゃないでしょうか。
誤動作の原因の前にダイアログを閉じてから処理します。


ダイアログ閉じる()
//ACW等何らかの処理
//コピー操作

ダイアログ閉じる()
//ACW等何らかの処理
//貼り付け操作



PROCEDURE ダイアログ閉じる()

 ID = getid("ダイアログのタイトル名")
 if 0 < ID then
  clkitem(ID,"OK") //OKはボタン名
 endif

 //もしダイアログが複数存在するなら上記の様な感じでこの下に追記して閉じる様にしましょう。

FEND

No.3340 2016/12/27(Tue) 20:27:28

Re: 別ダイアログによる処理中断される / TJ
早速なご回答ありがとうございます。

なるほど、この方法もありますね。これで試してみます。

ダイアログの関係で、ACWがうまく動作しないと書きましたが、ダイアログが前面になって、背面にあるウインドクリックできないのが原因のようです。いろいろ調べたら、MOUSEORG関数を使えば、背面にあるウインドにもBTN、KBDでマウス、キーボードの操作を送れるみたいです。これ実現できれば、ダイアログを閉じる処理がなくてもいけそうですので、この方法も試してみたいと思います。

No.3341 2016/12/28(Wed) 08:35:54
Uws2Exe.exeの圧縮チェックボックスがグレイアウトの件 / 万葉の民
いつも便利に使わせていただいております。
FAQかもしれませんが...

Win7 profesional 32bit環境で、UWSC5.2.3.0です。
Uws2Exe.exeとupx307w.zipでソースコードのEXE化しようと、
ダイアログ画面を表示させると、圧縮チェックボックスが
グレイアウトしてファイル圧縮できません。
他のPCではチェックできるのですが、
何かチェックすべき点などありましたら
ヒント、アドバイスをお願いいたします。

C:\MyAPP\UWSC\upx307w\upx.exeは確かにあります。

Uws2Exe.INIの内容...
[SET]
UpxPath=C:\MyAPP\UWSC\upx307w

No.3331 2016/12/25(Sun) 20:40:03

Re: Uws2Exe.exeの圧縮チェックボックスがグレイアウトの件 / しろまさ
多分 %appdata%\uwsc の Uws2Exe.INI に設定書込でグレーアウト解除されます。

ちなみにコマンドラインでのExe化ではカレント設定で実行できています。

C:\Uwsc\EXE\Pro\Uws2Exe.exe test.uws test.ico /stibelu

No.3336 2016/12/26(Mon) 09:25:09

Re: Uws2Exe.exeの圧縮チェックボックスがグレイアウトの件 / 万葉の民
しろまささん。コメントありがとうございます。
>多分 %appdata%\uwsc の Uws2Exe.INI

こんなとこ(%appdata%\uwsc)にもアッだとは....!
これは伏兵でした。てっきりインストールディレクトリだと思い込んでいました。
夜が明けたら、問題のPCで試してみます。ありがとうございました。

No.3338 2016/12/27(Tue) 02:07:20
最初に戻りたい / 名無し
UWSC初心者です。
よろしくお願いします。
以下の文でwhilewendの場合とは別にバツ.bmpをクリックした後にも先頭に戻りたいのですが
何を使えば戻れるでしょうか?

while true
ifb chkimg("アイコン.bmp")=true then
btn(left,click,g_img_x + random(5),g_img_y + random(5))
endif

中略

ifb chkimg("B.bmp")=true then
btn(left,click,g_img_x + random(5),g_img_y + random(5))
btn(left,click,g_img_x + random(5),g_img_y + random(5))
btn(left,click,g_img_x + random(5),g_img_y + random(5))
else
ifb chkimg("バツ.bmp")=true then
btn(left,click,g_img_x,g_img_y)
endif
endif

中略

sleep(5.0)  //5秒待機
MMV(500,500) //マウス移動
wend

No.3332 2016/12/26(Mon) 03:00:25

Re: 最初に戻りたい / toria
//continueを使用すれば「while true」のところまで戻れます
ifb chkimg("バツ.bmp")=true then
  btn(left,click,g_img_x,g_img_y)
  continue
endif

No.3333 2016/12/26(Mon) 04:44:56

Re: 最初に戻りたい / 名無し
素早い返答ありがとうございました。
おかげさまで解決しました。

もう一つ問題が出てきたのでよろしくお願いします。
以下の文で画像Aが出てくるまで待機して出てきたらクリックとしたいのですが画像Aが出てきても反応しません。
どこが間違っているのでしょうか。

While True
 IFb CHKIMG("A.bmp")
  BTN(left,click,g_img_x,g_img_y)
  Break
 EndIf
 SLEEP(0.1)
Wend

No.3334 2016/12/26(Mon) 06:17:26

Re: 最初に戻りたい / tmp
>画像Aが出てきても反応しません。

過去ログ調べましょうよ。

No.3337 2016/12/26(Mon) 12:08:36
CDドライブの状態をチェックしたい / リキュール
ノートパソコンのCDドライブにビデオCDをセットし、データを操作するソフトを起動しています。
ドライブにビデオCDをセットすると「ゴォー」と高速回転音がして、しばらくすると回転音が消えます。
高速回転音は2〜10秒程度で一定ではありません。
回転音が消えた状態でデータ操作ソフトを起動しないとエラーになる場合があります。
このため
msgbox(i + "番のビデオCDをセットして回転が止まったら OK を押して下さい。")
という行を入れて、手動で OK ボタンを押しています。
ドライブの高速回転音が止まったのを調べる方法はあるのでしょうか。
OSはWindows7です。
よろしくお願いいたします。

No.3326 2016/12/23(Fri) 20:01:36

Re: CDドライブの状態をチェックしたい / リキュール
私の勘違いがありました。
>回転音が消えた状態でデータ操作ソフトを起動しないとエラーになる場合があります。
と記載しましたが、ディスクを入れて「カチャカチャ」と音がして「ゴォー」という回転音がしてからデータ操作ソフトを起動すればエラーになりません。
ドライブがビデオCDを認識できた状態を調べる方法が分かればよいみたいです。
よろしくお願いいたします。

No.3328 2016/12/24(Sat) 21:56:40

Re: CDドライブの状態をチェックしたい / 俄プログラマー
今物理ドライブを持っていないので想像の域ですが。

GETDIRを使って戻り値が1以上なら良いのでは?
もし準備中でエラーが返るようならTRYを使うなど工夫が必要かもしれませんね。

No.3329 2016/12/24(Sat) 23:24:03

Re: CDドライブの状態をチェックしたい / リキュール
俄プログラマー さん、お世話になります。
GETDIRで解決できました。
getdir("D:\")で、ディスクを認識すると0→4に変化しました。
ありがとうございました。

No.3330 2016/12/25(Sun) 13:24:49
PC間のメッセージの仕方 / masaki
LAN内の他のPCにメッセージを飛ばし、
送信先のPCにMSGBOXで「こんにちは」と表示させるにはどのようにすればよいのでしょうか?
共有フォルダにテキストファイルを保存し自分宛のテキストファイルがあれば
読込を行って表示させる方法しか思いつきません。
可能であればネットを通して離れた場所のPCに文字表示できればと思っています。

No.3321 2016/12/22(Thu) 15:32:32

Re: PC間のメッセージの仕方 / stuncloud
winsockでゴリゴリ書く感じですねぇ、def_dllをたくさん使います
しゅんさんがブログでメッセージの送受信ができるモジュールを公開されてますよ!
1から書こうとするとなかなか大変なので、そちらを使ってみてはいかがでしょうか

僕も過去に超簡易HTMLサーバーやIRCクライアントをUWSCで書いたことがあります
winsockでゴリゴリ書くといろいろ作れます

VBだとwinsockの機能がCOMであるみたいなんですけどね (MSWinsock.Winsock)
VBのランタイム入れとけば使えるのかな?

No.3322 2016/12/22(Thu) 16:28:43

Re: PC間のメッセージの仕方 / しゅん
この辺ですかね。
http://d.hatena.ne.jp/junjun777/20131110/uwsc_winsock
しかし、Winsockの知識がないと使いにくいかと思います。
まあ、これ単体でもメッセージを送ることはできますが。

ただ、インターネット越しだとファイアーウォールとかいろいろあるので難しいですね。
簡単なのは、どこかの掲示板を借りて、IEを非表示で操作するなりMSXML2.XMLhttpを使うなりした、掲示板を仲介にした通信、でしょうか。
インターネットに公開できない情報の場合、暗号化等が必要ですが。

No.3323 2016/12/22(Thu) 18:18:21

Re: PC間のメッセージの仕方 / satocha
powershellコードレポジトリにTCP/IPクライアント/サーバスクリプトが上がってました。
http://poshcode.org/4601
これを借用すればいけるような気がします

No.3324 2016/12/23(Fri) 15:43:07

Re: PC間のメッセージの仕方 / satocha
>可能であればネットを通して離れた場所のPCに
この部分を見ていませんでした。
TCPじか叩きだと、ファイアウォール周りやセキュリティ設定が大変なことになりそうですね。
そこで、フリーメールを使ってみたらどうでしょう。
記事No.2895以下のスレッドで、メールの送受信について、詳述されています。
しゅんさんからは要DLLながら受信スクリプトも提供されています。

No.3325 2016/12/23(Fri) 16:13:51

Re: PC間のメッセージの仕方 / masaki
stuncloudさん、しゅんさん、satochaさん
お返事ありがとうございます。
まずはLAN内のメッセージのやり取りをご紹介頂いた方法を参考にしがんばってみます。
有難う御座います。

No.3327 2016/12/24(Sat) 09:45:20
CREATEFORM FOM_FORM2 Xボタン / まるぱ
毎日UWSC使っていて重宝しています、ありがとうございます。

フォーム画面2つめ、こちらのXボタンが効かないですが、これは仕様でしょうか?
このボタンをクリックしてフォーム画面を非表示にする方法はありますでしょうか。
アドバイスよろしくお願いいたします。

No.3311 2016/12/20(Tue) 10:44:54

Re: CREATEFORM FOM_FORM2 Xボタン / stuncloud
再現できません
こちらではふたつめのフォームも×ボタンで閉じられます

No.3313 2016/12/20(Tue) 12:26:53

Re: CREATEFORM FOM_FORM2 Xボタン / まるぱ
stuncloudさん、ありがとうございます。

オプション指定で「+FOM_FORMHIDE」にしていたのが原因でした。(- -;

失礼しました

No.3316 2016/12/20(Tue) 20:57:04

Re: CREATEFORM FOM_FORM2 Xボタン / まるぱ
FOM_FORMHIDE このオプション「フォームを非表示状態で起動する」ですが、
これをCTRLWIN(XXX,SHOW)で表示すると、
Xボタン押しても消えませんね。

これはXボタン押したら消えるようになるのが希望です。

No.3317 2016/12/20(Tue) 21:16:11

Re: CREATEFORM FOM_FORM2 Xボタン / stuncloud
> FOM_FORMHIDE このオプション「フォームを非表示状態で起動する」ですが、
> これをCTRLWIN(XXX,SHOW)で表示すると、
> Xボタン押しても消えませんね。

なるほど、閉じなくなりました
なにか回避できる手段ないかなと頑張ってみましたがちょっと手に負えなさそう
フォーム内に閉じるボタンを作るくらいですかねぇ…
umiumiさんに対応してもらうのが良さそうですね

No.3318 2016/12/21(Wed) 10:55:30

Re: CREATEFORM FOM_FORM2 Xボタン / まるぱ
stuncloudさん、症状の確認ありがとうございます。

>フォーム内に閉じるボタンを作る
はい、今はそのようにしています。

umiumiさん、次回のバージョンアップで対応をしていただけたら、助かります。m(- -)m

No.3319 2016/12/21(Wed) 21:25:32

Re: CREATEFORM FOM_FORM2 Xボタン / umiumi
確認しました。
修正します。

No.3320 2016/12/21(Wed) 23:29:42
教えて下さい。エクセルの画面が最大化にならないのです((+_+)) / ジャスミン
UWSCを使い始めたばかりの初心者です。
業務を簡素化するためのプログラム作成を頼まれておりますがうまくいかないので
教えてもらえると助かります。

一部抜粋ですが、以下のようにエクセルのファイルを開いてマクロを実行するのに画面を最大化して見やすくしたいのですが、"CTRLWIN,MAX"が反応してくれません。
どのようにしたらよろしいのでしょうか?
簡単な質問なのだろうと思うと申し訳ないのですが、教えていただけたら助かります。

EXCEL = XLOPEN("C:\Users\USER\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.xlsb")
EXCEL = XLOPEN("C:\Users\USER\Desktop\Test.xlsx")
id = GETID("c:\Users\USER\Desktop\Test.xlsx")
IFB STATUS(id, ST_ICON)
CTRLWIN(id,NORMAL)
ENDIF
//msgbox("最大化しましょう")
IFB !STATUS(id,ST_ACTIVE)
CTRLWIN(id, MAX)
ENDIF
EXCEL.Run("PERSONAL.XLSB!Macro2")

No.3312 2016/12/20(Tue) 11:00:14

Re: 教えて下さい。エクセルの画面が最大化にならないのです((+_+)) / stuncloud
> id = GETID("c:\Users\USER\Desktop\Test.xlsx")
おそらくこの部分でidが取れていません (-1 になっていると思われる)
msgbox(id) として確かめてみてください

id = GETID("Test.xlsx")
のようにファイル名だけで部分一致させるか
id = hndtoid(EXCEL.hwnd)
としてウィンドウハンドルをidに変換する

No.3314 2016/12/20(Tue) 13:43:03

Re: 教えて下さい。エクセルの画面が最大化にならないのです((+_+)) / ジャスミン
stuncloud 様

早速のご回答ありがとうございます♪
指示してくださった通りに直したらできました!!!
あんなに悩んでいたのにあっという間に解決できて感激しました!!
すごいです♪
感謝です♪
ありがとうございました(*^-^*)

No.3315 2016/12/20(Tue) 14:09:53
教えてください / c.o
設定で、『毎日、6時から16時まで7分間隔で実行』がわからいです。
よろしくお願い致します。

No.3309 2016/12/19(Mon) 21:14:57

Re: 教えてください / 俄プログラマー
ヘルプファイルの使い方、スケジュール設定、式による設定より
6 <= HH AND HH <= 16 AND YMDNN mod 7 = 0

No.3310 2016/12/19(Mon) 21:43:13
uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
textblockの入れたuwsファイルをSPLITで配列に入れて、forinでfopen、fgetを利用しuwsファイルのデータを読込、新規textファイルに指定したパスに作成をしたいのですがうまくいきません。下記のようなエラーがでます。

can't be written in 中断しますか?になります。

textblock name
C:\Users\aruke\Desktop\UWS\テキスト1.uws
C:\Users\aruke\Desktop\UWS\テキスト2.uws
C:\Users\aruke\Desktop\UWS\検索\テキスト3.uws
endtextblock


testa=SPLIT( name,"<#CR>")


for i in testa
yomi=fopen(i, F_READ)
yomi1=fget(yomi,F_ALLTEXT)
fclose(yomi)

sinki=fopen(, F_write)
fput(sinki, yomi1)

fclose(sinki)
next

No.3276 2016/12/12(Mon) 11:19:07

Re: uwsファイルを指定の場所にtextファイルで作成したい / 俄プログラマー
新規ファイルをどの場所に何の名前で保存するのかな?
それが答えです。

No.3277 2016/12/12(Mon) 11:49:22

Re: uwsファイルを指定の場所にtextファイルで作成したい / miles
> うまくいきません。下記のようなエラーがでます。
> can't be written in 中断しますか?になります。


1)エラーを見て、うまくいかないところを捜します。
2)「書き込みできません」ということで、ファイル書き込みの所を見ます。

No.3278 2016/12/12(Mon) 12:04:28

Re: uwsファイルを指定の場所にtextファイルで作成したい / stuncloud
> sinki=fopen(, F_write)
他の方も言われてますがパス指定してなきゃ書き込めませんよね
あと、やりたいことはつまりファイルのコピーですよね
doscmdでcopyすればいいのでは?
> textファイルで作成したい
なのでそのときに拡張子を.txtにしてやれば良い

No.3279 2016/12/12(Mon) 12:20:29

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
俄プログラマー様、返信ありがとうございます。
下記のコードで試してみましたが、指定したパスにファイルの作成はできましたが、tes1=fget(tes, F_ALLTEXT)で取得したデータが新規作成したファイルに反映されません。どこが間違っているのでしょうか?

textblock name
C:\Users\aruke\Desktop\UWS\テキスト1
C:\Users\aruke\Desktop\UWS\テキスト2
C:\Users\aruke\Desktop\UWS\検索\テキスト3
endtextblock

textblock name1
テキスト1.uws
テキスト2.uws
テキスト3.uws
endtextblock


test3 = ""
test4 = "C:\Users\aruke\Dropbox\" //パスをしっかり確認する事

testa=SPLIT( name,"<#CR>")
testa1=SPLIT( name1,"<#CR>")

for i in testa
if i = ""
 gettime()
 i="無題"+g_time_yy4+g_time_mm2+g_time_dd2+g_time_hh2+g_time_nn2+g_time_ss2
else
 i=replace( i, " ", "_" )
i=replace( i, "|", "_" )
i=replace( i, "/", "_" )
endif

for y = 0 to length(testa1)-1
FNAME=test3+test4+testa1[y]+".txt" //test4の"/.txt"は使わない


DOSCMD("echo %DATE% %TIME% > " + FNAME)
//ファイルをオープン

tes=fopen(FNAME, F_READ)
tes1=fget(tes, F_ALLTEXT)
FCLOSE(tes)
ID = FOPEN(,F_READ or F_WRITE)
fput(ID, tes1)
FCLOSE(ID)


next
next

No.3280 2016/12/12(Mon) 14:29:39

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
miles様、返信ありがとうございます。

パスの指定は無事できましたが、tes1=fget(tes, F_ALLTEXT)のデータが新規作成ファイルに反映されません。

No.3281 2016/12/12(Mon) 14:34:09

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
stuncloud様、返信ありがとうございます。
doscmdでcopyで調べてみます。

No.3282 2016/12/12(Mon) 14:52:02

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
上記のコードの一つの部分を修正です。

[修正前の分]
textblock name
C:\Users\aruke\Desktop\UWS\テキスト1
C:\Users\aruke\Desktop\UWS\テキスト2
C:\Users\aruke\Desktop\UWS\検索\テキスト3
endtextblock

[修正後の分]
textblock name
C:\Users\aruke\Desktop\UWS\テキスト1.uws
C:\Users\aruke\Desktop\UWS\テキスト2.uws
C:\Users\aruke\Desktop\UWS\検索\テキスト3.uws
endtextblock

No.3283 2016/12/12(Mon) 15:03:12

Re: uwsファイルを指定の場所にtextファイルで作成したい / 俄プログラマー
吹き出しでもプリントでも見える形で確認することをお勧めします。
データはしっかり呼び出せているのか等の確認ができますよ。
原因を探る技術を付けましょう。

No.3284 2016/12/12(Mon) 15:06:24

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
stuncloud様、DOSCMDで試してみましたが、下記のエラーが出ます。
式がおかしいor型が合っていない
DOSCMD("copy" i test4)

[コード]
textblock name
C:\Users\aruke\Desktop\UWS\テキスト1.uws
C:\Users\aruke\Desktop\UWS\テキスト2.uws
C:\Users\aruke\Desktop\UWS\検索\テキスト3.uws
endtextblock

test4 = "C:\Users\aruke\Dropbox\" //パスをしっかり確認する事

//戻値 = DOSCMD( コマンド, [同期フラグ, 画面表示] )
testa=SPLIT( name,"<#CR>")

for i in testa
DOSCMD("copy" i test4)
next

No.3285 2016/12/12(Mon) 15:21:00

Re: uwsファイルを指定の場所にtextファイルで作成したい / mocco
バックアップ目的でファイルコピーしてくれるようなフリーソフトあります
私はそれを使っています。便利です。

No.3287 2016/12/12(Mon) 15:51:20

Re: uwsファイルを指定の場所にtextファイルで作成したい / stuncloud
> 式がおかしいor型が合っていない
> DOSCMD("copy" i test4)

エラー内容の通りです、式が正しくありません
ヒント:文字列の連結は + を使う

質問される前にもう少しエラー文が何を言わんとしてるか考えてみましょう
UWSCのエラー文は簡素で情報が不十分な面はありますが、とは言え的はずれなことが書かれているわけではありません
これは俄プログラマーさんのおっしゃっている
> 原因を探る技術を付けましょう。
にもつながります
プログラムを書く上でとても大切なことです

No.3288 2016/12/12(Mon) 16:39:50

Re: uwsファイルを指定の場所にtextファイルで作成したい / miles
> tes1=fget(tes, F_ALLTEXT)のデータが新規作成ファイルに反映されません。
> ID = FOPEN(,F_READ or F_WRITE)

新規作成ファイル名がないのでファイルオープンエラーですよ。
(確かに、F_READ or F_WRITEのとき、なぜか戻値がエラーにならず、ファイルIDが返ってきますが...)

No.3290 2016/12/12(Mon) 17:31:49

Re: uwsファイルを指定の場所にtextファイルで作成したい / しろまさ
milesさん、それは昔Linersさんが紹介してたNULL書込の動作ですよ。
メモリ上でオープンして読み書きできるんですよね。(と関係ない横槍を入れる奴^^)

ID = FOPEN(,F_READ or F_WRITE)
  fput(ID, 123)
  fput(ID, 234)
  msgbox(fget(ID, 2))
FCLOSE(ID)

No.3291 2016/12/12(Mon) 18:25:09

Re: uwsファイルを指定の場所にtextファイルで作成したい / miles
しろまささん、ご指摘ありがとうございます。
知りませんでした。 勉強になります。(横槍、縦槍、OKですよ!レスの中では)
省略なしで
ID = FOPEN(NULL,F_READ or F_WRITE)
ということですね。

タカハシさん、ファイルオープンエラーではなく、
ファイル名がないので前記の通り、NULL書込になります。(さりげなく訂正)

ID = FOPEN(新規ファイル名,F_READ or F_WRITE)
でファイルオープンしてから
fput(ID, tes1)
で書き込んでください。

No.3292 2016/12/13(Tue) 09:00:16

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
俄プログラマー様、返信ありがとうございます。
原因を探る技術を身につけるようにします。

No.3299 2016/12/13(Tue) 22:23:38

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
stuncloud様、返信ありがとうございます。
文字列の連結は +でやってみましたがコピーできませんでした。
下記のコードでやってみました。

test4 = "C:\Users\aruke\Dropbox\新しいテキストドキュメント.txt" //パスをしっかり確認する事

//戻値 = DOSCMD( コマンド, [同期フラグ, 画面表示] )
testa=SPLIT( name,"<#CR>")

for i in testa
DOSCMD("copy"+ i + test4)
next

No.3300 2016/12/13(Tue) 22:31:19

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
miles様、返信ありがとうございます。配列やfor文がからんでくるとなかなか難しいですね。
No.3301 2016/12/13(Tue) 22:34:29

Re: uwsファイルを指定の場所にtextファイルで作成したい / 俄プログラマー
printを使って確認されましたか?
思い通りの動作になっているか目で確かめられますよ
また目的の動作を全て作って考えると間違っている箇所が解りづらいです。
最小単位で動作テストを繰り返すと良いです。
以下確認の例です。明らかに動作がおかしいのが目で確認する事ができます。
先のプログラムの一部を下記のように変更してみてください。printの部分を追加するだけです。

DOSCMD("echo %DATE% %TIME% > " + FNAME)
//ファイルをオープン

tes=fopen(FNAME, F_READ)
tes1=fget(tes, F_ALLTEXT)

//printを使い確認
print "----------------------------------------------------------"
print "i="+i
print "y="+y
print "tes1="+tes1
print FNAME
print "----------------------------------------------------------"
print ""

FCLOSE(tes)
ID = FOPEN(,F_READ or F_WRITE)
fput(ID, tes1)
FCLOSE(ID)

No.3303 2016/12/14(Wed) 03:33:00

Re: uwsファイルを指定の場所にtextファイルで作成したい / stuncloud
> 文字列の連結は +でやってみましたがコピーできませんでした。
> DOSCMD("copy"+ i + test4)


俄プログラマーさんも書かれてますがね、一旦DOSCMDをやる前に
print "copy"+ i + test4
としてみれば何が悪いかは一目瞭然ですよ…?

ここまでくるとすごいな…
自分で原因を追求する気はないのかしら

で、ですね
きっとあとでまた聞かれるだろうから先に答えておきますね
ファイルパスに半角スペースが含まれる場合にDOSCMDが成功しないんですよ
そういうときはパスを "<#DBL>" で括る必要がありますからね
だからパスが入る変数である i と test4 は

"<#DBL>" + i + "<#DBL>"
"<#DBL>" + test4 + "<#DBL>"

としてやるのが安全です
ちなみにこれはUWSCがどうこうという話ではないのでここで聞かれても困る系の質問に該当します

以下蛇足

僕がDOSCMDを使うときの半スペ忘れ防止対策を書いときますね
dim cmd[] = command, arg1, arg2
doscmd(join(cmd))
コマンドとそれに渡す値を順番に配列に突っ込んどいて半スペでjoinして実行します
いちいち + " " + なんて書く煩わしさからも開放されるので楽でいいですよ

No.3304 2016/12/14(Wed) 12:00:43

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
俄プログラマー様、何度も回答頂きありがとうございます。
print分で一度一つ一つ確認していきます。
もう少し自分で考えてから質問するようにします。
反省しています。

No.3305 2016/12/14(Wed) 12:35:55

Re: uwsファイルを指定の場所にtextファイルで作成したい / タカハシ
stuncloud様、何度も回答頂き感謝しています。
これからは、printでしっかり確認してから質問するようにします。
<#DBL>で括るのは、知らなかったです。
自分のダメさ加減を反省しています。

No.3306 2016/12/14(Wed) 12:41:43

Re: uwsファイルを指定の場所にtextファイルで作成したい / 俄プログラマー
処理が速い場合は途中にメッセージボックスを入れたり、
GETKEYSTATEでキーが押されるまで中断させたりするとより確認が容易になります。

//GETKEYSTATEを使った中断の例
fukidasi("PrintScreenキーで再開")
repeat
sleep(1)
until GETKEYSTATE(VK_SNAPSHOT)

「実行してみて動かない!→聞いてみよう!」ではなく
動かない!→どこが悪いか探る or 過去ログ検索 or ネットで検索→それでも解決しない場合聞いてみる
デバッグの力も身に付いて良い経験になると思います。

No.3308 2016/12/14(Wed) 19:10:42
全1170件 [ ページ : << 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ... 117 >> ]