[ 掲示板に戻る ]

過去ログ閲覧モード

punycode / アユム
大変お世話になっております。

いつもUWSCをご利用させて頂いております。

すごく簡単な質問かもしれませんがお力を頂ければ幸いです。

日本語ドメインをpunycode形式へ変換する事は可能でしょうか?

decodeやencodeコマンドを使用して色々試してみましたがうまくいかず…

どなたかわかる方がいましたらやり方を教えて頂ければ幸いです。

宜しくお願い致します。

No.408 2014/11/10(Mon) 17:28:15

Re: punycode / stuncloud
ああ、以前作ろうと思い立ったものの面倒そうで諦めたやつです…
http://punycode.jp/
こういったサイトで事足りてしまったので、特に必要でもなくなってしまったということもありまして…
それでもやるとしたら、githubなんかを探すとjsライブラリがあったりするので、そういったものを使わせてもらうのが簡単ですかね
あ、ちょっと時間がかかっちゃっても構わないというのなら、IEで上記サイトを操作のほうが楽ですね

No.409 2014/11/10(Mon) 17:50:23

Re: punycode / stuncloud
>IEで上記サイトを操作

domain = "はじめよう.みんな"

ie = createoleobj("InternetExplorer.Application")
ie.visible = TRUE
ie.navigate("http://punycode.jp/")
BusyWait(ie)
elem = ie.document.getElementsByName("str").item[0]
elem.value = domain
ie.document.querySelector("input[type=submit]").click()
BusyWait(ie)

punycode = ie.document.querySelector("table tr:nth-last-of-type(1) td:nth-last-of-type(1)").innerText
input(domain, punycode)
ie.quit()

//どうでしょう

No.410 2014/11/10(Mon) 18:07:52

Re: punycode / アユム
stuncloud様、早速のご返信ありがとう御座いました。

私も上記サイトを使用して予め日本語ドメインを変換してましたがUWSC内で処理が出来ればさらに都合がよかったので方法があればと思いまして投稿させて頂きました。

ただ変換する機能が無ければ記載して頂いたサイトを使用するしか方法は無さそうですね。

スクリプトまでわざわざ書いて頂きましてありがとう御座いました。

No.413 2014/11/10(Mon) 18:25:18

Re: punycode / stuncloud
https://github.com/bestiejs/punycode.js
ここの punycode.min.js を使った例

domain = "はじめよう.みんな"

fid = fopen("punycode.min.js", F_READ)
punycode_js = fget(fid, F_ALLTEXT)
fclose(fid)

js = createoleobj("ScriptControl")
js.language = "jscript"
js.ExecuteStatement(punycode_js)
punycode = js.CodeObject.punycode.toASCII(domain)

input(domain, punycode)

No.414 2014/11/10(Mon) 18:28:09

Re: punycode / stuncloud
UWSCだけで出来ました (困ったらPowerShell頼みするべきでした…)
PowerShell関数を使うので、速度的にはjs版に軍配ですね

host = "はじめよう.みんな"
puny = GetPunycode(host)
input(host, puny)

function GetPunycode(Host)
 cmd = " $(New-Object System.Globalization.IdnMapping).GetAscii('" + Host + "')"
 result = powershell(cmd)
fend

#古い記事を上げてしまってすいません
#アユムさんに伝わるといいんですが

No.493 2014/11/26(Wed) 19:17:29
setOleEventとAssert() / Nagatani
いつもお世話になります。RECIEで作成されるsetOleEventとAssert(IESetData(IE,"text","Text1"),5)ですがこの二つは何をするもの
でしょうか?
特に、setOleEventを使うと、IE.QUITを使った後にスクリプトが終わるため削除かEXITEXITを削除したら思い通りに動くのですが心配になりました。
アドバイスよろしくお願い致します!

No.472 2014/11/22(Sat) 10:25:17

Re: setOleEventとAssert() / umiumi
setOleEventも Assertも下に関数として定義されています。
自身で中身を確認してください。

setOleEventは 画面更新チェック(BusyWait)の為に IEのイベント処理を定義してます。
また IEをQuitされた時にスクリプトを停止する定義。
( (!ie.busy)and(ie.readyState=4) 形式の画面更新チェックではマルチフレームやJavaScriptを使用した画面に対応できない事がある為)

Assertは検証の為の関数で、条件式が偽(0)の場合にスクリプトを停止します。
>Assert(IESetData(IE,"text","Text1"),5)
この場合はIESetDataがエラーの時に "Assertion failed at 5" を表示し停止。

No.481 2014/11/24(Mon) 00:37:42

Re: setOleEventとAssert() / Nagatani
ありがとうございます!
現段階では、理解できていませんが
このまま、使用しながら確認させていただきます!

No.484 2014/11/24(Mon) 09:59:52

Re: setOleEventとAssert() / Nagatani
もう一つ教えて下さい!
Assert(IESetData(IE,"TEXT","text1",5)ですが最後の5は何を意味するものでしょうか?
また、何番でもいいのでしょうか?

No.487 2014/11/24(Mon) 13:52:39

Re: setOleEventとAssert() / umiumi
RecIEで記録した時の行番号です。
ユニークであれば別の番号や文字でも構いません。

No.490 2014/11/25(Tue) 22:07:25

Re: setOleEventとAssert() / Nagatani
ありがとうございます!
Assert(IESETDATA (IE,True,"tag=div","id=xxx",7)
としてみたのですが、添付ファイルの追加は出てくるのですが
UWSC自体は添付ファイルの追加処理が終わるまで固まって
いるようです。Procedure Assert()には飛んでいない様です!
何かヒントがありましたら、よろしくお願いいたします!

No.491 2014/11/26(Wed) 18:07:58
お久しぶりです / いりや
こんにちは、皆様、お久しぶりです、いりやです。

最近仕事がかわりまして Windows 環境に積極的にコミットする仕事になりましたのでまたこちらにお邪魔しました。どうぞよろしくお願いします!

No.433 2014/11/14(Fri) 17:00:53

Re: お久しぶりです / koh
お久しぶりです。

いりやさんに教えて頂きたい事があったので助かります。^^;

早速ですが、 いりやさん作の DoItTool の

IEの文字列を選択して右クリックで DoIt.uws に渡して使うには

Win8.1 IE11 で使うには かなりの変更が必要でしょうか?

どこを変更すればいいのか解らず 今年春から悩みっぱなしなので

何か ヒントでもいただけないでしょうか?

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

No.462 2014/11/18(Tue) 10:11:24

Re: お久しぶりです / しろまさ
いりやさん、お帰りなさいませ。
あまりに音沙汰がなかったので生きているのかどうかも疑っていました。。

一つご報告で、いりやさんのページ UWSC スクリプト集 は開きますがWILIKI や しゃとん のページが開かないようです。
意図して運営を中止したものであればよいのですが、エラーかもしれないのでごお伝えしておきます。

No.468 2014/11/19(Wed) 19:06:40

Re: お久しぶりです / いりや
koh さん、

こんにちは。お久しぶりでございます。

DoIt.uws の IE 版 doItFromInternetExplorer.html ですが、IE Menu Ext との組み合わせで使用すること、Scripting.FileSystemObject, WScript.Shell オブジェクトにアクセスしていること、この二つが新しい環境でも実行可能であれば変更要ではないのだろうなと予測しますが、ファイルを作成したりファイルを実行したりしていますから新しい環境でのセキュリティー設定に鑑みて、方式そのものをかえないといけないのかもしれません。その場合は、大きな見直しが要と予想されます。

代替案としてシンプルなのはクリップボードを経由して実行するというものです。もともとのスクリプト三つはいずれもクリップボードへの選択範囲のコピーを *やらないで* 何とか選択範囲を得られないか、が目標になっていました。スクリプトがクリップボードを編集するものであった時に具合が悪いからです。

でもクリップボードにコピーしてもよい、と制約を緩められるのであれば、doItFromNotepad.uws をベースにすぐ作成できると思います。

doItFromNotepad.uws の

aText = getSelectionText(windowID);


ここをクリップボードの値を代入するようにかえればよいからです。後はランチメニューに登録して完了! doItFromInternetExplorer.html は使わなくてよいです。

とりいそぎお返事でした。

No.473 2014/11/22(Sat) 11:13:23

Re: お久しぶりです / いりや
しろまささん、

本当にお久しぶりです! (仕事の状況で少しコミュニティーから遠ざかっておりましたが、すこぶる元気です、いまシンガポールで仕事中です、ははは)

WiLiKi としゃとんについてはごめんなさい。ご指摘の通りです。

WiLiKi への執拗なスパム攻撃への対応への疲弊、内部使用データベースのエンコーディング変更に伴うデータ移行にうまくいかなかった、この二つが理由でした。

データの一部は残っていますので近々新しく WiLiKi を再構築して最低限のものはあげておきますね。

No.474 2014/11/22(Sat) 11:17:19

Re: お久しぶりです / Liners
お久しぶりです。いりやさん。[Iriyak]

>シンガポールで仕事中です
マネージャーさん。がんばって!

>近々新しく WiLiKi を再構築して最低限のものはあげておきますね。
人のことは言えないなぁ。しばらく38年前にタイムスリップしていたし…
一段落したので、現代に戻ってまた頻繁にお邪魔するかも。

Liners出張所の復活もあり得るのかな?

No.475 2014/11/22(Sat) 16:05:10

Re: お久しぶりです / koh
>doItFromNotepad.uws の
>aText = getSelectionText(windowID);
>ここをクリップボードの値を代入するようにかえればよいからです。


クリップボード経由で 出来ないかなぁ? とも考えていたので、
全然OKです!

時間をみて Try してみます!!

躓いたら また お願いにくると思いますので 
その時はよろしくお願いいたします^^;

No.476 2014/11/23(Sun) 00:38:28

Re: お久しぶりです / いりや
Liners さん、

おはようございます。雨季のシンガポールですが奇跡的に朝は雨がなく朝日 (6:45am 日の出) を楽しみながら出社しております。

WiLiKi は編集のログは残っているのですが、最新のデータという形でスナップショットがあるわけではなく、一部不完全になるかもしれません。とりいそぎ最小限のページだけを立ち上げますね。

No.485 2014/11/24(Mon) 10:51:06

Re: お久しぶりです / いりや
koh さん、

どうぞどうぞ。以前のように QA Support の時間は限られておりますが自分のこさえたスクリプトであればまだ記憶が残っていますので(笑)。。。

No.486 2014/11/24(Mon) 10:53:07
SLCTBOXでエラー / ゆかり
SLCTBOXの表示位置を指定しなければ、31個までは問題ないのですが、指定すると31個では関数への因数が多すぎますとエラーがでてしまいます。これは仕方ないのでしょうか?


SELECT SLCTBOX(SLCT_BTN,10,100,100,"日付選択","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","15","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31")

CASE SLCT_1
CASE SLCT_2
CASE SLCT_3
CASE SLCT_4
CASE SLCT_5
CASE SLCT_6
CASE SLCT_7
CASE SLCT_8
CASE SLCT_9
CASE SLCT_10
CASE SLCT_11
CASE SLCT_12
CASE SLCT_13
CASE SLCT_14
CASE SLCT_15
CASE SLCT_16
CASE SLCT_17
CASE SLCT_18
CASE SLCT_19
CASE SLCT_20
CASE SLCT_21
CASE SLCT_22
CASE SLCT_23
CASE SLCT_24
CASE SLCT_25
CASE SLCT_26
CASE SLCT_27
CASE SLCT_28
CASE SLCT_29
CASE SLCT_30
CASE SLCT_31
SELEND

No.479 2014/11/23(Sun) 18:34:25

Re: SLCTBOXでエラー / umiumi
配列にして渡してください。
dim aday[] = "1","2","3","4","5","6","7","8","9","10" ...
SELECT SLCTBOX(SLCT_BTN,10,100,100,"日付選択",aday)

No.483 2014/11/24(Mon) 00:39:55
BETWEENSTR / Nagatani
いつもお世話になります。BETWEENSTRを使うときにWebから取得したBODYを見ると一見
”</div></td></tr></tbody></table>”の様に見えますが、
</div>
</td>
</tr>
</tbody></table>
になっているときがあります。このような場合どのように設定すればいいでしょうか?

BETWEENSTR(BODY,"input name=<#DBL>","</div></td></tr></tbody></table>",1)や
改行の位置にCHR(13)を入力しても取得できませんでした。

アドバイスよろしくお願いいたします。

No.463 2014/11/18(Tue) 23:11:47

Re: BETWEENSTR / koh
Chr(13)の代わりに <#cr> を入れてもダメですか?
No.464 2014/11/19(Wed) 00:09:14

Re: BETWEENSTR / Nagatani
お世話になります。<#cr>でも取得できませんでした。
前文字列を固定し、後ろ文字列を</table>にすると取得できていますので
BETWEENSTR(BODY,"input name=<#DBL>","</table>",-1)で対応するしかないのでしょうか?

No.465 2014/11/19(Wed) 00:41:55

Re: BETWEENSTR / satocha
body2=replace(body,"<#cr>,"")
between=BETWEENSTR(BODY2,"input name=<#DBL>","</div></td></tr></tbody></table>",1)
で足りませんでしょうか。

bodyの中の改行を取り去ってはまずいようでしたら
replaceでなく正規表現対応のreg.replaceみたいののを作って
reg.replace(body,">[\r\n]+<","><")ぐらいでどうでしょうか。

No.466 2014/11/19(Wed) 05:43:30

Re: BETWEENSTR / Nagatani
ありがとうございます!
帰宅しだい検証してみます!
ただ、テキストでは横一列でも、uwsc ディバックでは
改行マークの様なものがはいっているのか?縦にならびます!
確かに、テキスト上で矢印キーを押しても一文字分おかしな動作
があります!
CHR(13)や<#cr>ではないような気がしますのでコードを調べ
全て検証してみます!

No.467 2014/11/19(Wed) 07:32:01

Re: BETWEENSTR / Nagatani
やはり一文字分表示されない文字(矢印押しても足踏み?)があるようで
Public IE
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www3.*********.com/**/***.cgi?id=******")
BusyWait(IE)
SLEEP(2)
BODY = IEGETSRC(IE,"BODY")
body=replace(body,"<#cr>","")
body=replace(body,"<#DBL>","")
body=replace(body,"<#tab>","")
では消せませんでした。
私の手には負えないようです。やっかいな存在にならないように記憶しておきます。
今回は、BETWEENSTR(BODY,"input name=<#DBL>","</table>",-1)で処理できることが
確認できました。
ありがとうございました。

No.469 2014/11/19(Wed) 21:49:23

Re: BETWEENSTR / しゅん
chr(10)ではないでしょうか?
改行は通常、
・Windows、chr(13)+chr(10)
・unix系、chr(10)
・Mac、chr(13)
です。
webサーバーには、unix系が多いためchr(10)の可能性が高いと思います。

No.470 2014/11/20(Thu) 07:06:39

Re: BETWEENSTR / Nagatani
お世話になります。
ご指摘通りCHR(10)で対処することが出来ました!
ありがとうございました!

No.471 2014/11/20(Thu) 08:42:22
RecIEのフォーム?変更 / Nagatani
いつもお世話になります。RecIEの記録中にブラウザ表示領域を小さくしたまでは
よかったのですが、マウスが矢印から黒い上下の矢印に変わるのですが下に下がりません。

現在、小さい(3cm)のぞき窓のような状態でネットをスクロールしながら作業しています。
元に戻す方法があればアドバイスをよろしくお願いいたします。

No.457 2014/11/17(Mon) 22:06:03

Re: RecIEのフォーム?変更 / umiumi
どうしてもサイズが変更できないのであれば
RecIEを終了した状態で、RecIE.INI を削除してください。

No.460 2014/11/18(Tue) 01:19:56

Re: RecIEのフォーム?変更 / Nagatani
umiumi様
無事元の画面に戻りました!
ありがとうございました!

No.461 2014/11/18(Tue) 07:24:30
exeファイルの常駐化 / 裕紀
Pro版でのexeファイルを常駐ソフトとして利用したいと考えたのですが,常駐させることは出来るでしょうか?
exeファイル自体をバックグラウンドで起動するファイルが存在しても構いません

No.431 2014/11/14(Fri) 07:35:07

Re: exeファイルの常駐化 / koi
常駐ってのがタスクトレイへの常駐なら標準スクリプト関数だけでは無理
古いですが参考過去ログ
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&start=110&log=ON&cnt=15
APIをコールもできるのでかなり苦労すればできなくはないような気もしますが
はっきり言って手間がかかるだけではないかと思います

違うと思うけどメモリに常駐って意味なら終了しなければいいだけです

No.432 2014/11/14(Fri) 16:16:34

Re: exeファイルの常駐化 / 森
あっ!これは私も常々考えていたことです。
こちらにヒントがあります。
http://www.hiramine.com/programming/windows/trayapplication.html
移植には、かなりのスキルが必要かと思いますので、
「あの」方々が喰い付いてくれればなぁなんて期待しています^^

No.434 2014/11/14(Fri) 17:18:12

Re: exeファイルの常駐化 / しゅん
「あの」方々がどなたか不明ですが、、、(sで始まる人かな)。
Win32APIで作成しないなら、そんなに大変ではありません。
タスクトレイアイコンのクリック等が拾えるので、それを受けてPOPUPMENUとかを出すと良いと思います。
http://d.hatena.ne.jp/junjun777/20141114/uwsc_notifyIcon

そうそう、少し変更すると、EXEファイルからアイコンを取り出すとかもできます。
EXE化した場合は、自EXEから取り出した方が良いかもしれませんね。
あと、アイコンデータを内包することも可能です。

No.435 2014/11/15(Sat) 00:10:14

Re: exeファイルの常駐化 / 森
しゅんさん
ありがとうございます!
以前もこんな釣り方をしましたね^^;

> sで始まる人かな
ローマ字表記も含めると名回答者は「S」で始まる方が多い掲示板ですね^^

特に私が質問をした際には、「s」の方と「しゅ」の方に助けられることが多いので、
いつも本当に感謝しています。

もちろん他の「S」で始まる方々にも、「S」で始まらない方々にも感謝感謝です!

No.437 2014/11/15(Sat) 08:50:31

Re: exeファイルの常駐化 / stuncloud
>「あの」
僕は真っ先にしゅんさんを思い浮かべましたよ!

exeファイルのショートカットをスタートアップにコピーしておけば、ログオンの度に実行されるようになるのでより常駐アプリっぽくなりますね
>exeファイル自体をバックグラウンドで起動する

No.439 2014/11/15(Sat) 15:40:29

Re: exeファイルの常駐化 / 森
> stuncloudさん
この掲示板にも「いいね!」ボタンが欲しいコメントで〜す!

No.441 2014/11/15(Sat) 21:00:40

Re: exeファイルの常駐化 / 裕紀
なるほど様々な回答ありがとうございます。
しゅんさんの回答を参考に色々行ってみます
exeファイルに出力しての運用だったので最初のif文を通らなかったことに私は気が付かず土日に悪戦苦闘してましたw
このようなプログラムをさっさと作れる方々がとてもうらやましいです
私の為に様々な事を行ってくれた方々に感謝します。

No.448 2014/11/16(Sun) 17:13:34

Re: exeファイルの常駐化 / しゅん
すみません、私の書くスクリプトは基本的にCALLして使うことを想定しています。
このため、サンプル部分にあのような制約を入れているのです。

なお、作成したスクリプトですが、環境によっては、
NotifyIcon.Start関数のGETID(formName)が待てないことがわかりました。
このため、少し修正しました。
http://d.hatena.ne.jp/junjun777/20141114/uwsc_notifyIcon

No.458 2014/11/17(Mon) 22:59:55

Re: exeファイルの常駐化 / 裕紀
了解しました
色々自分の知識の幅を広げるのに使わせていただきます!

No.459 2014/11/18(Tue) 00:04:05
web上の監視 / ztom
SENDSTR(0, ie.document.body.innerTEXT)
str = GETSTR(0)
temp = BETWEENSTR(STR,"ここから","ここまで")
text = COPY(temp,1,7)

上記のような文をループさせて、web上の指定文字をほぼリアルタイムに取得しているのですがPCの環境が変わると文字の位置が変わる事があるらしく、起動するPCによっては期待する結果になりません。
環境に依存されずに確実に指定した部分を抽出する方法がないかアドバイス頂けませんでしょうか。

宜しくお願い致します。

No.456 2014/11/17(Mon) 19:03:48
Input タグ IESETDATA / Nagatani
いつも質問ばかりで申し訳ありませんIE11とPRO5.0.3.0を使用していますがRecIeを使用してもホームページアドレスになるため簡素化できないでしょうか?

ビックカメラの検索ボタンで「要素の検索」には下記の用に書かれています。

<input onclick="javascript:inputCheck();" type="button">

アドバイスよろしくお願いいたします。

No.449 2014/11/16(Sun) 18:14:11

Re: Input タグ IESETDATA / Nagatani
お疲れ様です。ビックカメラと記載致しましたが、ヨドバシカメラの誤りでした。
また、<input onclick="javascript:inputCheck();" type="button">
IE.NAVIGATE("javascript:inputCheck();") // Input
で無事解決致しました。
ありがとうございました!

No.453 2014/11/17(Mon) 09:09:08
powershell戻り値の文字列比較 / satocha
powershell関数の戻り値と文字列の比較が意図通り動かなかったので調べてみました。
会社のWin7、UWSC5.03で次のテストプログラムを実行すると、順に、5、True、0と表示されました。
ps ="$true"
ps_out=trim(powershell(ps))
msgbox(length(ps_out))
msgbox(ps_out)
msgbox(ps_out="true")

一方、私物PC(VirtualBox上のWin7、UWSC5.03)では4、True、1となり文字列比較の結果が異なります。さらに調べると会社PCではunicodeのBOMが出力されているため文字比較がおかしくなっていることが分かりました。
違いの原因は会社PCのpowershellバージョンがWin7デフォルトの2.0で、私物PCは4.0にバージョンをあげていることだとにらんでいます。
とりあえずの措置として、powershell出力に次のdebomをかませていますが、
function debom(str) //str先頭2バイトががユニコードのbom(0xFEFF=65279)なら取り除く
result = str
if ( asc( str ) = 65279 ) or ( asc( str ) = 65534 )
result = copyb( str, 2)
endif
fend


どうしてもコードが煩雑になってしまいます。
Windows側に原因がある可能性が濃厚ですので、UWSCが対処しなければならない問題ではないかもしれませんが、powershell関数でBOMを取り去るか、せめて、trim関数で取り除けるようになっていると助かります。

No.444 2014/11/16(Sun) 02:13:51

Re: powershell戻り値の文字列比較 / umiumi
確認しました。
対処します。

No.451 2014/11/16(Sun) 23:59:22
全796件 [ ページ : << 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ... 80 >> ]