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

ファイル書き込み後のFCLOSEで LFがCRLFになってしまう / sasaki
ファイル(UTF-8 bomなし 改行コードLF)をコピーし、
コピーしたファイルに書き込みを行うと 改行コードが CRLFになってしまう現象に悩んでおります。

コード例

srcFile = "srcUTF-8_LF.txt"
destFile = "dstUTF-8.txt"

CMDSTR = "copy <#DBL>" + srcFile + "<#DBL> <#DBL>" + destFile +"<#DBL>"
DOSCMD(CMDSTR,FALSE,TRUE)

//この時点では、destFile も 改行コード LF


//改行LF付きの文字列を作成
wks = "何らかの文字列" + chr(10)

//コピー先に書き込み
fid = FOPEN(destFile, F_WRITE8)
FPUT(fid, wks, F_ALLTEXT)
FCLOSE(fid)
//改行コードが CRLFになってしまう。


LFのままにしたいのですが、どうすればよいのでしょうか。
UWSC Pro Ver 5.3.0.2
Windows10 Pro 64bit

No.5533 2018/07/19(Thu) 13:36:57

Re: ファイル書き込み後のFCLOSEで LFがCRLFになってしまう / koi
UWSCのファイル関数は標準ではテキスト前提で操作されるので
そこでOSによって自動変換されてしまうのだと思います

確認してませんが
以下にバイナリの読み書き例が書かれているので
それを参考にバイナリファイルでの操作をしてください

d.hatena.ne.jp/junjun777/20110607/uwsc_binary_io

No.5534 2018/07/19(Thu) 14:44:24

Re: ファイル書き込み後のFCLOSEで LFがCRLFになってしまう / sasaki
koi 様、アドバイスありがとうございます。
UWSC関数のパラメータなどで変更できるのであれば助かるな・・・と思っているのですが、
ご教示いただいた内容ですと、コードとして検証しなおす必要もあるので
どうしようかなぁという感じです。笑

UWSCが現状停止状態のようですし、
最悪はPythonでかきかえようかとも考えています。

No.5535 2018/07/19(Thu) 14:50:42

Re: ファイル書き込み後のFCLOSEで LFがCRLFになってしまう / siguma
私の環境(UWSC フリー、Win7 32bit)ではオプションでF_NOCRを付けると上手くいきましたよ、ご参考までに。

fid = FOPEN(destFile, F_WRITE8 or F_NOCR)
FPUT(fid, wks)
FCLOSE(fid)

No.5537 2018/07/20(Fri) 01:55:37

Re: ファイル書き込み後のFCLOSEで LFがCRLFになってしまう / sasaki
siguma様、ご回答ありがとうございます。
確かに当方でも確認ができました。

No.5538 2018/07/20(Fri) 08:57:03

Re: ファイル書き込み後のFCLOSEで LFがCRLFになってしまう / koi
質問者さんがそれで問題ないという認識ならかまわないのでしょうが

手元では
F_NOCR のヘルプ記載にもあるように
最後のCR・LFがつかなくなるだけで
文字列中に複数 CR があった場合には それは全て CR LF変換されますし
最後の CR自体も書き込まれていません
(Win7にて確認)

No.5545 2018/07/20(Fri) 12:15:49

Re: ファイル書き込み後のFCLOSEで LFがCRLFになってしまう / sasaki
koi様、
ご確認いただきありがとうございます。

このあたり自分でも色々確認してみようと思います。
実はいまのところ、目的の動作にはなるようでした。

FPUTで F_ALLTEXTをつけるとCRLFになってしまうことも確認していますが、
正式なサポートが得られない現状ですので、とりあえず本件はクローズします。

色々とありがとうございます。

No.5546 2018/07/20(Fri) 12:27:19
ウィンドウの移動ができない / yukimaru
UWSC初心者なのですが、ACWでのウィンドウの移動やサイズの変更が一部のウィンドウでできません。

id = GETID("新しいテキスト ドキュメント")
PRINT "タイトル " + STATUS(id, ST_TITLE)
ACW(id, 10, 10, 1282, 759)

↑このように入力すると位置とサイズが変わるのですが、
他のウィンドウを対象にすると変わらない場合があります。

ACWで変更できない場合はウィンドウ側に問題があるのでしょうか?

分かる方がいましたら教えていただきたいです。

No.5529 2018/07/15(Sun) 22:20:25

Re: ウィンドウの移動ができない / stuncloud
いくつか考えられます

1) 実行ユーザーが異なる

例えば対象のアプリケーションを「管理者として実行」している場合
UWSCも「管理者として実行」しないとACWできない

これがありがちなパターンですね
この場合は実行ユーザーを合わせればOK

2) 実態の異なるウィンドウ

idを取得したウィンドウと実際目に見えてるウィンドウが別物の場合

例えばウィンドウタイトルが同じで不可視のウィンドウのID取っちゃってたというようなパターン?
この場合は適切なウィンドウIDを得ればOK、多分

3) Windowsの作法で作られてないウィンドウ

なんかもうどうしようもないやつ的な…
そういうのがあったとして、の話ですけどACWどころか他の操作もできないと思うのでもう諦めるしかない…?

No.5531 2018/07/16(Mon) 16:56:21

Re: ウィンドウの移動ができない / yukimaru
ありがとうございます!
無事解決しました。

一部できなかったものは管理者として実行していようで、
仰る通りにUWSCも管理者として実行したら無事動かすことができました。

No.5532 2018/07/16(Mon) 22:56:39
★ 月日を見つけて年月日に変換する / SEN
返信が遅くなり書き込めませんでしたので、新規で失礼します。
10年間の感謝も込めまして。

----------------------------------
ありがとうございます。

私にとっては、UWSCは仕事のサポートのみです。
近くの本屋で、小林シンヤさんの「WINDOWSマクロテクニック」を手に取り、UWSCに「ビビビ」ときて以来、
10年位になるでしょうか?プログラムの腕は全く上がらず、困った時はUWSCの掲示板に「神頼み」で何とかここまできました。

それでも、UWSCのプログラムは、毎日朝から夜までUWSCは働きっぱなしです。
疲れた時にも全く作業の精度は全く落ちず(コンピューターですから)、パソコンに背中を向けている間に作業が終了しています。

本のように颯爽と定時で帰社は全くありませんが、今UWSCがなかったら仕事は終わってないのは明白です。
UWSCで置き換えれば仕事がクリアできるだろうと思う事が次から次へと湧いてきて、うまくいった時は感激です。

本当にありがとうございます。

No.5530 2018/07/16(Mon) 01:18:16
一定時間ごとに再起動させたい / ゆう
ループ処理中に一定時間ごとに再起動させたいのですが、以下のように記述で再起動まではできたのですが、再起動後にwhile true内のループ処理を継続できません。

どのように修正すればよろしいでしょうか?また他にいい案があれば教えてください。
よろしくお願いします。

Public Check_Point_Timer = gettime()+ 60 * 60

while true

//処理を記載

checkPoint

wend

Procedure checkPoint
id=getid("対象ソフト")
ifb gettime() > Check_Point_Timer then
sckey(id,vk_alt,vk_f4)
sleep(2)
kbd(vk_u,click)
Check_Point_Timer=gettime()+ 60 * 60
exec("explorer"+"対象ソフト")
endif
fend

No.5522 2018/07/14(Sat) 12:19:16

Re: 一定時間ごとに再起動させたい / satocha
対象ソフトによっては外部からALT+F4で殺すとうまく再開できないものもあるかもしれません。
「exec("explorer"+"対象ソフト")」はただのコピペミス(explorerのあとに半角スペースがない)でしょうか。

No.5523 2018/07/14(Sat) 14:21:58

Re: 一定時間ごとに再起動させたい / トリビア
対象ソフト自体の再起動は出来ているのでしょうか。
終了、起動のタイミングが早すぎるなどもあるのではないでしょうか。

No.5528 2018/07/15(Sun) 10:16:47
スキャンしたPDFから特定箇所のレ点の有無を判断したい / みつ
お世話になっております。

スキャンした若干ぼやけたPDFから位置が特定した箇所のレ点の有無を判断したいのですが、
UWSCでそういった判断はできるでしょうか?

スキャンしているので毎回若干レ点位置は±10mmぐらいの範囲でズレます。
また、近くにABCという固定された文字列があります。

他のプログラムとの連携でもいいので何か良い方法があれば教えて頂きたいです。

よろしくお願いします。

No.5509 2018/07/10(Tue) 21:49:07

Re: スキャンしたPDFから特定箇所のレ点の有無を判断したい / satocha
手描きでレ点をつけた申し込み書類のようなものが大量にあり、それをスキャンしたという前提で考えると、なかなか簡単な答えはなさそうですね。
画像認識を考えると、PDFを画像に変換したほうがいいと思います。

<ざっと考えた手順>

@大量のPDFから当該部分をアップ画像として切り出す。
 ツールは、UWSCからの起動を考えると、コマンドレベルで動くimagemagickあたりでしょうか。
http://www.atmarkit.co.jp/ait/articles/1410/29/news012.html
部分的な切り出しはimagemagickのconvert.exeにCropオプションをつけて設定します。「convert」「crop」「imagemagick」あたりで検索すれば情報が得られると思います。
Aアップ部分の画像をOCRにかける。
BOCRテキストで「レ」とか「シ」とか「し」とかそれらしいテキストが得られたものをレ点つきとみなして記録する。

ただ、OCRに任せると誤判定が多そうです。そこで、OCRはやめて、@で作った画像を十数枚ずつ並べるHTMLを大量生成し、CreateFormとかHTA(今はpro版が入手できないので)とかで画面表示して、レ点の付いたものを人間に選ばせるというのはどうでしょう。
HTMLでなくpowershell経由でWindows.Formsを使う方法もあります。

どの手段にせよかなりの力技になりそうですが。
※UWSCからHTAを操作するモジュールを以前作りました。よろしかったら見てやってください。
 https://plaza.rakuten.co.jp/satocchia/diary/201712180000/

No.5510 2018/07/11(Wed) 07:24:50

Re: スキャンしたPDFから特定箇所のレ点の有無を判断したい / トンボ
手書き前提で、下記も含め様々な課題を解決するには、高度な画像解析処理が必要になります。
・筆跡が十人十色。レのハネ部分が極端に短く、斜線に見えるといった酷いケースもあります。
・チェックボックスがあると□とレ点の位置がバラバラで、画像認識の成否に影響しそう。
・二重取り消し線が引かれたレ点だと、レ点有りと誤認識しそう。

@UWSCで高度な画像解析処理作成は色々と大変なので、私なら帳票OCRソフトの導入を検討します。ググれば色んなソフトが出ます。
 ただし、有料ソフトでも認識成功率が100%にならず、結局人的チェック&手修正が必要だったりします。
 https://www.panasonic.com/jp/business/its/ocr_form/function_3.html

 ソフトの起動で若干遅い、ソフト操作をスクリプトにするのが大変といった難点もあります。

A書類自体の見直しも検討した方がよいでしょう。例えば、書類に薄い灰色のレ点を印字してしっかりとレ点を記入してもらう。マークシート方式にして、しっかり塗り潰してもらう。チェックボックスを小さく印字して、レ点の記入位置のブレを軽減する。

>UWSCでそういった判断はできるでしょうか?
結論として、他のプログラムを併用すれば実現できますが、様々な課題を解決する必要があります。
レ点チェックの目的を明確にした上でどうするか検討した方が良いでしょう。
(重要度が低い仕事なので多少レ点チェックが漏れてもいいなど。)

#確実なのはExcelシートにチェックボックスを設けて、VBAでレ点有無をチェックですね。まあ諸事情で書類スキャンにしているのでしょうが。

No.5511 2018/07/11(Wed) 20:54:11

Re: スキャンしたPDFから特定箇所のレ点の有無を判断したい / 森
まず「ABC」のグレー部分や装飾髭などを削除して線状文字に加工したを"ABC.bmp"を用意してください。
chkimg()で第二引数を1にすると文字のカスレなどを無視して探してくれます。
「ABC」の座標が分れば、チェックマークとの相対位置は不変なのでチェックマークの座標が分ります。
手書きのチェックマークで色や形が不揃いでも、複数個所をpeelcolor()で拾えばチェックマークの有無は判別できると思います。
chkimg()やpeekcolor()でチェックする座標等は現物に合わせて適当に書き換えてくださいね

select chkimg("ABC.bmp" , 1 , 200 , 170 , 330 , 270)
 case 0
  msgbox("ABCが見つかりません")
  exitexit
 case 1
  for i = 0 to 20 step 2
   for j = 0 to 20 step 2
    if peekcolor(G_IMG_X - 70 + i , G_IMG_Y - 10 + j) <> "$FFFFFF"
     msgbox("チェックあり")
     exitexit
    endif
   next
  next
  msgbox("チェックなし")
selend

No.5516 2018/07/12(Thu) 19:14:00

Re: スキャンしたPDFから特定箇所のレ点の有無を判断したい / みつ
satocha様、トンボ様、森様

四角の中の手書きのレ点なので、森様の案で挑戦してみましたが、
なんとレ点位置が違うフォーマットも存在することが判明して
苦戦していますがもう少し頑張ってみます。

貴重な情報、また深い考察して頂きありがとうございました。

No.5525 2018/07/14(Sat) 18:28:17
UWSC Pro / 岡崎 薫
UWSC Proの購入は、どちらでできますか。購入ページが発見できません。
No.5464 2018/07/02(Mon) 11:03:54

Re: UWSC Pro / まんま
残念ながら、現在は販売しておりません。
正式なサポートも実質的に中止されています。

No.5466 2018/07/02(Mon) 11:08:35

Re: UWSC Pro / stuncloud
残念ながらできなくなっちゃったんですよ
どうしてそうなってしまったのか、これが一時的なことなのか恒久的なのか
そういったことも全くわからない状態です

Pro専用機能の代替手段はいくらでもありますので、無料版をご利用ください

No.5467 2018/07/02(Mon) 11:11:47

Re: UWSC Pro / HIBI
先日ベクター・レジ・センターに問合せたところ下記回答を頂きました。

> お問い合わせの件、「UWSC Pro」については、弊社担当部署からも
> 作者様への連絡を試みておりましたが、回答がない状況でしたので、
> 弊社では2018/4/3に作品の公開を終了しております。


ベクターでも連絡が取れず困った結果、購入&公開を停止したようです。

No.5468 2018/07/02(Mon) 19:01:59

Re: UWSC Pro / すごい
質問者のお名前が「さんまのまんま」のスーツアクターの芸名
直後の回答者のお名前が「まんま」と役の名前
偶然とは思えない一致w

No.5508 2018/07/10(Tue) 17:23:04
チャートデータ / 修二
サイトhttps://www.tradingview.com/chart/から、
為替(USD/JPY、EUR/JPY、USD/EUR)のチャートデータをメモ帳に取得したいと思います。
具体的に取得したい時間指定データですが、下記の通りです。
例:2018/06/08 20:00 〜2018/06/08 24:00 5分チャート保存の場合
2018/06/08 20:00チャートの開始値=100.000、終了値110.000、最高値115.000、最低値99.000です。
IEを使えませんので、uwscにて操作することより、他のツールを考えた方がよろしいのでしょうか、もし、uwscでやろうとするならどんな関数で可能でしょうか。
どなたかご教授頂ければ、幸いです。

No.5497 2018/07/07(Sat) 12:14:10

Re: チャートデータ / binz
できるに決まってるだろ!自分で勉強したらいいやないか!教えません!
No.5502 2018/07/07(Sat) 23:08:20

Re: チャートデータ / satocha
なんか例のスルー力養成スレッド以降、とげとげしくなってませんか。

それはともかく、質問者さんがお示しのサイトには、チャートを取り扱う専門のスクリプト言語「pine」というのがあるようです。質問では、メモ帳に落とした後のことは書かれていませんが、その「pine」を使えばおそらく、そのあとでやりたいことも大した行数を書かなくても実現できるような気がします。

UWSCはWindowsでできることは何でもできますが、向き不向きはあります。この場合、せっかくサイトの開設者が専用プログラム言語まで用意してくれているのだから、まずはそれを使ってみたらいいと思います。

そのサイトのページを表示したら、下のほうにあるいくつかのタブの中から「Pine Editor」というタブをクリックすると、Pine言語の編集画面が開きます。右端にヘルプメニューがあり、その中にチュートリアルや言語レファレンスもあるので、それで勉強してはいかがでしょうか。

No.5503 2018/07/08(Sun) 01:46:08

Re: チャートデータ / トンボ
GETITEM関数、GETSTR関数で一応文字列取得できます。「uwsc GETITEM GETSTR」でググれば、画面全体の文字列を取得できるサンプルがあります。(もちろんサンプルの改造は必要です。)
POSACC関数もあり、ACC_ACCなどを指定すれば取得できます。ヘルプのサンプルで詳細を確認願います。

#チャートは専門外なので、欲しい情報の取得成否が判断不可でした。申し訳ありません。ただ、文字列取得処理の成否が不安定なら、pineがいいかもしれませんね。

No.5504 2018/07/08(Sun) 08:51:44

Re: チャートデータ / 修二
なるほど、pineを少し検討、勉強してみます。
satochaさん、トンボさん、とてもご丁寧な回答ありがとうございました。

No.5506 2018/07/08(Sun) 17:53:44

Re: チャートデータ / stuncloud
REST APIもあるようなので、それでUWSCからでもデータ取得ができるかも
https://jp.tradingview.com/rest-api-spec/
その場合必要なのは Msxml2.XMLHTTP などを使ったWebアクセスと、jsonパーサですね

No.5507 2018/07/09(Mon) 15:16:58
ナーバスと誤解解消 / トンボ
作者の意向が無いため、個人的な意見になりますが、質問側と回答側の不備や問題は基本許容でお願いしたいです。
問題の重大さが大きいか、作者の注意書きに触れるといった事が無い限り、他者の揚げ足をすぐに取って終わりはやめましょう。それはそれで問題です。
過去のトラブルはそれほどの特殊なケースだったから発生したと再認識願います。

No.5505 2018/07/08(Sun) 09:01:22
無限ループについて / みやぎ
uwscを始めたばかりの初心者です。
これを無限ループさせるにはどのようにすればいいのか、どなたか教えていただけないでしょうか。
どうかよろしくお願いします。

CALL 遠征.uws

repeat
chkimg("出撃.bmp",-1)
btn(left,click,g_img_x+ random(10),g_img_y+ random(10))
sleep(5)
btn(left,click,g_img_x-140+ random(10),g_img_y-200+ random(10))
sleep(60)
until chkimg("帰還",-1)

CALL 帰還.uws

CALL 全補.uws

ifb chkimg("帰還",-1)
CALL 帰還.uws
sleep(4)
CALL 全補.uws
else
CALL 遠征.uws
endif

No.5494 2018/07/07(Sat) 02:14:59

Re: 無限ループについて / koi
repeat
until を使われてるのでそれを使って一例

上記は 式が False の間実行 されるのは理解されてるんですよね?
つまりは 式にそのまま False を書けはそれが永久ループになります
repeat
until False

後はその中に好きな処理書いてください
while wend 等でも同じことが言えます

No.5495 2018/07/07(Sat) 08:31:52

Re: 無限ループについて / satocha
「ネットゲーム関係の質問はご遠慮ください」という掲示板ですので、答えにくいファイル名がついているのが気になりますが、一般論として…。

UWSCのループ文はFor文、Repeat文、While文の3種類あります。そのうち、For文はループ回数があらかじめ決まっている場合に使うものなので、無限ループには使いづらいです。
ヘルプでRepeat〜Until、While〜Wendを検索すれば使用例がわかりますが、使い方は単純で、
Repeat
 ループする対象の行
Until 条件式(無限ループならFalseにする)
です。

ループする行は何行あってもよく、また、その中にさらに別のループを含んでいてもかまいません。

あと、無限ループですから、どこかで脱出しなくてはなりません。
そのために使うbreak文もヘルプで見ておいてください。また、exitexitでスクリプトそのものを終了させてもいいです。

No.5496 2018/07/07(Sat) 08:36:29

回答する方へ / え?
答えたい気持ちはわかりますが、
ここの掲示板のルールは回答する側も守るべきではないでしょうか?

No.5498 2018/07/07(Sat) 18:49:44

Re: 無限ループについて / トンボ
注意書きはモラル的な意味合いが強く回答側のルールが不明確である以上、常識とモラルの面で回答禁止の強制は困難です。幸い修正コード付き回答ではないので、警告程度で終わりにしましょう。
みやぎさん、注意書きにはご理解お願いします。

No.5499 2018/07/07(Sat) 20:51:00

あくまで一個人の意見ですが… / siguma
無限ループ自体の言及についてはゲームに特化したテクニックではなくむしろ通常のプログラミングでもよく使う基本的なテクですので特に問題ないのでは?と思います。さすがに「無限ループ使っても運営にBANされないでしょうか?」みたいな質問は無視すべきでしょうが
No.5500 2018/07/07(Sat) 20:52:06

Re: 無限ループについて / アララ
ネットゲーム関係の質問はご遠慮くださいとただし書きがあるが、回答するべきでないというただし書きは、ないねえ。
No.5501 2018/07/07(Sat) 23:02:45
INI ファイルについて / 山岸
お世話になります、現在、iniファイルをスケジュールとデータ受け渡しに使っていますが、みなさんは、どのような使い方をされていますでしょうか。
No.5491 2018/07/06(Fri) 18:40:29

Re: INI ファイルについて / 森
フォームの内容を記録しておいて次回起動時に読み込んで再現させています。
その利用目的で使うことが一番多いです。
もちろんデータ受け渡しや、データの一時保管場所などでも利用しています。

No.5492 2018/07/06(Fri) 19:56:41

Re: INI ファイルについて / トンボ
uwscのスケジュール設定で複数スクリプトを順番に実行&終了し、それぞれのスクリプト間で変数の値を渡したい時に使います。
No.5493 2018/07/06(Fri) 20:16:39


 過去ログ(〜2017/08/24)・検索ツール


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