[ 掲示板に戻る ]

過去ログ閲覧モード

SETCLEARとQSORT / 杁耶公輝
SETCLEARした配列をQSORTするとバグが発生します。

//サンプル
DIM A[10] = 1,2,3,4,5,6,7,8,9,10;
DIM B[10] = 0,0,0,0,0,0,0,0,0,-1;

QSORT( B, QSRT_A, A); PRINT "--";

FOR i = 0 TO 9
PRINT A[i]+","+B[i];
NEXT

SETCLEAR( B, 0);
B[9] = -1;

QSORT( B, QSRT_A, A); PRINT "--";

FOR i = 0 TO 9
PRINT A[i]+","+B[i];
NEXT

//結果
--
10,-1
7,0
6,0
9,0
8,0
2,0
1,0
3,0
5,0
4,0
--
4,-1
3,0
1,0
,0
5,0
2,0
7,0
10,0
6,0
8,0

No.4165 2017/06/26(Mon) 06:48:55

Re: SETCLEARとQSORT / しゅん
出力された結果からすると、バグではないと思います。

UWSCの配列は、昔のVB方式で、DIM A[10]とした場合、A[0]〜A[10]の11個が使えます。
(個人的にはこれは好みではないです)
A[10]/B[10]は、初期化されていないため、どちらもNULLだったかEMPTYだったかです。
B配列でソートすると、B[10]は最後にまわされるため、A[10]/B[10]はソート後もそのままです。
SETCLEARするとB[10]に0が入るため、最後ではなくなる可能性があります。
例の場合、4番目に来たようですね。
このとき、A[3]は空なので、そうPRINTされます。

あの、個人的なお願いなのですが、「バグ」という表現は余程確信がある場合のみに使用してもらえますでしょうか。
今回確信があったのでしたらまあしょうがないですが、できれば「不具合のような現象」あたりでお願いします。

No.4167 2017/06/26(Mon) 09:25:59

Re: SETCLEARとQSORT / MM
配列…
私も使い始めてから数年の間、DIM A[10]なら A[0]-A[9]のC言語仕様とばかり勝手に思い込み、そのせいで発生する想定外の挙動にアドホックに対応することで無理やり使っていました…

HELPでは配列という項はなく、変数の項にいきなり
> 多次元配列には宣言が必要: DIM 変数名[数]
> (配列での初期値代入: DIM X[2]=1,2,3  配列数の省略可 DIM X[]=1,2,3 )

とだけ記載されています。
(他言語で配列の概念を周知であることが前提。配列を知らなければ使わなければよいという事。)

文脈の異なるこの「 DIM X[2]=1,2,3 」だけを見て察するべきなのが、
UWSCの常識であり、ユーザーに課せられた努めなのです…

No.4171 2017/06/27(Tue) 20:14:54
ウィンドウIDとは・・・・? / Y.Sum
WindowsOSの処理について詳しく理解できていないのですが、
以下のコメントアウトの部分を加えるか、外すかによって、出力されるWindowIDが異なってきます。

理由がわかるかた、ご教示頂けませんでしょうか。

------------------------------------------------------------------------------
前提:ウィンドウIDとは.uws というファイルをテキストエディタで開いた状態で実行
------------------------------------------------------------------------------

search_word = "ウィンドウIDとは"

// MSGBOX(GETID(search_word))   //←左記コマンドの有無によって実行結果が異なる。

ID1 = EXEC("notepad")
CTRLWIN(ID1,ACTIVATE)

n = GETALLWIN()
SENDSTR(ID1,"ウィンドウの数:" + n + "<#CR>")
IFB n > 0
FOR i = 0 TO (n - 1)
IFB (POS(search_word, STATUS(ALL_WIN_ID[i], ST_TITLE))>0) THEN
SENDSTR(ID1,ALL_WIN_ID[i] + ":" + STATUS(ALL_WIN_ID[i], ST_TITLE) + "<#CR>")
MSGBOX(ALL_WIN_ID[i])
MSGBOX(GETID(search_word))
ENDIF
NEXT
ELSE
SENDSTR(ID1,"ウィンドウが見つかりませんでした<#CR>")
ENDIF

SENDSTR(ID1,"おわりです。")

No.4149 2017/06/20(Tue) 17:37:27

Re: ウィンドウIDとは・・・・? / しろまさ
GETID()で取得するIDはUWSCが認識するための連番数字です。

ので、プロセスが違えば、GETID()使用回数で同じウィンドウでも割り当てられる数字は変化します。

プロセスの固有値は STATUS(ID, ST_PROCESS) などで取得できます。

No.4150 2017/06/20(Tue) 18:08:27

Re: ウィンドウIDとは・・・・? / stuncloud
ウィンドウのid番号の割り当てには以下のようなルールがあります(あると思われます)

(1) GETID()を呼んで見つかった場合、idに1が割り当てられます
  その後はGETID()を呼んでウィンドウが見つかる度に2、3、4…と割り当てられます
(2) GETALLWIN()を呼んだ場合は、見つけた順に1からidが割り当てられます

ご質問の状況ですと
> MSGBOX(GETID(search_word))
をコメントアウトした状態ではGETALLWIN()しか実行されないため、見つかった順の番号でidが割り当てられます
コメントアウトせず実行した場合は、そのウィンドウのidは(1)のルールにより1が割り当てられます
その後、GETALLWIN()で再度発見されますがすでにidの番号が1と割り当てられているため、(2)のルールによる番号割り当ては行われません
その為結果が異なる場合があります
(GETALLWIN()でも一番最初に見つかっていた場合はidが1になるのでその場合のみ結果が一致します)

No.4151 2017/06/20(Tue) 18:22:43

Re: ウィンドウIDとは・・・・? / Y.Sum
なるほど・・・UWSCのプロセスの内部で連番にしているということですね。
早速のご回答有難う御座いました。

この質問をしたのには背景が御座いまして、あるUWSファイルにおいて、

CTRLWIN(GETID("ユニークなウィンドウ名"),ACTIVATE)

としているにも関わらず、部分一致も全くしていない、全く別のウィンドウ(仮に"A"とする)が
アクティブになる現象が起きたために、質問させて頂きました。

その"A"ウィンドウは、同UWSファイルでは一度たりともGETID("A")としておらず、
GETALLWIN()も一度も使用しておりません。
※つまりUWSC内部的には一度もウィンドウIDが払いだされていない"はず"のウィンドウです。

ただ、その"A"ウィンドウは、いつも同じ名前のものであるという法則があり、
一つ疑わしい点は、そのウィンドウ"A"の名前には"/(スラッシュ)"が含まれることです。

何か心当たりは御座いませんでしょうか。。。。

No.4158 2017/06/21(Wed) 15:44:25

Re: ウィンドウIDとは・・・・? / stuncloud
可能性としてはその"A"ウィンドウの実際のウィンドウタイトルに"ユニークなウィンドウ名"が完全、または部分一致している…ですかねぇ
(タイトルバー部分に見えてる名前とウィンドウタイトルが異なることがないわけじゃないんですよね、例:Excel)

for id in getallwin()
 print status(id, ST_TITLE)
next

としてウィンドウタイトルを列挙した場合に本来idを取りたいウィンドウと"A"ウィンドウのタイトルが同じだったりした場合は、そういったこともあるえると思います

あと考えられるのは"A"が本来のターゲットのモーダルな子ウィンドウでターゲットをアクティブにしたら"A"が上に出てきちゃう…とか?

No.4159 2017/06/21(Wed) 16:04:06

Re: ウィンドウIDとは・・・・? / Y.Sum
GETALLWIN()で全て出力しました。


> 可能性としてはその"A"ウィンドウの実際のウィンドウタイトルに"ユニークなウィンドウ名"が完全、または部分一致している…ですかねぇ
> (タイトルバー部分に見えてる名前とウィンドウタイトルが異なることがないわけじゃないんですよね、例:Excel)


上記、ドンピシャでした・・・・。当該"A"ウィンドウの名前は表示名そのままでしたが、
そのウィンドウの中に存在するボタンが、ウィンドウIDとして存在していて、
そのボタン名に、"ユニークなウィンドウ名"が部分一致しておりました。。。
見た目は一つのウィンドウでも複数のウィンドウ名を持っていることがあるということが
勉強になりました。

ありがとうございました!

No.4160 2017/06/21(Wed) 16:48:31
EXECで起動しない / T.S
外部メモリーに入っているソフトを起動したいです

これで試してみましたがダメでした

exec("J:\file\soft\111\por\star.jar")

No.4141 2017/06/19(Mon) 19:40:00

Re: EXECで起動しない / T.S
これかな?と思ったのですが起動できませんでした

exec("java -jar <#DBL>J:\file\soft\111\por\star.jar<#DBL>")

No.4142 2017/06/20(Tue) 06:28:31

Re: EXECで起動しない / 森
exec()はEXEファイルが処理対象なので、それ以外はdoscmd()で
No.4143 2017/06/20(Tue) 08:53:08

Re: EXECで起動しない / T.S
森さん、ありがとうございます
exeファイルだけなんですね

それで、この3つで試してみたんですけど、起動できないんですが、
間違いが分かる方おられましたらお願いします

doscmd("J:\file\soft\111\por\star.jar")

doscmd("java -jar <#DBL>J:\file\soft\111\por\star.jar<#DBL>")

doscmd("java -jar <#DBL>J:\file\soft\111\por\star.jar<#DBL>", True)

No.4144 2017/06/20(Tue) 10:04:10

Re: EXECで起動しない / stuncloud
コマンドプロンプトから同様のコマンドを実行し動くか確認してください
それでもだめなら
jarファイルがjavaに関連付けられてるか?
java.exeにパスが通っているか?
を確認してください
パスを通してない場合はjava.exeもフルパス指定すれば動くと思います

No.4145 2017/06/20(Tue) 11:38:31

Re: EXECで起動しない / T.S
stuncloudさん、ありがとうございます

> コマンドプロンプトから同様のコマンドを実行し動くか確認してください

C:\Windows\System32>java -jar "J:\file\soft\111\por\star.jar"

これでEnterを押したところ、一部に「アクセスが拒否されました」と表示されました

起動できませんでした

> jarファイルがjavaに関連付けられてるか?

はい、star.jar のショートカットがあるのですが、それをダブルクリックすると、起動できます。

また、clkitem(folderID,"star",CLK_DBLCLK) で起動することができます。
ですが、この方法ですと、一度ショートカットを表示させることになるので、できるなら EXECのように起動させたいです。

> java.exeにパスが通っているか?

この意味が分かりませんでした
関連付けですか

> パスを通してない場合はjava.exeもフルパス指定すれば動くと思います

この書き方が分からないです


検索しても分かりませんでした
すみません

No.4146 2017/06/20(Tue) 13:05:40

Re: EXECで起動しない / stuncloud
> 一部に「アクセスが拒否されました」と表示されました

コマンドプロンプトから java だけを実行できますでしょうか?実行できればjava.exeのヘルプが表示されます
動作した場合は、cdコマンドでuwsスクリプトのあるフォルダまで移動してからまた java だけを実行してみてください

いずれも大丈夫であった場合、エラー通りjarファイルへのアクセス権を疑うべきでしょう
もし「管理者として実行」したコマンドプロンプトでjarファイルを実行できるようであれば、UWSCも「管理者として実行」する必要があります

javaが実行されない場合はパスを通すだのフルパスで実行だのという話になってきます

パスが通っている、というのは環境変数のPATHにjava.exeがインストールされているフォルダが登録されているかどうか?という意味です
(詳しくは「環境変数 PATH」で調べてみてください)
Java7までは C:\Windows\System32 に java.exe が置かれていたのでどこからでも java.exe が実行できたようですが、Java8からはそうではなくなったようで環境変数PATHに C:\ProgramData\Oracle\Java\javapath を加えないといけなさそうです
もしPATHが通っていないのであればフルパスで実行する必要があり

"C:\ProgramData\Oracle\Java\javapath\java.exe" -jar "J:\file\soft\111\por\star.jar"

のように書いておく必要があります(↑はJava8の場合)

No.4147 2017/06/20(Tue) 14:40:21

Re: EXECで起動しない / T.S
> コマンドプロンプトから java だけを実行できますでしょうか?実行できればjava.exeのヘルプが表示されます

このように表示されました↓

使用方法: java [-options] class [args...]
(クラスを実行する場合)
・・・

> 動作した場合は、cdコマンドでuwsスクリプトのあるフォルダまで移動してからまた java だけを実行してみてください

これが分からないです


そして、

doscmd("<#DBL>C:\ProgramData\Oracle\Java\javapath\java.exe<#DBL> -jar <#DBL>J:\file\soft\111\por\star.jar<#DBL>")

doscmd("<#DBL>C:\Program Files (x86)\Java\jre1.8.0_131\bin\java.exe<#DBL> -jar <#DBL>J:\file\soft\111\por\star.jar<#DBL>")

この2つをやってみましたが起動できませんでした。


stuncloudさんのお話もよく分からないくらいなので、
自分の知識不足だと思います

あきらめます

stuncloudさん、ほんとうにありがとうございました
森さんもありがとうございます

No.4148 2017/06/20(Tue) 15:35:24

Re: EXECで起動しない / しゅん
謎な状況ですね。
一番考え易いのは、
> doscmd("J:\file\soft\111\por\star.jar")
で起動可能、かな。
足りないのは、管理者権限で、UWSCを管理者権限で上げればOKとか。
ショートカットは、管理者権限が付与されているとか。

ショートカット(.lnkファイル)をdoscmdで起動してもよかった気がしますね。
(INPUT()を実行して出るダイアログに、ショートカットをDropするとPATHがわかります)

PRINT DOSCMD("PATH")
の結果も知りたいところですし、
> これかな?と思ったのですが起動できませんでした
の状況も知りたいですね。(エラーが出たのか、何もおこらずスクリプト実行が終了するのか)

No.4157 2017/06/21(Wed) 09:40:34
TOKENの仕様??バグ??勘違いならすみません / RICES
明確に確認できていないのですが、TOKENを連想配列の入れると誤作動?するようです?

 連想配列[TOKEN(文字列,x)]=TOKEN(文字列,x)

とすると正常に動作しないようです。TOKENの切り出しが正常に行われない?

一方、

 DIM A = TOKEN(文字列,x)
 連想配列[A]=TOKEN(文字列,x)

とすると正常に動作するようです。

No.4152 2017/06/20(Tue) 21:28:54

Re: TOKENの仕様??バグ??勘違いならすみません / RICES
すみません、TOKENの引数を逆に書いてしまいましたが、正しく書いても挙動は同じです。
No.4153 2017/06/20(Tue) 22:41:09

Re: TOKENの仕様??バグ??勘違いならすみません / satocha
別に誤動作はないようですが。
UWSCが代入文を処理するとき、最初に右辺値(何を)を計算し、次に左辺値(どこへ)を決定しているだけではないでしょうか。

tokenでなくても、また、連想配列でなくても、呼ぶたびに違う値を返す関数を左辺値の評価が必要な代入文で使ってみれば、右辺値、左辺値の順で計算していることが分かります。

通常の代入文は左辺値がただの変数なので評価順を気にする必要はないのですが。

public round=1
str="a,b,c,d"
hashtbl hash
dim ary[]=0,1,2,3,4,5,6

hash[token(",",str)]=token(",",str)
hash["a"+foo()]=foo()
ary[foo()]=-1*foo()

for key in hash
msgbox("hash["+key+"]="+hash[key])
next

msgbox(join(ary))

function foo()
result=round
round=round+1
fend

No.4154 2017/06/21(Wed) 01:25:08

Re: TOKENの仕様??バグ??勘違いならすみません / しろまさ
確認できました。
下記テストで a1() は 23 1 、a2() は 1 23 となります。
1行で書くと = を挟み、代入側よりも式側のほうから評価されている感じです。

仕様かどうか umiumiさんの回答が必要だと思います。
まあ1行増えるだけなので大した問題ではないですね。

HashTbl 連想配列
Dim x = " ", 文字列 = "1 23 456"
a1(連想配列, x, 文字列) // 23 1
a2(連想配列, x, 文字列) // 1 23

Procedure a1(連想配列[], x, 文字列)
  連想配列[TOKEN(x,文字列)]=TOKEN(x,文字列)
  MsgBox(連想配列[0, HASH_KEY] + " " + 連想配列[0, HASH_VAL])
FEnd

Procedure a2(連想配列[], x, 文字列)
  DIM A = TOKEN(x,文字列)
  連想配列[A]=TOKEN(x,文字列)
  MsgBox(連想配列[0, HASH_KEY] + " " + 連想配列[0, HASH_VAL])
FEnd

No.4155 2017/06/21(Wed) 08:12:03

Re: TOKENの仕様??バグ??勘違いならすみません / RICES
satochaさんしろまささんありがとうございます。
右辺から計算されるといわれてみれば全くその通りですね…
できる限りコードを削ろうとしてこんな羽目になりましたが、とても勉強になりました。
配列に関しては定義から先に算出されると勝手に思い込んでいましたので、そう考えれば全くつじつまが合いますね。

No.4156 2017/06/21(Wed) 09:19:12
debuggerでのlocal変数表示について / syuhari
いつもお世話になっております。

首記の件につきまして、debuggerにてスクリプトを実行させた際、
画面右下にlocal欄が表示されません。
Function内ででブレークを貼って実行すれば表示されるかと思ったのですが、
該当のブレークで止まった際にもローカル変数がdebuggerのlocal欄に表示されませんでした。

local欄を表示させる方法があれば教えて下さい。

Win7 64bit
UWSC Pro Ver.5.3.0.2です

よろしくお願いします。

No.4138 2017/06/18(Sun) 11:27:00

Re: debuggerでのlocal変数表示について / syuhari
すみません。自己解決しました。

debuggerを縦に縮めるとlocal欄が隠れてしまうだけでした。

ある程度縦に伸ばすと表示されました。

お騒がせしました。

No.4139 2017/06/18(Sun) 11:35:06
sendstrでexcelに貼り付けできない / orally
こんにちは
uwscでできることを確認しようと、サンプルを打って試している者です。

N11のサンプル(http://www.uwsc.info/sample.html#N11)なのですが、
新規エクセルファイルに対して、既存csvファイルの内容のコピーができません。
エクセルに値を書き込むのに何か方策があればご教授いただけますと助かります。

print関数を使用し、csvファイルから読み込みはできていることを確認しております。
また、notepadに対しては書き込めることを確認しております。

掲示板過去ログでは、似た内容は
「sendstrで文字が送れない / まるぱ 2016/04/16(Sat)」ぐらいで、今年ではなさそうでした。

UWSC: ver 5.3.0.2
OS: Windows 10 pro
EXCEL: 2010

// コード
// app = exec("EXCEL.exe")
app = exec("C:\Program Files\Microsoft Office\Office14\EXCEL.exe")
// app = exec("notepad.exe") なら書き込めることを確認
Sleep(3)
print app
fid = FOpen("hoge.csv", F_READ) // 実際はフルパスで指定
print fid
for i = 1 to FGET(fid, F_LINECOUNT)
print FGet(fid, i, 1)
SendStr(app, FGet(fid, i, 1), 1, True)
print FGet(fid, i, 2)
sendStr(app, Fget(fid, i, 2), 2, True)
print FGet(fid, i, 3)
sendStr(app, fget(fid, i, 3) , 3, True)
Sleep(3)
next
Fclose(fid)

No.4137 2017/06/18(Sun) 00:01:57
子ウィンドウのボタンが押せない / sage
私は日経新聞CD-ROMを使って特定の期間の特定のページを印刷するwindowsマクロを作っているのですが、子ウィンドウのtextboxに入力したり、特定のボタンを押せずに困っています。

↓このように親ウィンドウのIDは上手く取得でき、アクティブにできます。
id = GETID("日経 全文記事データベース", "ThunderRT6MDIForm",300)
CTRLWIN(id, ACTIVATE)

↓しかし、子ウィンドウのIDは取得できず、アクティブにできません。
id = GETID("記事検索", "ThunderRT6FormDC",300)
CTRLWIN(id, ACTIVATE)

「マクロの記録」を有効にして、子ウィンドウを左クリックしアクティブにしてから、タブキーを何回か押下して、子ウィンドウのボタンを選択してからエンターキーを押下し、記録停止⇒コードを見るとアクティブになっているのは親ウィンドウだし、キーボード操作は記録されていません。

↓強引に下記のコードを入れても親ウィンドウに命令が行き、巧く行きません。
SENDSTR(id, "PG001") //textboxにPG001と送る
KBD(VK_TAB, CLICK, 100) //タブクリック
KBD(VK_RETURN, CLICK, 100) //リターン押下
CLKITEM(id, CLK_BTN , 1) //1番目のクリックボタンを押下

なお、BTN(LEFT,CLICK,742,461,609)などクリックを使って代用しようとすると、CD-ROM起動時に毎回ウィンドウの座標が変わるので変なところがクリックされ巧く行きません。

↓このサイトを参考にし、全てのオブジェクトを取得した結果、
https://stuncloud.wordpress.com/2012/05/22/uwsc-%E6%8C%87%E5%AE%9A%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E4%B8%8A%E3%81%AE%E5%90%84%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB/

↓このような表示が得られました。
「日経 全文記事データベース」が親、「記事検索」と「検索結果」が子ウィンドウになります。
"日経 全文記事データベース", "ThunderRT6MDIForm"
"", "ToolbarWndClass"
"", "ToolbarWindow32"
"", "MDIClient"
"検索結果", "ThunderRT6FormDC"
"", "ThunderRT6TextBox"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"記事検索", "ThunderRT6FormDC"
"", "ThunderRT6TextBox"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"", "ThunderRT6CommandButton"
"メニュー", "ThunderRT6FormDC"
"", "StatusBarWndClass"

No.4133 2017/06/15(Thu) 09:31:06

Re: 子ウィンドウのボタンが押せない / 森
私は普段web系がメインなのでgetidを使うことはほとんどない無いのですが、ヘルプによると第4引数を指定することで子ウインドウが取得できるようですね。
戻値 = GETID( タイトル, [クラス名, 待ち時間秒, MDI子タイトル] )
MDI子タイトル: MDIウィンドウ中の子ウィンドウタイトル

なので、以下でどうでしょうか?

// 子ウィンドウのIDを取得
id = GETID("日経 全文記事データベース", , , "記事検索")

ダメならクラスも指定してみてください

No.4134 2017/06/16(Fri) 10:52:51

Re: 子ウィンドウのボタンが押せない / 森
> BTN(LEFT,CLICK,742,461,609)などクリックを使って代用しようとすると、
> CD-ROM起動時に毎回ウィンドウの座標が変わるので変なところがクリックされ巧く行きません。


これに関してはウインドウを決まった位置に移動させることで簡単に対処できます。

id = GETID("日経 全文記事データベース", "ThunderRT6MDIForm",300)
CTRLWIN(id, ACTIVATE)
acw(id , 0 , 0) //----- 必要であれば、第4〜5引数で大きさも固定してください。

No.4135 2017/06/16(Fri) 10:57:20

Re: 子ウィンドウのボタンが押せない / sage
森 さま
本当にありがとうございます!

>// 子ウィンドウのIDを取得
>id = GETID("日経 全文記事データベース", , , "記事検索")

この方法で子ウィンドウをアクティベート出来るようになりました!

>id = GETID("日経 全文記事データベース", "ThunderRT6MDIForm",300)
>CTRLWIN(id, ACTIVATE)
>acw(id , 0 , 0) //----- 必要であれば、第4〜5引数で大きさも固定してください。

親ウィンドウ、子ウィンドウ両方の座標を(0,0)にすることで、どのボタンも巧くクリック出来るようになりました!

本当に助かりました!重ねてお礼申し上げます。m(__)m

No.4136 2017/06/17(Sat) 16:11:16
記録が出来ない / skyblue
本日uwscをデスクトップ上にダウンロードし、同じフォルダー内にRecUws.dllがあります。
右クリックで管理者権限で実行にしても記録のボタン(色が薄いまま)が押せません。

ウィンドウズ10です。

素人の質問で申し訳ありませんが、ご指導ください。

No.4119 2017/06/11(Sun) 14:59:07

Re: 記録が出来ない / satocha
「デスクトップ上にダウンロードし」たあと、きちんと解凍したのでしょうか。
zipファイルをダブルクリックしただけでは、一見通常のフォルダのように見えても、UWSC.exeが圧縮フォルダ内のRecUws.dllを認識できません。
http://www.uwsc.info/faq.html#N5

もし、きちんと解凍したうえで上記の問題が起きているなら、ダウンロードが不完全だった可能性がありますので、もう一度ダウンロードし直してみてください。

No.4124 2017/06/12(Mon) 17:01:14

Re: 記録が出来ない / skyblue
・GruGru.uwsを読み込んで、電卓がぐるぐる回り、電卓計算はできています。
 この状況では解凍できているとは保証できませんか?

・2回ほどダウンロードし解凍していますが結果は同じです。

・ウィンドウズ10で問題が起きる場合が有るのでしょうか?

No.4131 2017/06/13(Tue) 17:53:10

Re: 記録が出来ない / 確認
使用期限が過ぎているのでは? 以前一度インストールしているとか。
No.4132 2017/06/14(Wed) 08:05:19
ソフトのボタンがグレイアウトの場合は分岐する / jasmine
弥生販売の集計をUWSCソフトで行っています。

集計の元値がないと、CKLITEMで押す予定のボタンがグレイアウトしていて押下できず、
プログラムがそこで止まってしまいます。

グレイアウトしていて押せない場合は処理をとばして(分岐して)数行先の処理に進む、という素敵な方法はないでしょうか?

よろしくお願い致します。

No.4123 2017/06/12(Mon) 15:10:38

Re: ソフトのボタンがグレイアウトの場合は分岐する / satocha
getitemの第5引数の真偽で、全部品を取得するかイネーブルのものだけを取るか指定できます。
No.4125 2017/06/12(Mon) 17:18:23

Re: ソフトのボタンがグレイアウトの場合は分岐する / stuncloud
ret = clkitem(id, "ボタン名", CLK_BTN, FALSE)
if ret then
 print "クリックできます"
else
 print "クリックできません"
endif

ボタンがディセーブルで押せない場合はclkitemがFALSEを返します
clkitemの第四引数をFALSEにすることでクリック可能な場合でもクリック処理を行わないので、クリックできるかどうかだけを調べるたい場合はこの方法が便利です
クリックしつつ処理を続行する場合は第四引数をTRUEにするか、省略してください

No.4126 2017/06/12(Mon) 18:11:15

Re: ソフトのボタンがグレイアウトの場合は分岐する / jasmine
ご回答ありがとうございます♪
これからTryしてみます!!
ありがとうございました。

少し時間がかかるかもしれませんが、
うまくいきましたら、またこちらでご報告致します!

No.4129 2017/06/13(Tue) 09:51:25

Re: ソフトのボタンがグレイアウトの場合は分岐する / jasmine
できました!!
stuncloudさんが示していただいた方法で問題クリア!!できました♪
素晴しいです!!感謝です!

satochaさんもありがとうございましたm(__)m

とりあえずご報告まで☆

No.4130 2017/06/13(Tue) 11:53:10
TXT読み込みおよび計算について / null
TXTファイルの内容
200

TXTファイルの内容をKBDを使って出力
またTXTファイル"200"に*2をしてKBDを使って出力

このコードを作成したいのですがうまくいきません
ご回答よろしくお願いします(o*。_。)oペコッ

No.4120 2017/06/12(Mon) 02:29:15

Re: TXT読み込みおよび計算について / 森
スクリプトは以下の通りです。
基本的なコマンドの基本的な使い方ばかりなので、各コマンドについてはヘルプを参照してください。

f = fopen("TXTファイル.txt")
s = fget(f, F_ALLTEXT)
fclose(f)

id = getid("出力したいウインドウ")
ctrlwin(id , ACTIVATE)

// 200を出力
for i in s
 kbd(eval("VK_" + i))
next

// 200 * 2を出力
s = val(s) * 2
for i in s
 kbd(eval("VK_" + i))
next

No.4121 2017/06/12(Mon) 08:33:50

Re: TXT読み込みおよび計算について / null
森様ありがとうございます
kbd(eval("VK_" + i))が定義されてませんとエラーが出ます
どこの部分が悪いのでしょうか?

No.4122 2017/06/12(Mon) 11:33:20

Re: TXT読み込みおよび計算について / 森
UWSCのエラーはコマンドが大文字で表示されるので、提示されたエラー文は実際のものとは違っていて、実際はこのように表示されていたのでは?
-----------------
変数:VK_が定義されていません
〇行目:KBD(EVAL("VK_" + I))
-----------------

だとすると、原因はテキスト中に"200"以外に、スペース、改行、タブなどが含まれていることが可能性の一つとして推測できます。
このことは以下のスクリプトを動かしてみると理解できると思います。
---------------------------------------
// 改行が含まれたテキスト
textblock txt
123

endtextblock

// 123出力の後、改行でエラー発生
exec("notepad")
for i in txt
 kbd(eval("VK_" + i))
next

No.4127 2017/06/12(Mon) 18:25:53

Re: TXT読み込みおよび計算について / null
無事することができました
原因は読み込みファイル名の間違いでした
ありがとうございました!次からちゃんと確認します

No.4128 2017/06/12(Mon) 21:03:24
全1137件 [ ページ : << 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 114 >> ]