UWSC 掲 示 板
投稿時に「証明書が不正です」と出る場合には、JavaScriptをオンにしてください
動作不具合での質問の場合には環境(OS,IEのバージョン等)の表記もしてください
タイトルは質問内容を表したものにしてください
ネットゲーム関係の質問はご遠慮ください

タイトル (必須)
 お名前 (必須)
文字色
設定保存削除/編集パス  

UWSCで帳票印刷は可能ですか / とし
お世話になります。
UWSCだけで帳票印刷の開発はできないでしょうか。

No.3688 2017/03/27(Mon) 15:23:56

Re: UWSCで帳票印刷は可能ですか / stuncloud
回答しづらい
質問に質問で返すことになってもうしわけないんですが
> UWSCだけで帳票印刷の開発はできないでしょうか。
UWSCだけ、というのはどういうことでしょうか?
他のアプリの操作をすることなく、完全にUWSC単独でやりたいということでしたら…できなくはないかもしれませんが、茨の道な気がするなぁ…

印刷したいデータを持っているアプリケーションに対して、印刷ボタンを押したりCtrl+Pを送ったりしたあと印刷ダイアログを操作して特定のプリンタで印刷させる、ということならば比較的簡単に実現可能だと思います

No.3690 2017/03/27(Mon) 17:40:14

Re: UWSCで帳票印刷は可能ですか NEW / とし
stuncloud さん、ご指摘ありがとうございます。

質問が解りづらくてすみません。
「UWSCだけで」ということです。
Windows上のアプリで帳票印刷を行いたいのですが、
ExcelやACCESSなどの他のツールは使いたくないのです。
理想は一つの「EXE」で完結したいのですが。
やはり、UWSCだけでは無理でしょうか?

No.3692 2017/03/28(Tue) 11:58:43

Re: UWSCで帳票印刷は可能ですか NEW / stuncloud
無理とは言いませんが、安易に出来るとも言えません
印刷の仕組みを十分に理解し、また印刷するデータの作成が1から出来れば可能だとは思いますが…それをUWSCでやるのは余程の労力が要ることは想像に難くないです
単独のexeで、というのであれば別のプログラム言語を用いてアプリを開発するつもりで臨んだほうが良いでしょう

僕自身印刷周りの知識はほぼないので正直アドバイスもできません
としさんが独学でどこまでやれるか、という話になってしまうと思います

No.3693 2017/03/28(Tue) 13:43:39

Re: UWSCで帳票印刷は可能ですか NEW / しゅん
// PowerShellを使う
POWERSHELL("'test' | Out-Printer")

// 他にもいろいろ方法はありますが、簡単なのはこのあたりですね。
// あとは、非表示でメモ帳を扱うとかが簡単で、UWSCからドライバー制御が困難な方法です。

// 、、、あ、帳票、、、。罫線が少し切れても良いなら、リッチファイル形式で「wordpad /p」あたりかな、、、。

// UWSCに不可能はないと言っていいでしょう。
// お手軽に、と言われると難しいものがあるかもしれませんが。

No.3695 2017/03/28(Tue) 14:30:14

Re: UWSCで帳票印刷は可能ですか NEW / とし
stuncloud さん しゅんさん ありがとうございます。
大変参考になりました。
感謝します。

No.3696 2017/03/28(Tue) 16:01:56
再起動後のクリック / 初心者
アプリケーションのフリーズ状態を検知して、そのアプリを再起動したのちに、
指定座標をクリックさせたいのですが、うまくいきません。
ご教授いただけませんでしょうか?

指定座標は、オブジェクトの座標で保持しています。
再起動したときにクリックする個所はどうやら、相対座標となっているように思われます。

よろしくお願いします。

No.3651 2017/03/19(Sun) 16:14:08

Re: 再起動後のクリック / 森
質問の投稿後、間もなく丸二日になりますが、回答が付きませんね。
言葉での説明だけだと、どこで「うまくいっていないのか」が分らないので、現状のコードを問題点を再現できる最小限に削って記載してみてください。
あと、質問者さんのスキルレベルが分らないと、どう答えてあげればいいか悩ましいところでもあるんです。
コードを載せることで、問題個所も質問者さんのレベルも分るので、回答がもらえやすくなると思います。
もちろん私も精一杯協力させていただきますよ。

No.3659 2017/03/21(Tue) 13:50:26

Re: 再起動後のクリック / 初心者
アドバイスありがとうございます。

コードを記載します。余計なところは省きましたが、不足ありましたらご指摘ください。

コード実行までとその後の動作は下記通りです。
 1.手動でエミュレータ、およびアプリを起動し、ログインボタンをマウスでクリック。
 2.その後、下記コードを実行し、マウスポインタをオブジェクトの中において、ESCキーを押す。
 3.imgAがあればimgAをクリック、imgBがあればimgBをクリックを繰り返す(実際には下記コードにない動作も実施)

3をずっと実施してほしいが、もしエミュレータがフリーズしたら(下記コードでは約50分)、
自動でエミュレータを再起動、アプリ起動し、3の実施状態に回復させたい。

しかし、★1は実行されるが、その後なにもない(★5)が表示され続ける。★2が実行されない。

質問:★2、★3、★4を実行する方法をおしえて頂きたい。

質問:また、FreezCheck() のコードを入れた場合に比べ、FreezCheck() をコメントアウトした場合のほうが、
   アプリが落ちない(気がする)。そんなことはある得るのか、もっといいコードがあればご教授頂きたい。

質問:エミュレータの起動待ちで20s待っている(固定値)が、負荷状況で起動時間が20s以上かかる
場合があり、これをエミュレータの起動を判定して次のコードを実行することは可能でしょうか?

いろいろ聞くばかりですみませんが、よろしくおねがいします。

--------------
Public freeztime_judge=50
Public freeztime_tgt=0
Public color_before=0

filepass_emu = "C:\Program Files (x86)\emu\bin\emu.exe"       //エミュレータ

while !GetKeyState(VK_ESC)
Sleep(1)
wend

ID = GetID(GET_FROMPOINT_OBJ)
MOUSEORG(ID,1,MORG_FORE)

GETTIME()
freeztime_tgt=(G_TIME_NN+freeztime_judge) mod 60
flg_freez=0

while True
 IF FreezCheck() = 1 THEN flg_freez=1

 IFB flg_freez = 1 THEN
  CTRLWIN(ID, CLOSE2)
  ID = exec(filepass_emu)
  sleep(20)      //エミュレータの起動待ち
  MOUSEORG(ID,1,MORG_FORE)
  flg_freez = 0
 ENDIF

 ifb CHKIMG("app.bmp") then      //エミュレータ上にアプリのアイコンがあればクリック(★1)
  BTN(LEFT,DOWN,G_IMG_X,G_IMG_Y,10)
  BTN(LEFT,UP,G_IMG_X,G_IMG_Y,10)
 elseif peekcolor(100,50,COL_RGB)="(探しているカラーコード)" then      //アプリ起動後に最初に現れるアプリ内の「ログインボタン」を押す(★2)
  sleep(3)
  BTN(LEFT,DOWN,100,100,10)
  BTN(LEFT,UP,100,100,10)      //※エミュレータ再起動後ここが実行されない
 elseif CHKIMG("imgA.bmp")=1 then      //imgAがあればクリック(★3)
  Sleep(2)
  BTN(LEFT,DOWN,G_IMG_X,G_IMG_Y,10)
  BTN(LEFT,UP,G_IMG_X,G_IMG_Y,10)
 elseif CHKIMG("imgB.bmp")=1 then      //imgBがあればクリック(★4)
  Sleep(2)
  BTN(LEFT,DOWN,G_IMG_X,G_IMG_Y,10)
  BTN(LEFT,UP,G_IMG_X,G_IMG_Y,10)
 else
  print "なにもない"(★5)
 endif
wend


Function FreezCheck()
 color_now = peekcolor(200,400,COL_RGB)
 GETTIME()
 IFB color_now <> color_before THEN //前に判定したときの色と違う場合は目標時間を更新
  freeztime_tgt = (G_TIME_NN + freeztime_judge ) mod 60
  RESULT = 0
 ELSE //前に判定したときの色と同じ場合
  IFB G_TIME_NN = freeztime_tgt THEN
   RESULT = 1
  ENDIF
 ENDIF
color_before = color_now
Fend

No.3662 2017/03/21(Tue) 22:58:00

Re: 再起動後のクリック / たろこ
sleep(3)
3秒で足りてます?

BTN(LEFT,DOWN,100,100,10)
指定しているこの座標はあってるんですか?

No.3678 2017/03/23(Thu) 13:38:27

Re: 再起動後のクリック / ももちゃん
全部、BTN(LEFT,DOWN) になってますが、CLICK はどうですか

BTN(LEFT,CLICK)

No.3681 2017/03/23(Thu) 16:51:56

Re: 再起動後のクリック / 初心者
回答ありがとうございます

少し記載が抜けておりました。

>しかし、★1は実行されるが、その後なにもない(★5)
>が表示され続ける。★2が実行されない。

と記載しましたが、その後、uwscだけを一旦終了させて、uwscを最初のコードから実行し
マウスポインタをオブジェクトの中において、ESCキーを押すと、★2は実行されます。

No.3683 2017/03/23(Thu) 20:33:09

Re: 再起動後のクリック / 森
> 余計なところは省きましたが、不足ありましたらご指摘ください。
不足というより、結構なボリュームですね。
これだけのボリュームになると、答える側として、ちょっと見るのが大変です。
全部読み解いて、問題点を探すよりも、一から書き起こした方が早いと感じるからです。
問題点を一つずつクリアして潰していくために、もう一度シンプルなコードにまとめてください。

まず最初は、★2が実行されないということですよね。
ならば、★2以降は削除してしまいましょう。

前も後ろも、現象を再現するのに不要な部分のコードを削除していって、最小限のコードで質問してください。

一つ目が解決してから、次へ進むようにしませんか?

※協力すると書いておきながら、「やりなおし!」みたいになってしまって、ごめんなさいね。

No.3689 2017/03/27(Mon) 17:15:33

Re: 再起動後のクリック / 初心者
皆さん回答ありがとうございます。
お恥ずかしい、まずはコード絞って再現させて調べろ!ですよね。
確認してみます。

ただ、おそらくですが、再起動後のウィンドウ操作(下記など)がまずいと思っていて、
MOUSEORG(ID,1,MORG_FORE)
というのも、ウィンドウ操作に関する概念が理解できていないためです。

また、2つ目や3つ目の質問は独立していますが、いかがでしょうか?

2つ目の質問は、global変数で値を渡していますが、引数(参照渡し) or 引数(値渡し)のほうが良いのではないか、とも思っているのですが、メモリの使い方の知識がないため、質問した次第です。

No.3691 2017/03/27(Mon) 22:16:16

Re: 再起動後のクリック NEW / 森
質問2については、FreezCheck() でpeekcolorを使っているので、こちらの影響があるかも
CHKIMG, PEEKCOLOR関数が遅い(Vista/7/8.x/10)  #N32
http://www.uwsc.info/faq.html#N32

それと、無限ループの時は適度にsleep入れないと過負荷によるフリーズの可能性大


質問3は、エミュレータが何なのか分らないので分りませんが、方法はいろいろ有りそう。
@画面の変化で判断
Aエミュレータにコマンドを送って操作結果を見る

でも、起動したらアプリのアイコンが表示されるのであれば、
起動待ちをせずに、アプリアイコンの表示待ちをすればいいのでは?

さらに言えば、リブートの際は「自動でエミュレータを再起動、アプリ起動」なのだから、
最初の起動から手動での起動はやめて「自動でエミュレータ起動、アプリ起動」させてはどうか?
※プログラム的にも全体をループさせることになって単純かと・・・

No.3694 2017/03/28(Tue) 14:18:43
バックグラウンド動作中のキーロック / くま
以下はサンプルですが、現在バックグラウンドで動作するマクロを作成しており、マクロの動作自体はうまくいっています。
しかし、マクロを実行しながら別作業をする場合なのですが、どうもKBDによるキー送信動作のタイミングで別作業でのキーボードの操作を行っているとキーボードのSHIFTキー等を押しっぱなしの状態になってしまいます。
一旦CTRLやALT、SHIFT等を押せばもとには戻るのですがその発生頻度が高すぎてバックグラウンド動作をしながらの別作業ができない状態になってしまっています。
そこで質問なのですが、KBDによって上述のようなシフトロック等の現象はどのような条件で発生するのでしょうか?
また、その回避策などはあるのでしょうか?

id = getid(GET_FROMPOINT_WIN)
MOUSEORG(id, MORG_DIRECT OR MORG_BACK)
While True
KBD(VK_RETURN)
Wend

No.3668 2017/03/22(Wed) 18:56:00

Re: バックグラウンド動作中のキーロック / and
//こちらの環境でもsckeyを使用するとWinキーとCtrlキー等が押下状態になってしまいます。
//環境:UWSC Pro 5.2.3, Windows10 Pro 1607
//仮想デスクトップ数:2, モニタ数:1

//以下が再現コードになります

id = getid("Program Manager", "Progman", 0.01)
//sckey(id, vk_win, vk_ctrl, vk_d) //デスクトップ2がない場合はデスクトップ2を作成
sckey(id, vk_win, vk_ctrl, vk_right) //デスクトップ2に切り替え(既にデスクトップ2がある場合)

sh = CreateOleObj("Shell.Application")
sh.ShellExecute("notepad.exe", "", "", "runas", 1) //デスクトップ2でメモ帳を管理者権限で起動
id_notepad = getid("無題 - メモ帳", "Notepad")
ctrlwin(id_notepad, activate) //管理者権限のウインドウをアクティブにする

sckey(id, vk_win, vk_ctrl, vk_left) //デスクトップ1に切り替え
sleep(1)
sckey(id, vk_win, vk_ctrl, vk_right) //デスクトップ2に切り替え
//デスクトップ2に切り替えた時に管理者権限のウインドウがアクティブの場合、winキーとctrlキーが押下状態になる
//※押下状態の確認方法:winキーとctrlキーが押下状態の時、←→キーのみで仮想デスクトップの切り替えが出来る

//Windows10の仮想デスクトップのショートカットキー
//・仮想デスクトップの作成………Win+Ctrl+D
//・仮想デスクトップの削除………Win+Ctrl+F4
//・仮想デスクトップの移動………Win+Ctrl+→
//・仮想デスクトップの移動………win+Ctrl+←
//・仮想デスクトップの一覧表示…Win+Tab

No.3685 2017/03/24(Fri) 02:14:39

Re: バックグラウンド動作中のキーロック / くま
わざわざ検証ありがとうございます!

やっぱり自分の環境特有というわけでもなさそうですね。
急にシフトキー等が押っぱになると文字が打てなくなって混乱することもしばしばです…

とりあえず別のPCをマクロ専用に割り当てましたが、原因が特定出来たら報告したいと思います。

No.3687 2017/03/24(Fri) 19:20:38
画面キャプチャーを撮り、文字列を取得したい / たろこ
UWSCを利用し、社内で利用しているソフトのキャプチャーを撮ります。
独自の縦横スクロールバー?を利用しており、動かすことができないため
マウスでドラッグして移動し、画面キャプチャを撮ろうと思います。

本当は、キャプチャーを撮らずに、特定の画像があれば
その下の範囲の文字列を取得したいと思っています。

UWSCでは、画面上の文字列取得はできないですよね?
画面キャプチャを撮って画像として保存し
画像から読み取るツールを使わないと無理ですよね。

画面上の取得したい文字列は、| | の中の文字列です。

何か良い方法があれば教えてください。

No.3682 2017/03/23(Thu) 18:53:38

Re: 画面キャプチャーを撮り、文字列を取得したい / 俄プログラマー
// マウスカーソル下の文字と位置を取得、Shiftキーによりクリップボードへコピー  #N30

http://www.uwsc.info/sample.html#N30

やってみない事には。

No.3684 2017/03/23(Thu) 22:54:33

Re: 画面キャプチャーを撮り、文字列を取得したい / しろまさ
// OCRの利用(Office付属)  #N57

http://www.uwsc.info/sample.html#N57

この辺も気になるところですね^^

No.3686 2017/03/24(Fri) 08:20:53
IEのタブのPID / kog
IEの複数開いているタブのうちの特定の一つのPIDが取得したいのですが
STATUS(ID, ST_PROCESS)等やっても取得できるのは親プロセスのPIDだけになってしまいます。
どうやったら現在取得中のタブのPIDを得ることができるのでしょうか?

No.3664 2017/03/22(Wed) 13:15:33

Re: IEのタブのPID / しゅん
状況により取り方はいろいろですが、難しいかもしれません。

Shell.ApplicationのCOMオブジェクトを作って、.Windows()メソッドからIEを列挙させて、HWNDをIDに変換するので、満たせるかもしれません。

No.3667 2017/03/22(Wed) 18:14:08

Re: IEのタブのPID / kog
以下のようにやっても取得できるのは親のPIDだけで、タブのは取得できないです

DEF_DLL GetWindowThreadProcessId(HWND,var DWORD):DWORD:user32
pid = 0
sh = CREATEOLEOBJ("Shell.Application")
for k=0 to sh.Windows.Count-1
win = sh.Windows.Item(k)
name = win.name
if name="Windows Internet Explorer"
hWnd = win.hWnd
GetWindowThreadProcessId(hWnd, pid)
print pid
endif
next

No.3669 2017/03/22(Wed) 21:22:56

Re: IEのタブのPID / しろまさ
「取得できない」ではなく「PIDは同じ」で正解です。
仮に別々のPIDを取得できたとして、その先の操作は何がしたいのですか?

ついでに
  name=""Windows Internet Explorer"
で取得できます? 私の環境(IE11)では以下でした。
  name="Internet Explorer"

No.3670 2017/03/23(Thu) 08:51:56

Re: IEのタブのPID / kog
今やりたいのはタブ毎の使用メモリ量の取得です
タスクマネージャやWMIだとPIDと共に使用メモリがわかるのですが
それがどのタブの物かというのは推測しかできません

IE11だとエラーが出るスクリプトのためIE10でやっています

No.3671 2017/03/23(Thu) 11:30:13

Re: IEのタブのPID / kog
ProcessExplorerでウィンドウ指定すると該当プロセスがハイライトされるのでウィンドウにつきPIDがあるとは思うんですが、それをUWSCで取れないものかと思います。
No.3672 2017/03/23(Thu) 11:32:08

Re: IEのタブのPID / しろまさ
// PIDありましたね!失礼しました。
// とりあえず以下でタスクマネージャに表示されるPIDと同じ数字は取得できました。
// win.hWndだとhnd値が違うんですよねー。不思議だ。
// win.hWndは Status(wID, ST_CLASS) = "IEFrame" のhndと一緒でした。

DEF_DLL GetWindowThreadProcessId(HWND,var DWORD):DWORD:user32
Dim i, wID, hnd, pid = 0
For i = 0  To GetAllWin() - 1
  wID = ALL_WIN_ID[i]
  Ifb Status(wID, ST_CLASS) = "TabThumbnailWindow"
    hnd = IDtoHND(wID)
    GetWindowThreadProcessId(hnd, pid)
    Print "hnd=" + hnd + " pid=" + pid + " ttl= " + Status(wID, ST_TITLE) + " cls= " + Status(wID, ST_CLASS)
  EndIf
Next

// もしよかったらPIDからメモリ量を取得するロジックのほうを教えてください!
// Status(wID, ST_PROCESS)でも一緒でした(GetWindowThreadProcessId不要)
// あれ? タブとPrintされたプロセス数が合わない。。PID=タブではないのか?

No.3674 2017/03/23(Thu) 12:51:53

Re: IEのタブのPID / しゅん
しろまささん、ありがとうございます。
あまり深く考えずに回答するものではありませんね。

No.3675 2017/03/23(Thu) 13:02:51

Re: IEのタブのPID / kog
ありがとうございます。やっと取得できました。
win.hWndと特に何も考えずに使ってましたが、全然見当違いのハンドルだったんですね

No.3676 2017/03/23(Thu) 13:08:33

Re: IEのタブのPID / しろまさ
いえいえしゅんさん、私もそれでいけると思ってました><
kogさんのダメだし後、APIやWMIやいろいろ試して結局標準関数に落ち着くという結末 orz

No.3677 2017/03/23(Thu) 13:10:25

Re: IEのタブのPID / kog
ロジックというほど高尚なものではありません…

doscmd("wmic process where (processid = '" + pid + "') get workingsetsize")

とやっているだけです

No.3679 2017/03/23(Thu) 14:06:16

Re: IEのタブのPID / しろまさ
ありがとうございます。シンプルさが素敵です^^ 後で調べてみます<workingsetsize
No.3680 2017/03/23(Thu) 14:50:13
DLLが動作しない - UWSC Load DLL not working / vusd
申し訳ありませんが、私は日本語を書くことはできません、ただ英語から翻訳する
Sorry, I can't write Japanese, just translate from English

UWSCからエクスポートされたDLL関数を呼び出すことはできません。 これは私のコードです:
I can't call exported DLL function from UWSC. This is my code:

[C++]
__declspec(dllexport) int TestAdd(int x, int y)
{
return x + y;
}
__declspec(dllexport) char TESTVOID() {
return '0';
}
[/C++]

私はそれを造る:
I build it by:
- Visual studio 2017
- Type: Release X86
- Runtime library: Multi-threaded (/MT)
- OS: Windows 10 1067 64bit

"DLLエクスポートビューア"によるテスト (http://www.nirsoft.net/utils/dll_export_viewer.html)
Test by DLL Export Viewer:
Function name / Address / Relative Adress / Ordinal / Filename
- char __cdecl TESTVOID(void) / 0x10001020 / 0x00001020 / 1 (0x1) / uwsc.bridge.cpp.dll
- int __cdecl TestAdd(int,int) / 0x10001010 / 0x00001010 / 2 (0x2) / uwsc.bridge.cpp.dll

UWSCでの使用:
Using with UWSC:
DEF_DLL GetLastError():dword:Kernel32.dll
DEF_DLL TestAdd(int,int):int:uwsc.bridge.cpp.dll
DEF_DLL TESTVOID():char:uwsc.bridge.cpp.dll

print GetLastError() // ==> 0
print TESTVOID() // ==> Not DLL Function: TESTVOID
print TestAdd(1, 2) // ==> Not DLL Function: TestAdd

TESTVOID、TestAddで動作しないのはなぜですか?
Why it doesn't work with TESTVOID, TestAdd ?

No.3660 2017/03/21(Tue) 17:01:53

Re: DLLが動作しない - UWSC Load DLL not working / しゅん
英語は苦手です。
通じるかしらん。
You can call C-cdecl function.

[C++]
#ifdef __cplusplus
extern "C" {
#endif

__declspec(dllexport) int TestAdd(int x, int y)
{
return x + y;
}

__declspec(dllexport) char TESTVOID() {
return '0';
}

#ifdef __cplusplus
}
#endif
[/C++]

GetLastError does not work.
Maybe, the error is cleared during GetLastError call.

No.3665 2017/03/22(Wed) 17:59:08

Re: DLLが動作しない - UWSC Load DLL not working / vusd
ありがとうございました。

私はUWSCがシステムDLLにアクセスできることを確認するために 'GetLastError'を呼び出します。 私は値をチェックしない
I call 'GetLastError' to check UWSC can access system DLL. I do not check the value

No.3673 2017/03/23(Thu) 11:35:02
型について / yuu
最近UWSCを始めました。
2点わからないことがあります。

1.MMV関数などで実行までの待ち時間[ms]で指定できますが、
  この時の型は何になるのですか?
  116.67[ms]などと指定しても問題ないのでしょうか?
  またこの場合、116.67[ms]の時間待っているのでしょうか?

2.「型が合っていない or オーバーフロー」というエラーが出ます。
  どういった理由で出ているのでしょうか?
  上記1の型が原因なのかと思いましたが。
  また、下記ss2は""で囲む必要があるのでしょうか?ss2は数字なので""で囲む必要はないように思いました。

コード(抜粋)
ss[2]=7/6*READINI("default","ss2","config.ini")

config.ini(抜粋)
[default]
ss2 = 100

エラー表示内容
100行目:ss[2]=7/6*READINI(*default,ss2,config.ini)

初歩的な質問で恐縮です。

No.3655 2017/03/20(Mon) 23:19:02

Re: 型について / しろまさ
値が取得できず空白が演算に使われればそのエラーが出ます。
取得値のエラー処理を入れた方がいいと思います。

Dim tmp = Val(READINI("default","ss2","config.ini"))
If tmp <> ERR_VALUE Then ss[2]=7/6*tmp

No.3656 2017/03/21(Tue) 08:23:24

Re: 型について / koi
以下すいませんが未確認

基本的にはしろまささんが書かれてるエラーチェックしてください
ってことだと思いますが書いてある例でなぜエラーになるの?  って意味では
プログラム側の問題ではなく

config.ini(抜粋)
[default]
ss2 = 100  <− これの = 前後のスペースが原因ではないかと

1に関してはエラーが出ないなら(数値であれば小数点でも)
大丈夫だとは思いますが
実情はWindowsAPI呼び出してると思うので
msec以下指定しても精度的には
ほぼ意味がないのではないかと思います

No.3657 2017/03/21(Tue) 11:14:49

Re: 型について / 森
エラー内容に書かれているコードと、実際のコードが違っていますね。
実際のコードはエラー内容のように書かれているのでは?

エラー内容の通りだとすると、セクション名に"*"が付いていたり、
セクション名、キー名が""で囲まれていないので変数扱いだったりして、
INIファイルから値を取得できず、しろまささんの書かれているエラー状態になります。

No.3658 2017/03/21(Tue) 12:55:11

Re: 型について / yuu
有難うございます。

みなさんが言われるように、値が取得できなかったのではないかと思います。
もしかすると、たまたまその時、ss2 =  (空白) になっていたかもしれません。

折角の機会ですので、この場をお借りして教えていただきたいのですが、
"ss2" の""は必要なのでしょうか?
""が必要な概念が理解できていません。

No.3661 2017/03/21(Tue) 21:31:35

Re: 型について / しろまさ
必要です。「文字列」を扱う場合に使用します。無ければ「変数」として扱われます。

default  というセクションを文字列で指定し、
ss2    というキーを文字列で指定し、
config.ini というファイル名を文字列で指定して読み込んでいるわけです。

先に ss2 = "ss2" と変数定義されていれば " で挟む必要はありませんが。

No.3663 2017/03/22(Wed) 13:06:11

Re: 型について / しゅん
1の回答がないようなので、1についてだけ。

多分、切捨てなり丸めなりが行われます。
また、WindowsはリアルタイムOSではないため、116msecスリープしても、きっかり116msecであることはまずありません。
だいたい116msecだと思ってください。
100msec単位くらいなら通常大丈夫ですが、10msecも怪しいでしょう。

No.3666 2017/03/22(Wed) 18:07:40
ライセンス再発行 / 徳安
恐れ入ります。
管理人様。
キーを無くしてしまいました。
恐れ入りますが、管理番号がわからないため、他の方法で再発行お願いできませんでしょうか?
会社名等はお知らせできます。
宜しくお願いいたします。

No.3649 2017/03/19(Sun) 15:37:48

Re: ライセンス再発行 / routa
掲示板に書くべき内容ではないですね。
お問合せ:http://www.uwsc.info/contact.html
メールにて問合せすべき事柄です。

No.3652 2017/03/19(Sun) 16:38:28

Re: ライセンス再発行 / 徳安
要件を満たしていないので、別の方法で確認して頂けないかと思い書き込んだ次第です。
問題ありますか?

No.3653 2017/03/19(Sun) 17:27:17

Re: ライセンス再発行 / umiumi
メールにて お願い致します。
No.3654 2017/03/20(Mon) 12:35:54
STOPボタンを出さない / SE
exe化する際に「STOPボタンを出さない」にチェックを入れると、
UWSCウィンドウが出なくなりますが、
スクリプトを停止させたい場合はどのようにすればよいかご教授願います。

No.3620 2017/03/13(Mon) 01:43:57

Re: STOPボタンを出さない / routa
EXE作成時にINIファイルを作るようにすれば停止キーの情報は引き継がれます。
または SETHOTKEY, GETKEYSTATEにて EXITEXITする手もあります。

No.3621 2017/03/14(Tue) 18:25:27

Re: STOPボタンを出さない / SE
ありがとうございました。
No.3650 2017/03/19(Sun) 16:07:09
ROUNDの結果について / ガンガンいこうぜ
//ROUND関数で、

print round(0.65,-1)

print round(0.0565,-3)

//↑は正常だと思うのですが、
//↓は切り捨てられていると思うのですが、これも何かコンピューターの都合ですか?

print round(0.565,-2)

print round(0.00565,-4)

print round(0.000565,-5)

No.3639 2017/03/17(Fri) 19:52:02

Re: ROUNDの結果について / routa
丸め処理の仕方にも色々な方式があります。
UWSCは銀行型丸めとか呼ばれる方式ですね。

No.3644 2017/03/18(Sat) 10:29:24

Re: ROUNDの結果について / ガンガンいこうぜ
ありがとうございます!
No.3648 2017/03/19(Sun) 08:54:27


 過去ログ(〜2016/10/02)・検索ツール


以下のフォームに記事No.と投稿時のパスワードを入力すれば
投稿後に記事の編集や削除が行えます。
200/200件 [ ページ : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 20 >> | 過去ログ ]