1 :
1 :
2007/02/22(木) 19:31:02 ID:M9z6MPve0 いろいろ遊べる使えるスクリプト言語 MortScript のスレ立てました
スクリプティングのtipsやhelpなど、
「英語マニュアルがわからない」という人も
謙虚に質問しつつ教えてもらいましょう
http://www.sto-helit.de/
2get
デンマーク製、EmacsCEとお里が同じだね。
unicode(日本語)使えないみたいだし、正規表現無いし、
という点ではちょっと貧弱かなー。
Visual Basic似でとっつきやすいというのはありそうですが。
しかし、おおおっと!!!! RunAt()は熱いね!!
UNIX Timeで指定できるから時間計算が楽だ。
しかも、RunOnPowerOn()、RemoveNotifications()もあるし。
これができるものを探していたよ。
>>1 GJ! nscriptmのRunAppAtTimeは
最近のデバイスではうまく動かないみたいだったから。
電源管理機能もあるから、面白いことができそう。
nscriptm
http://s-k.al.ru/nscript.html ざっとマニュアルを見たところ、unicode使えなさそうという点を除いては
なかなかユーティリティ的に使い手がありそう。
RunAt()の実験と合わせていずれブログのネタにさせてもらうよ。
ただ、このスレ3年で100行けばいい方だろうね(笑)。
4 :
1 :2007/02/22(木) 23:45:31 ID:M9z6MPve0
>>3 ようこそ!
俺も最近いじり出したんだけど面白いよ
RunAt()つかって、「無線LANに繋がってるかどうか」で
複数メールアカウントの自動巡回の頻度を変えるスクリプトができた
スレ周知と保守を兼ねて、しばらくはageておくれよ
この板のプログラム系のスレの惨状を見れば分かるけど、 無駄なあがきだよ。 それに1年〜2年放置してても落ちないし。 落ちるかどうかはageてるかどうかでなくて、 最終書き込みのタイムスタンプで判定されるよ。 ところで喜び勇んでRunAt()を使ってみたけど、サスペンドから起きない。 >The PPC will wake up from standby if necessary. とあるから、起きてきてもいいはず。 機種はiPAQ h2210。そっちではどう? ■Mort.mscr # 10秒後にMort2.mscrを実行 RunAt(Timetamp() + 10, "¥My Documents¥Mort2.mscr") # サスペンド PowerOff ■Mort2.mscr PlaySound("¥Windows¥KeyDown.wav") Message("Time to Up " & TimeStamp())
というか、できているんですかね。機種は何ですか? 正に同じことをやろうとしていた。 サスペンドから起こす ↓ { ネットワークつなぐ ↓ QMail3巡回かける ↓ メールきてたら何かで知らせる ↓ ネットワーク切断 } ↓ サスペンド { から } まではQMail3だけでできるかな。 MortScriptはネットワークの死活判定ができるから、 サスペンド移行もできるなーと皮算用していたんだけど。
7 :
1 :2007/02/23(金) 03:54:00 ID:hEPHOGja0
>>5 age/sageの件了解。
こっちはW-ZERO3 WS003SHだけどRunAt()は普通に走るよ
PowerOffからも起きる。
>>5 さんのスクリプト自体を試したわけじゃないが、
> RunAt(Timetamp() + 10, "?My Documents?Mort2.mscr")
「Timetamp」はtypoだよね、念のため。
"My Documents" にMortScript.exeも入ってるの?
そうじゃなければ、"Mort2.mscr"は、MortScript.exeの
実行パラメータとして指定しなくちゃいけないはずだよ。
>>6 接続に関して、少なくとも俺の環境では、
MortScriptのConnected()の返事は当てにならないので
RegRead()で該当レジストリの値を読んで判断させてるよ。
参考までに、スクリプトうpしようか?
あなたマカーだね? どうでもいいが。 ZERO3では起きるか。いいなー。 ZERO3が欲しくないがゆえにh2210で頑張っているんだけどな。 WM5以降にしか無いAPIなのかな。 timetamp() => TimeStamp() はtypo。h2210を前に、Macから書いているという状態。 10秒たった後に電源入れてみると、電源入れた瞬間に 音出てダイアログが表示されるから、RunAtの引数については 大丈夫だと思うんだけど、後でやってみよう。 うpよろしく。
ちなみに、文字列系の関数、日本語も大丈夫だね。 とりあえずShift-JISのテキストを、 バイト単位じゃなくて文字単位で処理してくれる。 ダイアログ系にも日本語表示されるし。 マニュアル見るとUnicodeで書くな! とか書いてあるから、 だめだと思っていたんだけど。 あと、cabでインストールされるテキストのマニュアルが古い! Split()、Time()使おうとしたら無いとか言われるし。
10 :
1 :2007/02/23(金) 18:35:55 ID:hEPHOGja0
>>8 いかにも俺はマカー。なんでわかった?w あ、バックスラッシュか。
そんなことより
>>8 さんよ!解決した&面白い事がわかったよ
>>5 のスクリプトを実際に走らせてみた。
たしかにZERO3でも起きない。おかしい。
そこで、シンプルにこうしてみた。(全角の¥ですまん)
RunAt(TimeStamp() + 10, "¥Windows¥KeyDown.wav")
PowerOff
すると、音が鳴ってからサスペンドすることがわかった。
つまり、「TimeStamp() + 10」が効いてない。
おかしいなー、俺のスクリプトとどこが違うんだろうと考え、
ためしに「TimeStamp() + 60」にしてみた。
すると、60秒後にちゃんと音が鳴って、起きる。
10秒では駄目、60秒はOK。ならば何秒以上ならいいのか?
少なくとも俺の環境では
「TimeStamp() + 11」で、問題なく走った。
「10秒以内のNotification Queueは無視される」ということらしい。
12 :
1 :2007/02/23(金) 19:27:28 ID:hEPHOGja0
1さんありがとう。1さんのスクリプト、流れ消えるとこじゃなくて、 ちゃんと後に残しておいた方がいいと思うよ。 しかし、ダメだった。 動こうとするものの、h2210のRunAtによる起動後は シリアルが寝ているらしく、ダイアルアップできない。最悪ハングしてしまう。 自分で自分をRunAt()で呼び出すスクリプトで、 呼び出されてからSleep()で十分にデバイスが起きるまでの時間を設け、 その後にRun()で呼び出す、ということはやっているんだけどね。 一瞬CFスロットのPHSカードのLEDが瞬くのだけど、ダメだ。 この機種固有の問題なんだろうね。デバイスが起きている分には、 # ダブルコーテーション二つはダブルコーテーションのエスケープ表現 Run("¥hoge¥bin¥q3u.exe", "-g ""hogecourse""") で巡回を始めてくれるんだけどね。 デバイスが起きてるんなら普通に巡回すればいいし(w おいしいところをZERO3に持っていかれっぱなしでくやしい! QMail3独自のダイアルアップ方法に問題があるかと思って、 # 有効なコネクション名はConnect("Test", "Test")で分かる Connect("internet") でRunAt()からのダイヤルアップを試みてみるも、ダメ。 小型&CF+SD2スロWMマシンの動作確認報告待つ。 場合によっては買い替えてもおk。
どうしてももやもやして、 CASSIOPEIA E-2000を引っぱり出して試してみた。 バッチリ動く。……orz サスペンドから起きる→QMail3でダイヤルアップ開始→ 巡回→切断→OSの消費電力設定でサスペンド 液晶が消えたまんまだったり、シリアルが寝ていたりするh2210と違い、 E-2000ではRunAt()で起きた瞬間に普通に起動する。完璧だ。 ひょっとしたらQMail3のマクロにsystemコマンドとかあるのかな。 だとしたら、巡回終了次第サスペンドというのができるかも。 しかし、いいマシンだがE-2000では巨大過ぎる。 体感h2210の2倍ぐらいある。今更持ち歩けない。
15 :
1 :2007/02/24(土) 18:10:59 ID:hlp9tbC/0
>>13 これはしょせん「俺スクリプト」の域を出てないからw
まぁこのスレが多少でも盛り上がって来たら、
スクリプト置き場でも作ろうかね。
デバイスが起きないかぁ。
PowerOn っていうコマンドがあるとよかったのにね。
h2210+CFGPS2でログ取ってみた。 SetComInfoはマニュアルに記載が無いのでフォーラムを見てやってみた。 # CFスロット p = "Com7:" # COMポートのセッティング。変数は%でくくると確実 SetComInfo(%p%, 4000, 4800, "None", 8, 1, "None") # 一応ウェイト。単位はms Sleep(1000) # いちいちポート閉じてしまうので、 # PHSカードにコマンド送っても意味無かった # WriteFile(%p%,ReadFile("¥command.txt")) res = "" n = 1 While(n <= 5) # ReadFileはポート開いて読み出してポート閉じてる res = res & "^NL^" & ReadFile(%p%,200) n = n + 1 EndWhile # ReadFileのオーバーロード。 # 変数resにファイル%p%から全読みしたストリームを代入 # ReadFile(%p%, res) # ログをファイルに保存 WriteFile("¥gps-log.txt", res) Message("Done") 本当はPHSの位置情報を取得しようとしたんだけど、 いちいちWriteFile()、ReadFile()はポート閉じてしまうので、 一方的にデータ送ってくるGPSみたいなのしか相手にできないみたい。
17 :
1 :2007/02/25(日) 03:22:39 ID:kXTvnaDI0
>>16 ふぇ〜 俺スキル無いからよくわからんよw
関係ないけど、今日わかったこと覚え書き。
TimeFormat()はv4.0RC4ではうまく働かない
要RC9
18 :
1 :2007/02/25(日) 03:25:15 ID:???0
>>17 自レス
FormatTime()のまちがいね
PHSカードから位置情報を読み出す場合は、 コマンド送って応答待ってコマンド送って応答待ってという 双方向のやりとりが必要だけど、 ReadFile、WriteFileでCOMポート開いても、 片道で終わってしまうからダメということです。
フォーラムをながめているとh4150を使っている外人が、
RunAt()に絡んでDisplayOn.exeという自作らしきアプリを使っている
事例に当たった。恐らくh4150でもh2210と同じような感じなんだろう。
http://www.ppc-welt.info/community/showthread.php?p=827797 ……とよく見ると、その下の方でRC8にそれが取り入れられて、
ToggleDisplay()という関数が追加されていることが分かった。
RC4が最新だと思っていた。RC9とともに配布されているマニュアルを見ると、
確かに記載されている。ということで、
ToggleDisplay(1)
を入れたら、何とh2210でもサスペンドから起きて液晶が点灯。
しかし、ダイヤルアップでハングしてしまう。
できることもあるけど、不安定。やっぱりだめ臭いな……。
21 :
1 :2007/02/25(日) 22:09:53 ID:kXTvnaDI0
ToggleDisplay()は見落としてたや。 素人考えかも知らんが エWindowsエrnaapp.exe -e"(アカウント名)" で強引にダイアルアップするのもだめなのかな…? もっとも、これだとメールアプリ巡回コマンド出した時点で connmgr.exeがエラーメッセージを吐くだろうから それは別に何とかしなくちゃいけないだろうけど。
22 :
1 :2007/02/25(日) 22:14:03 ID:???0
しまった。。。 ¥Windows¥rnaapp.exe -e"(アカウント名)"
1さんありがとう。rnaappは知っていたよ。 ハングアップした理由が分かった。 QMail3をSDに入れていたことだった。 そんなこと分かっていたはずなんだけどね。 最近Linux Zaurusばかり使っていたので忘れていたよ。 RAMに入れ直したら快調! やりたかったことがやりたかった機種でできるようになった。 Vibrate()でLEDの色を変えることができているから これで振動モーターを動かせないかな。 ボタン型の振動モーターの買い置きがあるので。 トランジスタ、逆起電力防止用ダイオード、 電流制限用抵抗ぐらいでできそうなものだけど。
24 :
1 :2007/02/26(月) 18:14:46 ID:Bn6brWRj0
>>23 > QMail3をSDに入れていた
・・・不具合の原因ってのは
意外にそんなことだったりするよねーw
ともあれ、よかったよかった。
> これで振動モーターを動かせないかな。
それじゃMotorScriptじゃんw
ほっほっほ。 今日はサブルーチンについて調査。 サブルーチン定義の基本形。 Sub subname #lines EndSub 引数、返り値無し。 変数はすべてグローバルなので、重複に注意しつつ必要な引数は変数で渡す。 全部参照渡しだと思えばおk? 定義はすべての主処理の後にする。 さもないと、MortScriptはサブルーチン定義を見つけた時点で 実行を止めてしまう。主処理の前にサブルーチン定義をしてしまうと、 何も実行されない。前半主処理、後半サブルーチン定義とする。 定義したサブルーチン呼び出し方法。 Call("subname") 要ダブルコーテーション。これのみによって呼び出せると考えた方がいいみたい。
MortScript全体に言えるけど、変数への値の代入は、 Var = "value" とできるけど、変数の参照は 「Var」でできる場合と「%Var%」でないとできない場合がまちまち。 できない場合の代表例は、 Repeat %Var% #lines EndRepeat Message(%Var%) 特にRepeatの方は要注意。これを「Repeat Var」と書くと 無限ループの出来上がり。 以上、4.0 RC10で試した結果。 つーか、整合性の取れていないドキュメントをどうにかしてくれ。 WiKiとかにまとめといてくれって感じ。ちょっと前のバージョンとも 相当違うみたいで、変革期ゆえしょうがないのかもしれないけど。
Repeat Var #instruction(s) End Repeat だとダメで、 Repeat(Var) #instruction(s) End Repeat だと大丈夫なのね。
29 :
1 :2007/02/27(火) 05:46:02 ID:PBiFTIO10
http://www.sto-helit.de/ の方は、最初見たとき萎えた。
むしろ、釣りなのかと。
Message()もカッコがあれば%無くて大丈夫だね。
勢いで書いている。
スクリプトはほぼ書けたけど、
カードスロットの状態判定が難しいな。
今のままではカードが刺さってなくても巡回しようとしてしまう。
HKCUのStateってWM2003には無くて、
状態の取得が難しいのではないかと。
しかし、そのStateって凄くいいなあ。
動的に値を変えるレジストリか。
UNIXの/proc/みたいで格好いい。
31 :
1 :2007/02/27(火) 18:58:52 ID:PBiFTIO10
これは凄いね。MortScriptのスクリプティングに全面的に役立つ。 レジストリの検索ができる。TREを速攻でアンインストール。 ウインドウハンドルが分かるので、 ウインドウメッセージを送るタイプのスクリプトを書いてみよう。 Notificationのエントリの確認、掃除までできて、 今のテーマにうってつけ。 ブログに書いたんだけど、このNotificationの掃除 をするアプリのことを書こうと思って探せなくて 困っていたところだった。これを紹介することにしよう。 WM2003ではちょっと画面が変だけど、許容範囲。 1さんありがとう。
33 :
1 :2007/02/28(水) 01:37:53 ID:tRIkJZD50
強力だよねこれ。 知ってるかとも思ったけど、役に立ってよかったです。 関係ないけど、PPCを鳩時計にするスクリプト↓書いたw
34 :
1 :2007/02/28(水) 01:39:45 ID:tRIkJZD50
#CuckooClock.mscr#####################
#MortScript 4.0 RC9
#このファイルはMortScriptと同じフォルダに入っているので
thisFile = SystemPath( "ScriptPath" ) ¥ SystemPath( "ScriptName" ) & SystemPath( "ScriptExt" )
#鳩時計の音は
http://www.wavsource.com/sfx/sfx.htm でゲット
#Layer III エンコードのこのwavは、W-ZERO3では
#そのままでは鳴らなかったので、PCMエンコードに変換済み
Snd = "¥My Documents¥My Sound¥cuckoo_clock1_x.wav"
#テスト時のnotification queueが溜らないように
RemoveNotifications( thisFile )
t = TimeStamp()
#Unix Time Stampは閏秒を考慮しないそうなので簡単
RunAt( t + 3600 - (t MOD 3600), thisFile )
#FormatTime( "h" )は12時間表記で「時」を返す
#ひと桁時の時は「04」といった文字列を返すが
#Repeat()はそのままで「4」と認識してくれる
Repeat( FormatTime( "h", t ) )
PlaySound( Snd )
EndRepeat
#End of Script#########################
36 :
1 :2007/03/01(木) 01:36:18 ID:ybKLhOhl0
>>35 ほほう
面倒くさがりの俺とちがって
ちゃんと他人の利用も考えてエラー処理などもしておられますなぁ。
ウィンドウタイトルだけじゃなく、クラス名でも指定できたらいいのにね。
あと、俺が欲しいコマンドは
フォルダの中のファイル名をリスト値で返す
GetFiles( folder )みたいなやつ
これがあったら、Operaブラウザのキャッシュフォルダ覗かせて
現在閲覧中ページのソースコード表示させたり
画像に名前付けて保存したりできるだろうに。
鳩時計には負けん
http://moyashi.air-nifty.com/hitori/2007/03/windows_mobile__dcbf.html MortScriptのイテレータはあなどれんよ。
> ForEach variable in files ( search expression )
> ForEach variable in directories ( search expression )
確かに案外Window関連の関数が貧弱で弱った。
このウインドウのこのコントロールを直撃したい、というのができないね。
あと、ダイヤルアップ切断した後の確認ダイアログのOKボタンがなぜか押せない。
RC10が公式版に昇格してるようです。
ところで1さんはAppleScriptやるんでしょ。僕も結構書きます。
機種板で暴れているのを確認。
TigerのSystem Eventsはかなりパワーアップしてて、
嫌いだったGUI Scriptingを最近見直してます。
38 :
1 :2007/03/01(木) 20:14:48 ID:ybKLhOhl0
>>37 音声読み上げですか
新着送信元メールアドレスを抽出するのは大変そうだな
GetClipText(s_clip) は、新しい文法で書くと
s_clip = ClipText() だね
> MortScriptのイテレータはあなどれんよ。
なるほど。ちょっと力技っぽくなりそうだけど、出来そうだね
あとでやってみます。
AppleScript 書きますよ 昔は日本語版言語もあったよね
「アプリケーション "Finder" について
x を y にする」みたいなw
訳あってまだOS9.2なので、最近のは知りませんが。。。
機種板めっかっちゃったw 暴れてないよw
…暴れてたかなぁ?
39 :
1 :2007/03/02(金) 00:34:45 ID:KxLaQlKE0
1さん乙です。できましたね。 自分的にはやはり暴れていた認定。 AppleScriptは日本語のときに手を付けて一度挫折。 挫折というか、意義が見い出せなかった。 Mac OS Xになってから書けるようになったよ。 RC10になって同時にマニュアルが更新されていたので、 ちょっとながめてみると、BigMessage()という 関数を発見。なかなか使い手がありそう。 BigMessage(ReadFile(\ "\Program Files\MortScript\FliteFile.mscr"),\ "ソースコード") pieでコマンドラインからJavaScriptを実行できることを発見。 Run("iexplore.exe", "javascript:alert(1+1);") しかし、URLエンコードされて渡るので、全然だめだ。 全体をeval(unscape())で囲ったら? と思ったけど、ダブルコーテーションがエスケープされるので無理。 Windows Mobile用のNetFront3.1は、 「javascript:」を解釈してくんない。 つまらんのう。ZaurusのNetFrontはできるのに。 Operaはどうですか。
41 :
1 :2007/03/02(金) 04:13:32 ID:KxLaQlKE0
>>40 moyashiさんサンクスw
AppleScriptは処理が重いけど、
それこそNetscapeと組み合わせて
ちょっとイケナイことに使ったりしてたなぁ。w
RC10はまだ入れてないや。BigMessage()は、スクロールバー付きのメッセージウィンドウかな。
Input ダイアログにdefault valueが設定できるって書いてあるね。
俺の環境では、PIE自体がJavaScriptをまともに扱えない
NetFrontは入れて無いし、Operaでやってみた。
Run("¥Program Files¥Opera¥opera.exe", "javascript:alert(1+1);")
ネットに繋がってる状態では、「警告!2」って出たよ
でも、繋がってない時には無駄に電話掛けに行っちゃう。
ローカルでの使い出はあんまり無さそう。
「POSTメソッドのみ有効なFormにクリップボードから一発送信」
みたいな使い方は出来そうだけど。
ここではコテハンはやめておくんなまし。 僕もこないだSafariをブン回していけないことをしてみたけど、 ちょっと不安定で一晩たつと止まっててダメだったからRubyにした。 GETメソッドなら、通常の引数でいけるしな。 URLエンコードは別途手当てしないといけないけど。 お、Operaいけそう? Run("▼Program Files▼Opera▼opera.exe", "javascript:var a=""test"";alert(a);") これではどう? 案外 window.scrollTo(0,0); window.scrollTo(0,10000); みたいな一言JavaScriptでも(動けば)便利ですよ。 こういうのが動くんならW-ZERO3考えてもいいなー。
43 :
1 :2007/03/02(金) 21:20:04 ID:KxLaQlKE0
>>42 > Run("▼Program Files▼Opera▼opera.exe", "javascript:var a=""test"";alert(a);")
それもいけるよ。document.write()も出来る。
だが、言い忘れたんだけど、Operaは常に新しいタブを開いてJavaScriptを実行するので、
> window.scrollTo(0,0);
> window.scrollTo(0,10000);
既に開かれてるタブを操作するのが無理っぽい
考えてみたら、これじゃフォーム入力も無理だよね
そもそも、JSでタブをコントロールするのって、どうやるのか(できるのか)知らないw
うーん残念。 タブっつってもjsから見たらwindow扱いでしょう。 既にあるwindowのリファレンスってDOMたどったりして取れるのかね。 セキュリティ的にできなさそうだけど。できるわけないよなぁ。 それができたらAjaxで気取られること無く、 他のウインドウのValueとか抜いてXHRでどんどんゲットできちゃう(w 今度Zaurus用のOperaでやってみよう。
45 :
1 :2007/03/03(土) 05:53:25 ID:/lknZ+Mu0
Opera Mobileにはページ内検索機能がないので
>>39 のスクリプトを応用して
指定の文字列を強調したページ再表示するスクリプトを書こうとしたけど
Splitのseparatorが1文字しか駄目ということで、挫折。。。
Length( <string> )も無いからFind()にも広がりが無いし。。。
まぁ、仮に複数文字列をseparatorに指定できたとしても
htmlタグ中の文字列をomit出来ないので(≒正規表現が使えないので)
もともと無理っぽいんだけどね。。。
Length()あるよー。22P
http://mort.sto-helit.de/downloads/mortscript/MortScript-Manual.pdf ForEach variable in charsOf ( string )
という文字列を1字ずつスキャンするイテレータもあるから、
根性があればできるような気がする。
最短一致! 最短一致! とかハッスルしながら手動正規表現。
インデックス出したらSubStr()で消す文字の前後で三つに分けて結合。
そういう用途にはnScript/nScriptmがいいね。
もっとnScript/nScriptmは使われていいと思う。
2++のプラグインに使われているけど。
むかーし書いたなあ、そういえば。
ただ、何でも正規表現でやろうとすると落ちちゃうんだよね。
PC用の2++プラグインSDK、PC用2++では動くのに、
実機だと落ちるということがあって難儀した。
47 :
1 :2007/03/03(土) 14:18:41 ID:/lknZ+Mu0
>>46 ほんとだ。Length()あるね。。。サンクス
そりゃあるよなぁ。なんで無いと思ったんだろう。。。
酒飲みながらやってるとこういうことになるw
48 :
1 :2007/03/03(土) 15:41:30 ID:???0
わかったぞ! 前に落としたRC9のマニュアルにはLength()無かったんだ。 常に最新のドキュメントを詳細に読まないとだめだなw
僕もRC10が出たときにマニュアルも更新されたんだー、と見てて、 Length()あったんだ? あった。あったっけ? 無かった? 無かったろ? ……ま、いいや。と思っていたので即答できました。 Acrobatでテキスト書き出ししてDiff取ってみようかなと思ってマス。 2P増えているんだよね。
50 :
1 :2007/03/04(日) 04:15:56 ID:bf9kpYKV0
中の人って、けっこう大雑把なドイツ人だよねw
まぁ俺も他人のこと言えないけど
検索スクリプト、たぶん出来たと思う
http://w-zero3.org/uploader/src/up0251.txt htmlタグの中か外かを判断するのに
最初 ForEach <v> in charsOf ( <string> ) 使ったら
ものすごい時間かかるので
ReverseFind()使ってみた
たいしたものじゃないわりに結構苦労したw
51 :
1 :2007/03/04(日) 04:25:30 ID:???0
いっぽうロシア人は nScriptを使った
乙です。正規表現の無い処理系でテキスト処理したくねえ……。
AppleScriptではSplitとかReplaceとかSubstrとか毎回書いちゃってたりしますが。
そのうちSortもソラで書けるようになろう。
CeGCCでコンパイルしたqkc置いときますね。
つ[
http://moyashi.air-nifty.com/qkc-arm-wince-1.0.zip] ……べ、別にあんたのためにコンパイルしたわけじゃないんだからねっ!
pathToFile = "\path\to\filePath"
Run("\path\to\qkc.exe", "-s " & pathToFile)
-s to Shift-JIS
-e to EUC
-j to JIS
qkcはパイプやリダイレクトを使わずに済む代わりにunicodeに対応してない。
本当ならnkfを貼りたかったんだけど、動作が変だ。
Runではパイプとかリダイレクト無効だろうし。
nScriptもunicode対応してなくて、時代を感じる。
ほっほう!! みたいな構文があってリスペクトしているので、
ぜひnakkaさんにはnScriptmのフィーチャーまで取り込んで、
リニューアルをお願いしたいところ。
53 :
1 :2007/03/04(日) 16:51:17 ID:???0
>>52 俺もAppleScriptでは慣れてるはずなんだけど
ここのところはPerl頭になっててたいへん…w
ツンデレthanks!
早速試させてもらったのですが…何も起きません。
解凍したcegcc.dllとcegccthrd.dllをWindowsフォルダに入れて
qkc.exeはProgram Filesに入れてありますが
スクリプト走らせても
ファイルマネジャー上でqkc.exeをダブルクリックしても何も起きない。。。
エラーも出ません。
何この良スレは・・・
55 :
1 :2007/03/04(日) 17:25:14 ID:???0
PocketConsoleを入れない限りは、画面上で何も起きなくておk。
逆を言えば、「qkc(またはいずれかの構成ファイル)が見つかりません。」
と出ないなら動いている証左だが。
http://www.bluishcoder.co.nz/2007/02/factor-on-windows-mobile-5.html -sオプション付けててShift-JISのソースを処理してるなら、
Shift-JIS to Shift-JISだから何も起きなくて当たり前。
一回-eオプションでテキストをEUC-JPにしてみてPocketWordとかで開いて、
バケバケになってるのを確認して、再度-sで変換とか。
1さんがそんなマヌケなことするわけないよなあ。
空白を含むパスに処理するファイルがある場合、クオートしないといけない
かもしれない。もしくは、空白を含むパスを回避する必要が……。
とりあえず、処理するファイルをルートに置いてやってみてください。
WMにはカレントパスという概念が無いそうで、
パスは全部ルートからの絶対パスで指定する必要があります。
世のZERO3勢の勢いを見ていると、
何か買っとかないと乗り遅れた気分になる……。
EM・ONE買っとけ♪
58 :
1 :2007/03/04(日) 19:03:16 ID:???0
>>56 eucで書いたtxtファイルを作って試してたんだけど、
> 空白を含むパスに処理するファイルがある場合、クオートしないといけない
それでした。。。; すみません&ありがとう
Filepath = """\My Documents\text-euc.txt"""
Run("\Program Files\qkc.exe", "-s " & Filepath)
これ↑でばっちりsjisに変換されてました。thx again.
ZERO3(俺のは無印)はまぁ、「PDA+無線LANカード+モデムカード」と考えれば
めっちゃ安いからねー
値段を考えないなら、WM5(6)機であればZERO3じゃなくてもいいとは思うけど。
59 :
1 :2007/03/05(月) 00:13:42 ID:???0
>>50 のスクリプトを一応日本語検索対応にしてみた
Sjis_file = (ファイルパス)を設定しておいて
最新キャッシュファイル選んだ時点でSjis_fileとしてコピー
RunWait( "\Program Files\qkc.exe", "-s """ & Sjis_file & """" )
#Run()でやったら、qkcの変換が終わる前に処理し始めて出力ファイルがぐしゃぐしゃに。
これを読み込んで、検索。
metaタグのcharsetも変えなくちゃいけないけど
コードをきれいに置き換えるプロセスが面倒なので
charset=euc-jp"> → charset=shift_jis"> こうするんじゃなく
charset=euc-jp"> → charset=shift_jis" euc-jp"> にして誤魔化すことにしたw
#Whileループの直前
csIdx = Find( ToLower( aStr ), ToLower( "charset=" ))
If( csIdx )
preStr = SubStr( aStr, 1, csIdx - 1 + Length( "charset=" ))
postStr = SubStr( aStr, csIdx + Length( "charset=" ))
WriteFile( Found_file, preStr & "shift_jis"" ", 1)
aStr = postStr
Idx = Idx - Length( preStr )
EndIf
61 :
1 :2007/03/05(月) 03:21:06 ID:???0
>>60 いつも貰ってばかりですいませんなぁw
でも、う〜ん。。。
rarファイルが解凍できないや。
普通のcmd.exeが落ちて無いかとおもってぐぐってみたが、
母艦が必要なのしか見つからなかった。
まぁ、MortScriptスレとしては
正規表現使っちゃったらおしまいみたいな感じもするのでw
まさしく「nScriptでいいわけだが」てことだろうから
sedのお世話にはならずにやっていこうかとも思いますw
63 :
1 :2007/03/05(月) 19:44:42 ID:1Z5aMo2C0
64 :
1 :2007/03/06(火) 05:27:58 ID:???0
しかし、そろそろw-zero3.orgのうpろーだ使うのが 苦しくなってきたな。 どっかに良いうpろーだないかなー?
イイネ! 今日はRubyとPHPをいじくっているのでMortScriptは休憩。 RubyはPHSから位置情報取得>マップ表示orメール作成というやつ(Zaurus用) 現在地の緯度経度入りのURL作成まではチョロいもんだが、NetFrontに渡すと その瞬間SIGSTOPをくらって(?)止まってしまい困っている。 fgすると戻ってくるけど。
MortScriptでうpろだをつくるとか
67 :
1 :2007/03/07(水) 00:47:15 ID:???0
>>65 リナザウですか。
Windows(DOS)もLinuxみたいに、-hでパラメータ一覧が出たらいいのに
と常々思ってるんだが
あるいはMacソフトウェアのAppleScript用Dictionaryみたいなものとか
ディベロッパーキットとか落とさないと駄目なのかな。
なにせマカーなんで、不案内な部分が多いよ。
>>66 それはあれだな、
テレビのリモコンで電話をかけるぐらい難しいなw
そっかorz
引数を取るプログラム少ないんでは。
まじめなプログラムはヘルプに書いてあるよ。
その代わり、OLEサーバ(OLEオートメーションサーバ)実装のプログラムは、
(表現が正しいか分からない。つまり、OLEクライアントからCreateObject()で
利用できるプログラム)自分自身に関する情報をオブジェクト自身に保持している。
それらの情報はオブジェクトブラウザを使うと見ることができるよ。
身近なところでは、ExcelのVBエディタに付いているオブジェクトブラウザとか。
OLEサーバになるプログラムはかなり多いと思われる。オブジェクトブラウザで
見てみると、多過ぎて何だか分からないぐらい。
OLEの世界に拓けたポテンシャルを目の当たりにすると、
Windowsに対する認識を改めるかも。
例えば、
http://www.hi-ho.ne.jp/babaq/basp21.html こういうのを使うと、
Excelを含むいろーんな処理系からbasp21の機能を利用することができる。
AppleScriptのOSAXみたいなもんだね。自分自身の中にDictionaryを持っている。
70 :
1 :2007/03/07(水) 17:12:45 ID:???0
>>69 なるほどー。
いや、Windows PCでのプログラミングとかVBマクロとかでは
Macよりいろいろ出来て融通が効くんだろうなぁ、
っていうイメージは持ってるよ。
WM機単体上でのスクリプティングで、
たとえばこないだのtmail.exeの "-service" "-sync" とかを知るのに苦労したから。
"-to" とか "-subject" "-body"とかは、ぐぐればすぐ見つかるんだけど
少なくともMicroSoft製のexeのパラメータだけでもいいから
一覧にまとまってればスクリプト作り易いのにな、と思って。
うーん、そういうのは知らないね。 いや、あればググって出てくるっしょ。
72 :
1 :2007/03/07(水) 22:13:08 ID:Ne0E1r5t0
根性あるね!! その美学分かる。
Sigmarion IIIでもMortScript動いた。 strings MortScript.exe > ~/mortscript.txt でテキスト抜いて依存してるdll調べた。 ちょっと変なとこあるけど、核心であるRunAt()、TimeStamp()は動いた。 Sigmarion IIIは普通に起きてきたよ。 こういう環境が最初からあれば、もっとH/PCは活躍したはずなのに……。 そういえば、Win32でもServiceだったかタスクスケジューラにタスクを登録すると、 定期的にサスペンドから起きて何かするってできたよな。 以前やったことがあるが、できたんだかどうだったか忘れてしまった。
76 :
1 :2007/03/08(木) 19:22:12 ID:5I6UOWTj0
まぁ一度作っておけばあとが楽だしね。 こういうめんどくさいルーティーンもけっこう高速に処理するね。 string コマンドに詳しくはないけど、 MortScript.exeファイルを強引にテキストエディタで開くと、 いちばん下の方に COREDLL.dllAYGSHELL.dllcellcore.dllCEShell.DLLmfcce300.dll ole32.dlltoolhelp.dllWININET.dll LoadLibraryWGetProcAddressACacheSyncCLSIDFromStringProcess32 NextInternetOpenW ていう文字列が見えるね それにしても、いろんな機種持ってるなぁw
77 :
1 :2007/03/08(木) 21:18:24 ID:???0
RC11入れてみた 作者コメントどおり、BigMessage()の ワードラップされない不具合が改善されてるね
テキストエディタで開けば見えるけど、美学ってもんがね……。 っていうか、ホーミンさんのExecutabilty Check toolで、依存dllのチェック、 依存しているdllのファイル名の変更が可能、とご本人からコメントをいただいてしまった。 MortScript.exeをExecutabilty Check toolで書き換えてしまうわけです。 すると、Pocket PC用のmfcce300.dllをmfcce300p.dllなどとリネームして H/PC用のmfcce300.dllと共存可能とのことです。 そういえば、昔何かで使ったような気がした! ホーミンさんには頭が上がりません。 いろいろ持っているよー。まあ、好きだからね。 RC11は入れるだけ入れて内容はチェックしてなかった。 ということで、ダイアログ進行は続く。
ため語と敬語が混ざってるな
間違い。 ×mfcce300.dllをmfcce300p.dllなどと ○mfcce300.dllをmfcce30p.dllなどと バイナリ書き換えなので、文字数が変わるとマズいよね。 ホーミンさん本人はちゃんと下記のように書かれていたです。 (常体敬体混在)
81 :
1 :2007/03/09(金) 19:11:01 ID:???0
>>78 美学は大事だよね。
まぁ俺の場合は「持たざる者の工夫」程度のものだけどw
ホーミンさん降臨ですか。
Mortさんもそうだが、フリーウェア開発者さん達には本当に感謝です。
お客さん来ないねーw
機種板ZERO3ソフト関連スレの流れを見つつ
誘導かけようかとも思ってる
ホーミンさん降臨してないよ
以前から、WindowsでAHKとかLLなスクリプト言語ばかり弄って 遊んでましたが、最近、W-ZERO3[es]購入しまして、このスレ見てPDAにも AHKみたいな言語があったのかと喜んでおります。 それで質問があるのですが、開発環境ってどうしてますか。スクリプト 書くのはPC上ですか、それともPDA上ですか。WM5エミュレータとか使って テストするのでしょうか。PDAでスクリプト書くのは厳しい感じですが。
84 :
1 :2007/03/09(金) 22:50:33 ID:???0
お客さんきたーーーーw
>>82 >>78 さんのブログ上に降臨、って意味です。
>>83 俺はマカー with ZERO3 (003SH) なんで、長いものはMacで書いて
FTPでZERO3に送って、動作確認しつつ単体上で手直し。
短いものは最初から単体上で書いてます。
>>63 でうpしたCQ用コマンド集を使ってるので、けっこう楽です。
[es]だと画面が若干小さいから、単体上だとやり辛いかもね。
>>83 敬体に統一。僕はh2210上で高速タッピングしてます。
デバイス上でないと動かない関数が結構あるので、母艦で書きたければ、
母艦で書いて、それをスムーズにデバイス上で実行する手立てを模索すべきかと。
cecopy.exeという、ActiveSync中のデバイスにコマンドラインからコピーする
ツールを使うとかなり便利です。
Meadow / Emacs上で編集中のファイルをデバイスにコピーする関数を書いてみました。
Cygwin入りの環境なので、パスのデリミタが怪しいのですが、僕の環境では以下は動きました。
適当にglobal-set-keyすれば、キー一発でデバイスにファイルをコピーできます。
デリミタは / でおながいします。
Emacsに限らず、マクロ付いているエディタならできるかと思いますが。
(defun cecopy(to)
""
(interactive "scopy to: ")
(let ((f (buffer-file-name)))
(if (and f (file-exists-p f))
(progn
(if (not (string-match "/$" to))
(setq to (concat to "/")))
(if (eq (shell-command
(concat
"d:/cygwin/bin/cecopy.exe \""
f "\" \"" to (buffer-name) "\"")) 0)
(message "cecopy OK.")
(message "cecopy failed.")
))
))
)
Mac OS XだとMissingSync for Windows Mobileという製品を使うとデバイスを
マウントできるので、普通にEmacs等からデバイス上のファイルを編集できます。
Windowsの場合はマウントできないので、Rainerさんのftpdをインストールし
て、EmacsのTramp / ange-ftpからデバイス上のファイルを直接編集ってこと
ができると思います。(FtpSvrではコマンドが非互換だからかダメでした)
http://www.rainer-keuchel.de/wince/ftpd-ce.html PCで動くMortScriptが同梱されているので、PC非対応の関数を使ったスクリプト
を書くのでない限りは、PC上で書けますよ。
x86Emulator用のバイナリは無いので、エミュレータを使う手は使えないと思います。
>>85 MortScriptをH/PCで動かす記事を書いたときに、ホーミンさんに補足していただいた、
というだけの話です。
88 :
1 :2007/03/10(土) 18:26:42 ID:0MfJOW/10
89 :
1 :2007/03/10(土) 18:48:27 ID:???0
で、ZERO3上で書く時は多重起動可能なJUsquid使ってて、 このエディタは、現在開いてるファイル名をWindowタイトルとしてくれるので、 「現在編集中のスクリプトを走らせるスクリプト」をソフトキーに割り当てておくと便利。 #RunThisMscr.mscr################ this = "RunThisMscr.mscr" #スクリプト編集中じゃないときに立ち上げたいアプリを指定。たとえば… altApp = "\Program Files\Opera\opera.exe" #アクティヴなウィンドウ名を取得 aW = ActiveWindow() #自分で自分を走らせると無限ループしちゃうので If( aW eq this ) Message( sNam[1] & " I can't run myself!", "Error!" ) Exit EndIf #もしウィンドウ名(=ファイル名)の拡張子が.mscrなら Split( aW, ".", 0, sNam ) If( sNam[2] eq "mscr" ) #俺は全部の.mscrファイルをMortScriptフォルダに入れているので Run( SystemPath( "ScriptPath" ) \ aW ) Else #編集中じゃないときは別のアプリを立ち上げる Run( altApp ) EndIf #End of script############### 当然エディタで上書き保存後じゃないとだめだけど ソフトキー一発でテストできる。
90 :
1 :2007/03/10(土) 18:53:22 ID:???0
あ、まちがえた。。。 Message( sNam[1] & " I can't run myself!", "Error!" ) の「sNam[1] & 」は意味無いんで削除してください。 連投すまそ。
よく考えたらWin母艦でスクリプト書きなら、 ActiveSync同期対象フォルダで スクリプト書けばいい話でしたね。 Emacsならメジャーモード作って after-save-buffer-hookかなんかにadd-hookして、 保存したらcecopy()を実行などとすれば、 よりリジッドな使用感を作り出せますが。 僕はGSFinder+TQ内蔵エディタを使ってます。 拡張子を関連づけしなくても編集開始しやすく、 保存ボタンが下にあって使いやすいからです。 PWZ3は使う機会が無いですね。 「Windowタイトルにファイル名ネタ」先にやられてしまった……。
powertoysの中にcecopyが入ってたのね。知らなかった。 あと、rapistartっつーPCからPDAのプログラムを実行する プログラムも入ってた。 この二つがあればスクリプト作りがかなりラクになるな。
93 :
1 :2007/03/12(月) 01:28:30 ID:RdgPFHJJ0
RubyでPHSから位置情報取得、ブラウザで地図表示というのはとりあえずやり 切ったので(@Zaurus)、次なるテーマ。 ノートPCでも定期的にサスペンドから起きる→なんかする→サスペンドというのが できたので、それにかかずらわってます。 ちなみに、MortScriptのマニュアルがR11にアップデートされてました。 次なるMortScriptは、コマンドラインから使えるSNTPクライアントがあったの で、それ関連でしょう。実行させるプログラムが違うだけで、やることは QMAIL3と同じですが(w QMAIL3はカードが差さってないとダイヤルアップを実行しなかったけど、今度 こそカード検出が問題になるかな。
4.0がRCから正式版になってます。
96 :
1 :2007/03/13(火) 02:30:19 ID:VXFI70Dj0
PocketMappleの倍率バーを操作するスクリプトを書いているのですが、ColorAt で色コードがうまく取れません。 1:MouseClick(460,80) 2:Message(ColorAt(460,80)) 3:Message(ColorAt(460,120)) 4:MouseClick(460,120) 5:Message(ColorAt(460,80)) 2/3/5で表示されるコードが同じなのですが、見た目は 460,80 の位置と 460,120 の位置では違うのです。 気になるのが、MouseClickを行った後、ActiveWindowが空白を返してくる事です。 おそらく子ウィンドウがアクティブになっているのだと思いますが、もしかするとColorAtは子ウィンドウの座標を指定していることになるのでしょうか。
僕もDisconnect()の後に表示されるダイアログのOKボタンを押す処理を 書こうとして断念したことがあります。 何か、それと関係した問題であるような気がします。
壱百
101 :
1 :2007/03/13(火) 19:14:21 ID:VXFI70Dj0
>>98 Pocket Mapple入れてませんし、
「子ウィンドウ」がどんなものなのかわからないのですが、
ColorAt( x, y )は、アクティヴなウィンドウがどれかに関わらず、
スクリーン上の指定の座標のカラーコードを返すはずですが。。。
例えば、Today画面を表示した状態で、
「新しいネットワークが検出されました」の小さいウィンドウをアクティブにしていても
ColorAt( 480, 80 )が返すのは(背景の)Today画面の右上部の色コードでした。
ColorAt( 475, y )でも試してみました?
>>99 ZERO3ではDisconnectするとダイアログが現れずにただ切れるので
こちらも試せませんでした。。。
>>100 行ったなぁ。めでたい。
102 :
1 :2007/03/13(火) 21:26:25 ID:VXFI70Dj0
103 :
98 :2007/03/13(火) 21:39:58 ID:???0
>>101 再度試してみるとうまくいきました。なぜいかなかったのかは不明^^;
で、追加の質問w
スクリプトに引数はつけれるのでしょうか。
また、画面の横幅、高さは取得できるのでしょうか。
105 :
1 :2007/03/14(水) 00:24:12 ID:YJdvxy6f0
>>103 引数は、MortScript.exeに対して
"\fullpath\to\hoge.mscr" /wait=n variable="moge"
という形式で渡すことになってます。
画面サイズを直接取得する関数は無いです。
が、画面サイズをこえるx, y でColorAt( x, y )すると"-1"を返すことを利用して
以下のスクリプトで有効最大座標を強引に取得することは可能。
3秒ぐらいかかりますがw
#################
x = 200
While ( ColorAt( x, 0 ) >= 0 )
x = x + 1
EndWhile
x = x - 1
y = 200
While ( ColorAt( x, y ) >= 0 )
y = y+ 1
EndWhile
y = y - 1
Message( x & "x" & y )
#End of script#########
106 :
1 :2007/03/14(水) 02:25:54 ID:???0
107 :
98 :2007/03/14(水) 09:55:26 ID:???0
パラメータ、うまくいかない・・・ Message(Hoge) って内容のファイル \My Document\test.mscr を作って、それのショートカットを作成 ショートカットのリンク先に "\My Document\test.mscr" Hoge=""bar"" で良いんですよね? /wait はresumeの為みたいだし・・・ 日本語で解説してるとこないかな^^;
108 :
98 :2007/03/14(水) 11:10:03 ID:???0
>>107 自己解決しました。
パラメータ渡す場合は、実行ファイルの引数としてスクリプトファイルとパラメータを列挙しないといけないのね。
前の例だと
"Program Files\MortScript\MortScript.exe" "\My Document\test.mscr" Hoge="bar"
で表示できました。
109 :
1 :2007/03/14(水) 15:19:29 ID:???0
>>108 >>105 で「引数は、MortScript.exeに対して…渡す」と
書いたのは、そういうことです。
「英語マニュアルのここがわからない」と質問してもらえれば
できるかぎり説明しますよ。
110 :
98 :2007/03/14(水) 15:30:14 ID:???0
>>109 とりあえず、自分がやりたいことはできました^^
VGA/qVGA portrait/landscapeの自動判別させたかったのですが、PocketMapple がVGA対応アプリなので
esVGAモードでもqvgaにならないので断念。タイトルバーの高さでも見れば判別できるのかな?
無駄は多いのですが、せっかく作ったので公開
ttp://w-zero3.org/uploader/src/up0257.zip これと、mapptap/SortInchKey の組み合わせで(ポケットマップルの)表示倍率の変更がキーで出来ます
マニュアルP27にある x = ActiveWindow() でactive windowのタイトルを取得できますよ。 また、P49にある、 x = ActiveProcess() active processのprogram nameを取得できますよ。 Pocket Mappleにフォーカスしたものであれば、それで判定するのも手かと。
112 :
98 :2007/03/14(水) 17:10:35 ID:???0
>>111 >>98 の下のほうでも書いてますが、PocketMappleの縮尺変更部分をタップした後 ActiveWindow() をやると、空白文字列が帰ってくるんですよ。
地図の方をタップするとちゃんと取れるようになるんですけどね。
ActiveProcessの方は見てなかったな。試してみますね。
113 :
1 :2007/03/14(水) 19:15:18 ID:???0
>>110 細かい事ですが
#if(SubStr(Act,0,13) ne "PocketMappleD")
これは本当は
if(SubStr(Act,1,13) ne "PocketMappleD")
が正解ですな。
"0" でも "1" と同様に働くようですが。
MortScriptは0ベースじゃなくて1ベースなんですよね。 ちょっと気持ち悪いですが、処理系によってまちまちだから、 いいんですけど。
115 :
1 :2007/03/15(木) 00:03:40 ID:???0
arrayの要素も[1]からだしね。 定義の仕方もちょっと特徴的だと思って、こういうスレタイにしてみたんです。 array[0]を定義する事もできるけど ForEach x in array() などでは無視される、と。
仲間発見 (・∀・)人(・∀・) よろしくです。 MortScript今日知って、使ってみようかとマニュアル読み始めたところ。 zero3[es]です。qmail3とかMortScriptとかのマニュアルを読んでハァハァしてます。
117 :
1 :2007/03/16(金) 20:23:59 ID:u/XXolhc0
>>116 おいでやす
たぶんバグ発見。
SubStr( string, negative number )
(マニュアル p22の下のほう)をやろうとしたときに、
lengthを指定しないと、stringの全てを返しちゃう模様。
e.i.
x = SubStr( "asdf", -3 )
→ x = "asdf"
x = SubStr( "asdf", -3, 3 )
→ x = "sdf"
俺の環境だけじゃないよね?みんなはどうかな?
>>117 たぶん仕様だと思う。
第2引数が1以下の時は1とみなして、そこから第3引数の文字数、省略時は全て
SubStr("abcde",3) -> "cde"
>>118 マイナスだと後ろからと書いてあるのか・・・^^; マニュアル見てなかったw
120 :
1 :2007/03/16(金) 22:14:51 ID:???0
>>118-119 もちつけw
これやっぱバグだよね?
Mortさんに報告したほうがいいかなぁ?
121 :
1 :2007/03/17(土) 02:04:15 ID:rbBfRtXW0
コマンド一覧の日本語版ないかな
無い
読むような英語なんて書いてないぞ。
マニュアルの話じゃねーの?
constant: 定数 variable: 変数 array: 配列 expression: 式 assignment: 代入 parameter: 引数 operator: 演算子 command: コマンド function: 函数 string: 文字列 numeric: 数 これだけ知ってればけっこう読めるんじゃね?
127 :
1 :2007/03/18(日) 21:40:56 ID:l9CkZoZI0
128 :
1 :2007/03/21(水) 01:50:57 ID:ybD9/3CZ0
130 :
1 :2007/03/24(土) 02:15:27 ID:???0
>>129 がんばるよ。
今日まででとりあえず18ページまで行った。
全部終わるころにv4.1が出ても泣かないw
131 :
1 :2007/03/24(土) 05:09:31 ID:bIutk8/70
>>130 実は俺もwkwkしながら見てる。
ガンガレ。
133 :
1 :2007/03/24(土) 18:12:52 ID:???0
>>132 そう言ってもらえるとやる気出て来るわぁw
ググってみたら、いくつかのブログでも早速紹介してくれてるみたいで。
ブロガーさん達もありがとう
134 :
1 :2007/03/27(火) 05:33:38 ID:???0
pdf見てたけど、IniRead はあるのに、IniWrite は無いのね ReadFile/WriteFile使って自前でやらないとダメかな?
136 :
1 :2007/03/28(水) 00:37:42 ID:LBg4B1Jp0
和訳完了、もうすぐですね。がんばってください。 何も出来ませんが、応援してます
138 :
1 :2007/04/03(火) 23:37:44 ID:???0
>>137 ありがとー;;
今日はぜんぜんできなかったけど
明日がんばりますw
139 :
1 :2007/04/05(木) 05:23:36 ID:Hx710DqX0
おおおこれは乙
>>139 乙。
せっかく作ったんだから、MortScript作者さんに連絡してみたら?
自分の作ったモノがローカライズされているってことは、結構喜ぶとおもうよ。
つか、もうフォーラムとかで報告してるのかしら...
142 :
いつでもどこでも名無しさん :2007/04/05(木) 16:56:01 ID:EB1P5emd0
>>139 激しく乙!なんとtop画像まで付いてるじゃないかww
ありがたく頂戴させていただきます。
143 :
1 :2007/04/05(木) 18:23:57 ID:???0
>>140-142 いやぁどもども。
>>141 そうだね。
フォーラムにはバグリポートを1件してあって
返答があったらその流れで報告しようかと思ってたんだけど
今のところヌルーされてるw
そのうち何かの形で報告しとくよ。
厨ですんませんが
>>1 のサイト行っても
mortscriptのインストーラが見つからないんでつが
どこにあるの?
145 :
いつでもどこでも名無しさん :2007/04/06(金) 14:13:41 ID:1ot+xHyb0
146 :
いつでもどこでも名無しさん :2007/04/06(金) 15:31:00 ID:ImxNiJdQ0
147 :
1 :2007/04/06(金) 20:16:26 ID:???0
それもマニュアルに書いとこーっと。
zero3ソフトスレから流れてきました。 まだ2Hしかやってないですが、 これ色々出来そうでいいですね! 早速このスレとか、exampleとかを参考にgsffinderの支援スクリプト考えてるんですが、 そもそも「ファイル」とかのメニューをmortscriptから開くにはどうすれば良いですか? MouseClickを「ファイル」の座標辺りに飛ばすしかないですかね?
149 :
1 :2007/04/08(日) 16:37:48 ID:rJKQQl6D0
>>148 いらっしゃ〜い
> MouseClickを「ファイル」の座標辺りに飛ばすしかないですかね?
そうですねぇ。
こればっかりは、アプリが起動パラメータで制御させてくれないと
どうしようもないですからねぇ…。
GSFinderに指定出来るパラメータは
俺の知る限り、起動時に開くディレクトリぐらいだから。
>>149 うお即レスすまんす。
取りあえずMouseClickで凌ぎます。
面倒な操作(音量,明るさ,ネット接続)のマクロが
揃ってるなんて・・・と、なにから試そうか悩みますわw
色々やってみました。 zero3(es)の場合SetVolumeは0〜6みたいですね。 ただ0にすると「OFF」になっちゃって、 以降のSetVolumeが何故か無視されてしまう・・・。 Setbacklightはバッテリ駆動時が何故か無視されてるっぽい・・・? AC電源時と同じ数値範囲じゃないかもしれないが今のところ不明。 Connectは引き数パターンが3つあるけど、引き数無し型は「couldn't establish〜 」とでてエラー。 引き数2つ型は実行してみてビックリ!「センタ名称設定」 「社内ネットワーク設定」などのエントリから選ばせる模様で、 「CLUB AIR EDGE」とかの指定は無理っぽい・・・? どうもAPIの不整合の壁が厚い模様・・・orz es限定の話題でスマソ
152 :
1 :2007/04/09(月) 15:39:07 ID:EKP6Jkug0
>>151 003SHだと、SetVolumeは0 〜 255ですよ。
25以下1以上にすると「オン、音量ゼロ」
0にするとたしかに「オフ」になるけど、
その後の再設定も問題なくできる。
それ以外は003SHでも似たような感じ。
アカウント名による接続は無理ですね。
ConnMgr.exeが仕切ってるからかな。
ちなみに、Connect( "センタ名称設定" )とかで繋ぐと、
スクリプトが終了した時点で接続を切ってしまうので、
Connect →何かする→接続を切る
っていうスクリプトにならざるを得ない感じ。
接続関連では、アプリにやらせる方針のほうが可能性は高まりそう。
>>152 失礼しました!
6迄の数値範囲を取るのはSetBacklightの方でした!
また、正しくは1〜6の模様。
0基準はSetVolumeの方です(混同してました)、
そっちは003SH同様に0〜255が正。
また、SetVolumeは標準のボリュームで確認してたのですが、
mortでSetVolume呼び出し後暫くは前の値を持ってるみたいで、
それで勘違いしてたみたいです。結論ですが、
esでもSetVolumeはちゃんと機能してますorz
これからはもちっと確認してからカキコしますorz
154 :
1 :2007/04/09(月) 20:09:06 ID:???0
>>153 かんちがいも過疎スレのにぎわい
ってことで、どんまいw
完成したスプリクトを発表するスレとか こんなスプリクトを要望するスレとかないですか?
156 :
1 :2007/04/09(月) 20:37:02 ID:???0
>>155 ここでいいと思いますよ
ただ、うpろーだは各自探してきてねw
要望もあっていいと思うけど、
機種や使用アプリが人それぞれだから
自分でスクリプト書く上でのヒント、
みたいな感じなら応えられると思うよ。
毎日AM6:00に \Windows\hoge.exe を実行 ってのは出来るのでしょうか。 zero3es上で、Windowsでのタスクスケジューラ 的なことがしたいのです。
158 :
1 :2007/04/09(月) 21:42:39 ID:???0
>>157 出来ますよ。
TimeStamp() と RunAt() を使って。
>>34 の鳩時計スクリプトwの応用で。
まず翌日6:00 am に自分を起動させ、
起動するごとに翌日の6時にNotification Queueを登録する方針でいけるはず。
テストで実行するとNotification Queueがどんどん溜ってしまうので、
冒頭で必ず RemoveNotifications( thisFile ) しておくといいよ。
素晴らしい
160 :
157 :2007/04/09(月) 23:16:05 ID:???0
ありがとうございます。 しかし…よく分かりませんでした(-_-;) thisFile = SystemPath( "ScriptPath" ) \ SystemPath( "ScriptName" ) & SystemPath( "ScriptExt" ) Snd = "\Windows\Alarm0.wav" RemoveNotifications( thisFile ) t = TimeStamp() RunAt( t + 86400 - (t MOD 86400), thisFile ) Repeat( FormatTime( "06:00:00", t ) ) Playsound( Snd ) EndRepeat これを実行したところ、直後にAlarm0.wavが 6回鳴りました。私には敷居が山のように高いです。 アホな箇所を指摘して頂けると幸いです。
161 :
1 :2007/04/10(火) 00:12:49 ID:b+uixvyf0
>>160 ええっとですね、まず
> RunAt( t + 86400 - (t MOD 86400), thisFile )
これだと「深夜0時にこのスクリプトを走らせる」ってことになるから、
午前6時だと
RunAt( t + 86400 - (t MOD 86400) + 6*3600, thisFile )
にしますよね。
n時にn回Repeatするのは鳩時計だからでw、「午前6時に音を1回鳴らしたい」なら
Playsound( Snd )
だけでいいわけ。実際にはここが、Run( "\Windows\hoge.exe" )
に置き換わるわけですよね。
手動で起動しても、もちろん6時と同じプロセスが実行される。
それが嫌な場合は、If()条件分岐で回避します。
このスクリプトではFormatTime()を使う必要はないけど、
FormatTime()の使い方については、マニュアルをもういちど
読みなおしてみて。
162 :
157 :2007/04/10(火) 01:16:35 ID:???0
>>161 ご説明のおかげで少し分かってきました。
まだ試行錯誤中ですがなんとかいけそうです。
ご丁寧に教えて頂き、ありがとうございます(^-^)
163 :
1 :2007/04/10(火) 01:58:15 ID:???0
>>162 よかったです。これを手始めにして、
「午前6時台以外に起動された時は、
次回の起動時刻を再設定するダイアログを表示する」とか
「そのInputダイアログに前回設定値をデフォルト表示する」とか
使い易くする工夫をしながら、覚えていくと楽しいよ。
164 :
1 :2007/04/10(火) 21:26:59 ID:b+uixvyf0
これかなり実用ですね! 新着無しかわかるようにShowWaitCursorが 一発あった方がいいかも。 まあスクリプトだから自分で入れればすむ話だけどね これってURLの末行、l1じゃないとダメですか?
166 :
1 :2007/04/11(水) 00:20:07 ID:???0
>>165 どもども。
ShowWaitCursorは最初入れてたんだけど、
俺はこれをメール自動巡回スクリプトに組み込んで使ってるんで、
別アプリで作業中にウェイトカーソルが出てくるとうざくて
やめました。
最新レス番号の位置を、全角「:」を探して判断してるので
URLの行末はl1(
>>1 と最新レスだけが表示される状態)じゃないとだめです。
167 :
1 :2007/04/11(水) 05:39:27 ID:hEvq0wUz0
>>167 zero3の聖域「denwa.exe」に
スクリプトで挑む気概に感動
169 :
1 :2007/04/11(水) 22:03:01 ID:???0
>>168 いやいや気概なんてものじゃないけど
聖域だったのかw
たしかにDenwa.exeはアプリ開発にはクローズドな感じだね
スクリプトの強みかな。
やってみてわかったことは
SendCtrlKey() はa-z 以外ではエラーを吐きます。
170 :
1 :2007/04/12(木) 01:24:21 ID:EwYhBlYl0
まあ乙です
毎朝指定時間に聴く日経とかダウンロードして目覚まし代わりに再生・・・ なんてのも出来そうだね。ちょっとやってみよう。
173 :
1 :2007/04/14(土) 12:40:40 ID:???0
>>173 鳩時計を参考にさせてもらってます。
ネット関連の知識はまったく無いのでdownload()ってやるだけでファイルが落ちてくるなんて本当に便利。
RunAt()の年指定は4桁じゃないと駄目みたいですね。
175 :
1 :2007/04/15(日) 04:48:48 ID:???0
>>174 鳩時計意外に役立ってるのかw
ReadFile( url ) が可能なことからも
MortScriptはシンプルなWEBブラウザとしても使えるんだよね
ちなみにユーザエージェントはちゃんとMortScriptを吐きます。
> RunAt()の年指定は4桁じゃないと駄目みたいですね。
そうでしたか。Unixtime指定しか使ったことないから
知らなかったや。
176 :
172 :2007/04/15(日) 10:29:05 ID:???0
和訳マニュアルなんですが、 7.7.4 文字列とパスの連結 の事例、改行位置がずれているようです。 和訳マニュアル、本当に助かってます。
ちとやりたいことがあって、チャレンジしようかと思ってましたが、 公式HPがつながらないんですが...(もちろんPCから接続) 移転したんですかね?
178 :
1 :2007/04/16(月) 16:58:38 ID:???0
>>176 ほんとだ サンクス
直しました
>>177 ほんとだね
PingやTracertは通るから
メンテ中か何かでしょうか
179 :
172 :2007/04/17(火) 21:45:11 ID:???0
マニュアル修正おつかれさまでした。 ポッドキャストをダウンロード&目覚まし代わりに再生、作成中です。 zero3[es]なんですが、通話終了ボタン長押しで電源を落とした場合に対する RunAt()みたいな関数は無いかな…。 携帯電話の目覚まし感覚で、寝る前に電源を落として (夜中に着信させないため) 朝になってから電源オン&ポッドキャストをダウンロードさせたいのです。 寝る前は「通話終了ボタン長押し」でなく「システム音量0にする」で対処するか…。
180 :
1 :2007/04/18(水) 00:09:43 ID:???0
>>179 電源長押しOFFで状態でスクリプトが走ったら
電源長押しの意味ないからなぁ…
単に着信をOFFにするだけなら、
SetWSIMアプリを使ってW-SIM自体をOFFにするとか
どうでしょう?
181 :
いつでもどこでも名無しさん :2007/04/18(水) 21:14:26 ID:sxWGPAnS0
はじめまして、使い始めて一日ですが、 マニュアル要訳、ありがたくとてもお世話になってます。 以下のところBNF表記がテレコになってます。 9.6.7 ウィンドウが存在するまで待機する(WaitFor) WaitForActive( ウィンドウタイトル, 秒 ) 9.6.8 ウィンドウがアクティブになるまで待機する(WaitForActive) WaitFor( ウィンドウタイトル, 秒 )
和訳マニュアルを見ながら初プログラミングしています。 CreateShortcutで躓いています。 "\Program Files\hoge.exe" -A というショートカットを作るのがうまくいきません "\Program Files\hoge.exe"&" "-A ではエラー "\Program Files\hoge.exe"&" "&-A では "\Program Files\hoge.exe -A" となってしまいます。 正しい記述方法をご教示いただけますか。
>>182 """\Program Files\hoge.exe"" -A"
かな?
"〜"内で " を使うには "" と2個続けて書く必要があったはず
184 :
183 :2007/04/19(木) 13:56:10 ID:???0
ぎゃー勘違い
185 :
いつでもどこでも名無しさん :2007/04/19(木) 14:20:58 ID:nsWwoHi90
"C:\"\Program Files\hoge.exe" -A" となりますね
187 :
1 :2007/04/19(木) 14:52:24 ID:???0
うぉ、珍しくレスが伸びてるw
>>181 ほんまや。。。サンクス
直しました
>>182 >>183 さんの言うとおり。
おかげでマニュアル9.11.7の
「例:」の式のケツの「)」が無かったのにも気付いたw
ありがとうございます。 ずっとパソでやっていてうまく行かなかったのですが、WM5上で動かしてうまく行きました。
condexecの様にウインドウタイトルは存在するけど 実際にはウインドウが存在しないプログラムが実行されているかどうかって 調べられませんか? WndExists("[Test]") 等と記述しても必ず0しか返って来ないんですよ 実際にウインドウが存在するtmailの様な奴は WndExists("070--------") でちゃんと調べられるんですが… なんか八方塞っぽい*o_ _)oバタッ ProcExists("condexec.exe") で一見調べられるような気もするけど どのセクションが実行されていても反応するから使えないし… 良い方法ありません?
190 :
1 :2007/04/22(日) 00:15:13 ID:???0
>>189 condexecでは試してないんですが
たとえばDenwa.exeには"電話 "(ケツに半角スペースつき)という
タイトルの隠れウィンドウがあって
電話アプリを立ち上げていなくても
WndExists("電話 ") はちゃんと1を返すんですが。
ウィンドウタイトル文字列が [ ] で囲まれてるの?
着信した時何かのソフトが立ち上がるんですかね? もしそれを検地出来れば着信時のみシステム音量を復帰できる気がするのですが
>>190 そうです
[]で囲まれてます
execifやcondexecからウインドウタイトル指定できちんと認識しているので
その辺は問題ありません
PQz_TASKLISTでも確認してます
今の所お茶を濁して処理させてます
>>191 Denwa.exeが最前面に出るはずだから
それで組んでみては?
今回初めて組んでみましたけど
色々出来る反面癖強いですね〜
今まで問題なかった奴がmscrから呼び出して使ったら
ウエイトを増やさないと電話が死んだりしてて
物凄く悩んだりしました
デバグって楽しいw
次の様なソースを組みました X = FileCreateTime("test.txt") A = (TimeStamp() / 60 / 60) MOD 24 B = (TimeStamp() / 60) MOD 60 C = TimeStamp() MOD 60 D = (X / 60 / 60) MOD 24 E = (X / 60) MOD 60 F = X MOD 60 Message(FormatTime( "H:i:s" ) & "^NL^" & A & ":" & B & ":" & C & "^NL^" & D & ":" & E & ":" & F) これで表示されるのは様は時間なんですが FormatTime()と変数A〜Cは期待通りに現在時刻を表示してくれますが 変数D〜F…つまりタイムスタンプなのですが 実際のタイムスタンプより9時間遅い時間になってるんですよ これってバグになるのかな? それとも正常動作? 9時間といえば世界標準時との時間差…ですよね
194 :
1 :2007/04/23(月) 01:43:13 ID:???0
>>192 そうかぁ
condexec使ってないので解決策はわかんないっす。。。
でもスクリプトと格闘してる時間って
日常の嫌なこと忘れるよねーw
>>193 それはバグというよりも
WMのファイル作成日時が標準時で格納されてるからじゃないかな
そうじゃないと、海外に出張してタイムゾーンを変更した時、
日本で作ったファイルの作成日時が未来になっちゃったりするし
File = "test.txt"
#新規ファイルを作る
WriteFile( File, "test" )
Sleep( 100 )
Message( TimeStamp() - FileCreateTime( File ) )
#→約32400を表示
ちょっと教えてください ActiveProcessとSwitchCaseを使って全面のアプリによって処理を変えるスクリプトを書いているんですが x = ActiveProcess() Switch(x) Case(pimg.exe) Message(x) Case(fexplore.exe) Message(x) EndSwitch これをPictures&Videosが前面の時に実行するとpimg.exeというポップアップが2回出ます。 何故でしょうか。 これを実行すると
W-ZERO3[es]With_ATOK、AtokChanger、ChgSuisokuの動作をしてくれるスクリプト誰か書いてくれませんか? 挑戦したけど私の技量では無理だったぽ ATOKの入力モード(あ→A_→1) "HKCU", "Software\Sharp\PhoneStatus", "Status22" DWORDで0が全角ひらがな以後増える 一度うまく動くようになった気がしたんだけどいつのまにか横画面時にうまく動かなくなってしまった 推測変換のON/OFF? "HKCU", "Software\JustSystem\ATOKM\UI", "ConjeValid" 0がOFF?1がON?っぽいような気がするんだけど変えてもきちんと反映しない 他にもなにか変更しないといけないのかな? ATOKのON/OFFはわかりませんでした。
197 :
1 :2007/04/23(月) 16:54:52 ID:???0
>>195 文字列は""で囲まないと。
Case( "pimg.exe" )
Case(pimg.exe)
#命令1
Case(fexplore.exe)
#命令2
↑これだと、両方のケースともtrue(=0ではない)と判断されて
命令1も2も順に実行される
>>196 esじゃないしATOKもないから
俺は無理だ。。。
>>197 なるほど。ありがとうございます。
試しに
x = ActiveProcess()
Switch(x)
Case("pimg.exe")
Message(x)
Case("fexplore.exe")
Message(x)
EndSwitch
としてみたのですが、やはり2回メッセージが表示されてしまいます。
199 :
1 :2007/04/23(月) 19:37:55 ID:???0
>>198 ごめん。これを忘れてたw
8.3 値による分岐(Switch)
…
・数の比較だけが利用可能です。
200 :
1 :2007/04/23(月) 19:53:54 ID:???0
ひとつの方法として こうすればできる。 procArray[ "pimg.exe" ] = 1 procArray[ "fexplore.exe" ] = 2 x = ActiveProcess() Switch( procArray[ x ] ) Case( 1 ) Message(x) Case( 2 ) Message(x) EndSwitch
ファイルの読み込みってテキスト文だけしかできないんですね〜 UKTenkiのデータ読み込ませようとしたら ファイルの頭の方にお天気データのバイナリが入っているもんだから 正しく読み込みできなくて悲しかったよ あ〜UKTenkiの自動更新scriptが中途半端に(ノ_・、)シクシク
>>200 なるほど。これで何とかいけそうです。
ありがとうございます。
簡単に文字を比較できる関数があれば便利ですが、こういう方法で出来るというのも面白いですね。
203 :
1 :2007/04/24(火) 01:04:53 ID:???0
>>201 UKTenki使ってないけど
Download()じゃだめなん?
>>202 >>200 のやり方は
Switch()の仕組みを理解するのに良いと思って。
あと、普通のIf()風に、こうもできるよ
x = ActiveProcess()
Switch( 1 )
Case( x eq "pimg.exe" )
Message( x )
Case( x eq "fexplore.exe" )
Message( x )
EndSwitch
高速化サービスonだと2chカキコできないから、 on/offを自動化する手抜きスクリプト作って快適。 こーいうの簡単にできるからいいねー
あ、スマソzero3での話です。
>>203 Today画面に表示できないし
もしバイナリが弄れるのなら逆にmscrでUKTenkiのデータ作って
もっと細かい地域のとかできたりって考えたりw
ま〜やりたいことはUKTenkiが拾ってきた詳細データを
ViewTextで表示させたいだけなんだけどね
それこそDownloadで拾ってきたものを編集して貼り付けろって話だけどw
でもそれだと見た目が可愛くないから嫌っw
207 :
1 :2007/04/26(木) 22:11:02 ID:???0
JavaScriptもAppleScriptも バイナリは弄れないからなぁ…
htmlをダウンロードしたのですがどうしても日本語が文字化けしてしまい 上手くダウンロードできません 文字コードの問題? サイトはgooのお天気です 文字化けしなければrlTodayにお天気情報が表示できるのに
そうですか。
210 :
1 :2007/04/29(日) 01:05:37 ID:???0
>>208 gooのお天気のリンク貼ってくれてないからわからないけど
まず、マニュアルにあるとおりUnicodeは使えないよ。
それ以外の文字コード変換は
>>52 さんが貼ってくれたqkcが使える。
>>210 お〜
情報有難う御座います
ってかmscr導入前にざっと読んでた時は
「コレはなんだろう?」程度にスルーしてました
お陰で文字列処理できるようになりました
後はレジストリに情報書き込んでrlTodayに表示させるだけですっ
213 :
1 :2007/04/30(月) 03:11:08 ID:???0
>>212 rlToday使ってないから試せないけど乙。
なかなかの大作ですなw
文字列パターンマッチの苦手なMortScriptなわけだけど
根性でやってますな。俺と同じでw
>>213 そうなんですか?
逆にあちし自身がパターンマッチの知識を知らないから
特にそんな事意識もせずにやれましたよ^^;
根性でやっていることには変わりませんが
ベースとなる知識は違うようですね
で 他のHPでふと思ったのですが
mscrもBtoC(Basic to C コンパイラ)の様に
インタプリタ形式から実行形式に変換できるといいなぁなんて思ったり
将来的に出来るようになると良いですね
…趣向が変わっちゃうかな
そう言えば
>>52 のqkcはファイル名に2バイト文字が使えないみたいですね
変換できなかったよ
216 :
1 :2007/05/01(火) 01:12:59 ID:???0
>>214 正規表現が使えないから
文字列処理は苦労する、つー話。
FormatTimeを使えば、 任意のUNIXタイムスタンプから時刻を取得出来るけど、 その逆は出来ませんか? PHPのmktimeみたく、 時、分、秒、月、日、年を指定してUNIXタイムスタンプを生成する感じの。 自分で計算するしかないのかな。。
218 :
1 :2007/05/01(火) 18:50:26 ID:???0
219 :
172 :2007/05/01(火) 22:30:35 ID:???0
220 :
1 :2007/05/02(水) 04:10:24 ID:???0
221 :
172 :2007/05/02(水) 09:15:16 ID:???0
>>220 おお!ありがとうございます。
なんか動作がおかしいようなので、アップしたのは消しました。恥ずかしい…。
大きいファイル(5MBとか)をDownload()で落とすと固まります。
固まった後リセット以外に復旧方法が無い…。
ダウンローダーに頼んだほうが無難かもしれません。
222 :
172 :2007/05/02(水) 10:06:31 ID:???0
Notification Queueにどんどん溜まってました…。反省。 RunAt()ではスクリプトに引数を渡すためにMortScript.exeとalarm.mscrを指定していたのに RemoveNotifications()ではalarm.mscrだけ指定してました。 TaskManagerはなぜかツールバーのアイコンが表示されませんでしたが、 一番左が更新だと分かり何とか使えてます。
>>223 早速便利に使わせて頂いてます!
それぞれのパーツを一括で移動できるの、すごい楽!
でも、ちょっとしたバグ発見したよ。
xy座標の数字を変えると、カレンダーの幅まで変わっちゃうんだよね。
カレンダーの幅、 rasterx="" rastery=""で指定するからさ。
そこらへん直してくれたら嬉しい。
225 :
たけたけ :2007/05/04(金) 14:23:47 ID:hmChsLvY0
>>224 あーなるほど
それは盲点でした
というか作った本人実家に帰省中だからまったく使ってなかったりします^^;
判定を"x="から" x="に変えればよさげかな
自宅に戻ったら修正しておきます
とりあえず276,522,528行目の"x=","y="をそれぞれ" x="," y="にすればよさげです
…多分w
というよりあの説明でちゃんと利用できる人がいてびっくりw
226 :
たけたけ :2007/05/04(金) 14:52:36 ID:hmChsLvY0
つうか今見たらReadmeの説明間違えてる… "<--/section-->""<--section/-->"じゃなくて "<!--/section-->""<!--section/-->"でしたね^^; それも直さないとだ 間違った説明でもなお利用できるとは…更にびっくり
227 :
224 :2007/05/06(日) 12:06:18 ID:???0
>>たけたけ
レスに従ってスクリプト修正して使ってみました。
とりあえずダイジョブそう。さんくす!
お天気スクリプトも使わせてもらってます。
んで、これはバグじゃないんだけど、今日の天気がちゃんと
表示されないから直接goo見てみたら、
「雨 時々 止む」
だったw 止むってwww
ちょっとググってみたら、gooの天気表示はtenki.jpの表記に
従ってるみたいで、これが一覧。
ttp://www.tenki.jp/yoh/tcode.html とりあえず、止む=くもりに差し替えるようにしてしのいだけど、
めちゃくちゃ種類あるよw
228 :
たけたけ :2007/05/06(日) 13:05:48 ID:???0
>>227 へ〜そんなに種類あるんだ〜
どれどれ…見てみますか
…閲覧中…
ナニー!?(;゚□゚)yヾ ポロッ
((((_ _|||))))ドヨーン
後でこのHPからテーブル作成するスクリプト作成してアップします
o( _ _ )o〜† パタッ
ついでに画像もDLして再利用できるようにしておきます
そうすれば画像ファイル用意しなくて済むしw
同梱じゃなくて各自が個人利用目的で再利用するなら問題無いっしょ
う〜
rlTodayEditorのバグ修正よりこっち先にやらにゃあ
とりあえず他のバグも含めた修正版仮アップしておくか…
報告有難う
229 :
たけたけ :2007/05/06(日) 14:41:33 ID:???0
つう訳でコード吸い出して見たけど思ったほど多くないや 最初「450?!300種以上あるって事か?」とか思ったけど 実際には122種類だった お天気情報表示の方は割りと大きな改変にならざるを得ないので 夜になりそう--; つうかスキン修正もあるのか レジストリもどうにかせにゃ うう…次のお天気情報更新までには上げたいな P.S.「くもり海上海岸は霧か霧雨」とかあるしw
230 :
1 :2007/05/06(日) 16:46:47 ID:???0
乙です。
今なんとなくgooお天気のページのHTMLソース眺めてたんだけど
各天気マークの画像の名前
img src="/weather/img/s/big/100.gif"
の3桁の番号が、
>>227 の天気コードと一致してるみたいだね
てことはこの番号だけ読み出してkeyにしたりして…
外野の発言スマソw
231 :
たけたけ :2007/05/06(日) 17:28:35 ID:???0
>>230 いえいえ外野だなんてそんな
助言有難うございます
うん 考えることは同じようですねw
テーブルの内容を
お天気コード,コードに対応するお天気の内容,アイコン番号
という風にしてありますので
後は指摘されたイメージの名前から検索するというものになっています
232 :
たけたけ :2007/05/06(日) 17:34:24 ID:???0
って言うかとんでもないバグ発見したのを書きに来たんだっけ rlTodayEditorで入子状態のセクションをコピーすると 同名セクションが出来上がっちゃうバグがあるんですよ (*-゛-)ウーン・・ 後で修正しなきゃ 一応お天気のスクリプトは完成したんだけど サンプルスキンファイルの方が追い付いてないよ *o_ _)oバタッ
233 :
たけたけ :2007/05/06(日) 17:55:39 ID:???0
なんかすげ〜連投しているような気が… Choiceの項目数の上限って49itemかな? それ以上表示されないような気がするんですけど
234 :
1 :2007/05/06(日) 18:42:29 ID:???0
>>233 そうみたいだね
ただこれはシステムダイアログ流用してるみたいだから
システムの上限かも知れん。
配列はもちろんそれ以上格納できる。
#code
i = 1
Repeat( 100 )
array[i] = i
i = i + 1
EndRepeat
x = Choice( "", "", "", "", array)
#→49まで表示
Message( array[100] )
#→"100"を表示
235 :
たけたけ :2007/05/06(日) 23:13:27 ID:???0
>>227 アップしました〜
疲れた〜〜〜〜〜〜〜(;_ _)O パタ...
何が疲れたってスクリプトよりスキン修正が疲れたよ
rlTodayEditorのバグもぼろぼろ出てくるし--;
そんな訳で今までのスキンが使えなくなってしまいました
多少の修正が必要です
また利用する画像ファイルもめっちゃ増えましたw
詳しくはReadme.txt参照の事
>>235 乙です!
アイコンも自動収集になって、すごい便利です。
ですが…実は以前からなのですがアイコンが表示出来ないのです。
皆さんは普通に表示されているのでしょうか?
Program Files
rlToday
Tenki
アイコン、天気データ
rlTodayskin
skin.xml
各スクリプト、ログファイル等
のように入れてます。
機種は003(無印)です。
東京の天気データを表示済み(アイコン以外)。
お手数おかけいたしますが、よろしくお願いいたします。
長文申し訳ございません。
237 :
たけたけ :2007/05/07(月) 19:14:39 ID:???0
>>236 アイコンが表示されない…
Ver.1.x時代は自前で用意しないと表示されません
Ver.2.0からはダウンロードしてきたアイコンファイル(gif)を
png形式に変換してgifのあったフォルダに入れておけば
後は付属スキンを使ってみれば表示される筈なんですが…
確認1
Tenkiフォルダにアイコンファイルは入っているか
01.png〜45.png and 01_s.png〜45_s.png
確認2
適応したrlTodayのスキンフォルダに1.png〜8.png ot 1_s.png〜8_s.pngは
作成されているか
確認3
作者はZERO-3でしかテストした事ありません
某所でX01HTで動作しているようなので特に問題は無いと思っていました
238 :
236 :2007/05/07(月) 21:56:29 ID:???0
239 :
たけたけ :2007/05/07(月) 22:28:27 ID:???0
>>238 ホントだ…
(ー'`ー;)う〜ん・・・・
後考えられるのは実はpngファイルが有効なものではなかったとか…
ビュアーで表示できますか?
256色ですか?
…と言うよりファイルサイズから推察するに
pngという拡張子のgifファイルじゃありませんか?
リネームじゃ駄目ですよ
240 :
たけたけ :2007/05/07(月) 22:47:06 ID:???0
241 :
236 :2007/05/08(火) 01:19:12 ID:???0
>>たけたけ殿 え、拡張子変換じゃ駄目だったんですねorz TodayCompactとかでgifをbmpに書換えて使ってたので、その要領でgifをpngに変えるのかと思っておりました。 元がgifですから256色ですし、ビューアで表示もできました。 明日形式自体を変えて再度試してみます。 丁寧に教えていただきありがとうございます。
242 :
たけたけ :2007/05/08(火) 23:40:55 ID:???0
>>241 当たり前じゃないですか
ちゃんとreadmeにもgif→png変換と書いてあったでしょ
変換ツール紹介までしたのに…(-""-;)ムム
拡張子変更程度ならわざわざ母艦で変換して下さいなんて
皆様の手を煩わすようなスクリプト書きませんッッ
それはそれとして
また幾つかアイコン化対応しました
風向き・洗濯指数・傘指数・星指数です
またgooのお天気アイコンにも対応しました
png変換はかなり苦労すると思うのでお勧めしませんがw
(ー'`ー;)う〜ん・・・・
完全に趣味の世界だ…
ですね。
244 :
1 :2007/05/09(水) 20:02:22 ID:ZSUMZh0q0
公開されているMortScript 4.01のベータ版がb12まで到達し、
新マニュアルも同梱されています。
http://www.sto-helit.de/index.php?module=download&action=view&category=16&entry=85 新たな機能として、以下のものが追加されているようです。
・浮動小数点のサポート、様々な数値処理関数&演算子の追加
・ForEach インデックス, 値 in array ... が可能
・ElseIfの導入(! Mortさんついに観念したかw)
・Call と CallScriptで引数が利用可能
・Return( value )を返すCallFunctionとCallScriptFunction関数の導入
・SplitとPartのデリミタに文字列が使用可能(これは嬉しいw)
・IniWrite
・Replace
…などなど。他にもいろいろ。
まだ未バグフィックスらしいし、俺はまだ試していませんが、
数値、文字列処理ともに、ぐんと楽になりそうですw
でも/iとかほしいよねぇ正直 あとはchoiceのアクセラレータキー機能とか
お天気スクリプト使わせてもらっています. skinも書き換えて,8日間を横一列に表示していますが,今日と明日のみ "日"の文字が入ってしまいます.3日目以降と同じ形式で取得することは できないでしょうかね. ちなみに,天気アイコンはYahooの48×30ピクセルのを使っています. ↓こんな感じ 10日(木)11日(金)12(土) 13(日) 14(月) 15(火) 16(水) 17(木) 晴れ 晴れ 曇 曇 曇 雨 雨 雪 低 高 低 高 低 高 低 高 低 高 低 高 低 高 低 高 -/-/0/010/0/-/- 0% 20% 30% 40% 50% 60%
248 :
たけたけ :2007/05/11(金) 00:15:55 ID:???0
>>247 あ〜僕もチョットだけ気にしてたけど
今日明日だけ特別扱いみたいな感じだったから放置してました
スクリプトの135行目から
### 今日・明日の日付 ###
ChkStr = "日付"
Call SearchStrings
i = 1
Repeat(2)
FromStr = "月"
ToStr = "</b>"
Call BetweenStrings
j = Find(GetStr ,"日")
If(j)
DT_day[i] = SubStr(GetStr ,1 ,j -1) & SubStr(GetStr ,j + 1)
Else
DT_day[i] = GetStr
EndIf
i = i + 1
EndRepeat
と変更して下さい
後ほど正式版を出したいと思います
249 :
たけたけ :2007/05/11(金) 06:54:24 ID:???0
う゛… 変なバグあったからα版出しといた
便利に使わせていただいています。お天気スクリプトですが、同梱のskin.xml を使うとサイズが大きすぎるのか画面からはみ出してしまいます。 環境は、X01HT+WM6です。 同梱されているスクリーンショットとか見るときれいに見えているので、X01HTで使用するには、大幅な変更とか必要でしょうか。
251 :
たけたけ :2007/05/12(土) 12:13:20 ID:???0
>>250 同梱のskinはZERO3のVGAで作成されたものですから
X01HTの様にQVGAでは大き過ぎると思います
QVGA機で利用するには変更が必要です
アイコンも大きい物ではなく小さい物を利用した方が良いでしょう
一応同梱skinは拙作rlTodayeditorに対応させています
バグは多いですがw移動して調節程度なら問題なく動作するので
適当に弄ってみてはどうでしょう
後はreadmeを読んで修正してください
あるいは旧版ではありますが
ttp://d.hatena.ne.jp/wiitomo/20070503 にX01HT用のスキンがアップされています
これをベースに変更されては如何でしょう
>>244 遅ればせながら…
elseifってそんなに需要あるんですね〜
僕は視認性が悪くなるしスパゲッティになり易いから出来るなら使いたくないですね〜
switchで十分だと思います
そんな命令よりも僕はbreak文が欲しい!!
新版の英文読んでないから新設されてたらアホみたいな叫びだけどw
switchやrepeatといった命令があるのに何故break命令がないんだ!!
ってガッカリしました
break命令があると更にifとか余計な処理無くせて楽なんですけどね〜
switchや繰り返し命令系には必須だと思うんだけどなぁ
そう言えばrepeatの対ってendrepeatなのには一寸ビックリ
昔の感覚だとuntilだから最初戸惑ったよ
mscrのrepeatってどちらかというとfor to next(loop - unloop?)に近いし
repeatって言うとrepeat - until(条件)だったからなぁ
sub - endsubもreturnとかあると便利なんだけどな〜
アクティブウインドウの検知にtitleだけじゃなく
classも指定できたりするといいと思うし
後慣れないのはwhileのループ条件
成立した時に抜けるんだっけ?繰り返すんだっけ?といまだに悩む--;
254 :
1 :2007/05/12(土) 19:27:35 ID:???0
>>253 まぁ慣れってのはその人それぞれですけどね。
> elseifってそんなに需要あるんですね〜
「無い」と思うあなたはMortさんと気が合いそうだねw
「ElseIf」に需要があるというよりも、
If ...
ElseIf ...
Else ... ←これの部分に需要があるんだと思うよ。
Switch 〜Case で同じことをやろうと思うと、
最後のCaseに全ての補集合の条件を明示的に記述しないといけないから。
> そんな命令よりも僕はbreak文が欲しい!!
> アクティブウインドウの検知にtitleだけじゃなく
> classも指定できたりするといいと思うし
これらは俺も同感です。
> sub - endsubもreturnとかあると便利なんだけどな〜
→ >・Return( value )を返すCallFunctionとCallScriptFunction関数の導入
> 後慣れないのはwhileのループ条件
Whileは他のスクリプトと同じだよ。
"While you are a schoolboy, listen to your parents."
「学生のあいだは親の言うことを聞きなさい」
あとはLocal変数とかClear( 変数/配列 )(完全にundefするわけじゃないらしいが)
とかが導入されたことも、ライブラリスクリプト書く上では便利な要素。
>>255 >Switch 〜Case で同じことをやろうと思うと、
>最後のCaseに全ての補集合の条件を明示的に記述しないといけないから。
それこそbreakで抜けてcase(1)でも書けばいいだけのような気がする
break命令無いけど
現状でもelseifと同等の構造文は書けるし
まぁ書き方のスタイルの違いだからあって悪いものではない
遣わなければ良いだけの話…ですけどねw
>> sub - endsubもreturnとかあると便利なんだけどな〜
>→ >・Return( value )を返すCallFunctionとCallScriptFunction関数の導入
ここで言うreturnはbreakと同等の意味です
返り血なんて要らない派なので
ま〜普通はreturnでサブルーチン終了して帰るでしょうから
同じ意味なのかな
>Whileは他のスクリプトと同じだよ。
なるほど
英文で理解していると分かり易いですね
repeatの抜ける条件がwhileと逆で条件成立するまでループしなさいだから
混同していたのをそのまま引きずってるんです
元々whileは殆ど使ってなかったものですから
ローカル変数は期待ですね
再起呼び出しが出来るのって楽しいですから
257 :
1 :2007/05/13(日) 00:00:29 ID:???0
俺がなにより不満なのは この一反木綿みたいなアイコンかなw
258 :
1 :2007/05/13(日) 03:14:58 ID:FTPItuP90
エラー出た時に行番号を表示して欲しいと思うのは俺だけか?
おまえら高望みしすぎ エラーのないスクリプトを書け
>>260 エラーの出ないプログラムなんて一生書けないorz
ソースが長くなれば長くなる程エラーにならないエラーが埋もれる
こっちを立てればあっちが立たなくなる
エラーの無いソースを一発で書ける人は神です
慣れだよ慣れ ガキでさえ簡単な日本語覚えるのに3年もかかるんだ 昨日今日覚えた言語で間違えるなってのは無理な話
>>251 回答ありがとうございます。
何とか、新しい方のskin.xmlをX01HTのQVGAに合わせることができました。
あとは少し微調整すれば、いい感じにできそうです。
今後ともよろしくお願いします。
いやしかし行番号表示ぐらいは高望みってわけでもないだろw
265 :
いつでもどこでも名無しさん :2007/05/13(日) 16:35:09 ID:FTPItuP90
266 :
1 :2007/05/13(日) 17:41:10 ID:???0
てか、↑は俺。 IDがFTP うp w
インストールしているソフトがツールmemoサイトで更新登録されたら通知するスクリプトきぼん
あるものは使え ないものは作れ
269 :
1 :2007/05/14(月) 01:25:57 ID:???0
>>267 ・ReadFile( ツールmemoサイトのRSSのurl ) で読み込み
→
>>52 さんのqkcでsjisに変換
・ForEach app in files ( "\Windows\スタート メニュー\*.lnk" )とかで
「インストールしているソフト」のパスをリストアップ
→SubStrでパスからファイル名を抽出
→読み込んだテキストをファイル名でFind
→見つかったファイル名を順に、出力用変数に追記代入
→メッセージを表示
って感じかな。自分で作ってみたら。
>>265 のゴール通知スクリプト、
さっそく不具合が見つかったので直しておきました。
ちなみに、今夜モニターしてた試合は0-0だったので、
ぜんぜん鳴らなくて面白くなかった。。。
悲しいとき〜
全くの素人なんですが面白そうなのと 便利そうなスクリプトが公開されているのでインストールして触ってみました CQを使っている方もいるようなので質問させて下さい 本家のサンプルスクリプトにあるCopyPasteに CQのctrl+b(クリップボード履歴)とctrl+g(キーワード)を追加しようと思いました Choiceに "Paste (ctrl-b)", \ "Paste (ctrl-g)", \ を追加して Case( 5 ) # Send a ctrl-b to the app SendCtrlKey( activeWin, "b" ) Case( 7 ) # Send a ctrl-b to the app SendCtrlKey( activeWin, "g" ) を追加し他のCase番号も併せて変更しましたが ctrl+bは検索窓が開いてしまいctrl+gはジャンプ機能の窓が開いてしまいます 右ソフトキーから辿ってみるとショートキーとしてctrl+gは載っているのでそれが機能してる事は分かったのですが キーボードからctrl+b,ctrl+gを入力するとCQのショートカットが働きます どこを直せばいいか助言頂けると有り難いです
↑は○号テキストエディタでテストしてました ショートカットや検索、ジャンプは○号の機能です ○号でうまくいってないので他のエディタは試してませんでした
273 :
1 :2007/05/16(水) 01:32:34 ID:???0
>>271 CQには"CQ"っていうタイトルの隠しウィンドウがあるんだけど
これを指定してキーストロークを送ってもエラーが出る。
キーストロークはテキストエディタのウィンドウに送るしか無い。
エディタにキーストロークを送ると、
該当するエディタの機能が立ち上がるのはしょうがない。
というわけで、CQの設定を変えるしかない。
俺はというと、「キーワード表示」をEscに、
「貼り付けリスト表示」をCtrl+Escに、それぞれ変更してる。
SendEsc
SendEsc( "", 1, 0 )
で、それぞれ表示できるよ。
ちなみに、キーストロークを送った時の動作は、
ソフトキーボードを使って確認するといいよ。
○号って懐かしいな。 WM5に対応したのかな?
>>273 CQの設定を変えて対応したら出来ました
ありがとうございました
皆さんは
SetBackLight
きちんと動作してるんでしょうか?
AC時は反映されるのですがバッテリー時が反映されません
機種はesで下記のように書きました
どこか間違いがありますでしょうか?
>>153 を参考に明るさは1〜6としています
ChoiceDefault( "BackLightContorlMortScript", "Choice BackLight Level", 1, 5, \
"Set BackLight BT4 AC6", \
"Set BackLight BT6 AC6", \
(ry
"Set BackLight BT1 AC1"
)
Case( 1 )
SetBacklight( 4, 6 )
Case( 2 )
SetBacklight( 6, 6 )
(ry
Case( 7 )
SetBacklight( 1, 1 )
EndChoice
278 :
1 :2007/05/17(木) 19:22:18 ID:???0
>>277 俺はWS003SHだけど
同じくバッテリー使用時にはSetBacklightは無視されるみたい。
>>151 さんも書いてるけど。
代わりに、RegWriteで下記のレジストリの値を書き換えるとできるよ。
#xは1〜6の値
RegWriteDWord( "HKCU", "ControlPanel\BackLight", "BatteryBrightness", x )
ただしこれを実行しても、実際にバックライトの明るさが変わるのは
次に手動で何かのボタンを押したり、タップしたりした瞬間なんだけど。
279 :
277 :2007/05/17(木) 20:44:59 ID:???0
>>278 あれ、既出でしたか
見落としてました
でも解決策提示していただけたので手前勝手によしとしよう
しかし上記のスクリプトに
Case( 1 )
SetBacklight( 4, 6 )
RegWriteDWord( "HKCU", "ControlPanel\BackLight", "BatteryBrightness", 4 )
のようにしたら手動で何か操作しなくても反映されました
スクリプトの選択ダイアログが消えるのが
手動操作の代わりになってるのかもしれません
280 :
1 :2007/05/17(木) 22:27:27 ID:???0
>>279 > スクリプトの選択ダイアログが消えるのが
> 手動操作の代わりになってるのかもしれません
そうかもしれませんね。
この件は、マニュアルにも注意書きを追加しておきました。
####
誰も興味ないかもしれないけどw、
>>265 のゴール通知スクリプト
また修正を加えました。
BBCのサイトの表記フォーマットが恣意的で困る。。。
和訳マニュアル、9.12.1のForEachを使った例の部分ですが、 ^LF^のあとのダブルクオーテーションが抜けていませんか? 目覚ましが何とかまともに動くようになったので 今度は天気予報を起床時に確認できるようなスクリプトを作ってます。
282 :
1 :2007/05/17(木) 23:46:06 ID:???0
>>281 抜けてました。直しました。サンクス!
天気予報関係が流行ってるみたいだね。
「晴れ」「曇り」「雨」で目覚まし音が変わるのとか
面白いかな、と、ふと思った。
>>282 目覚ましが変わるのは良いかも。
簡単に出来るだろうし、面白そう。
雨の日は暗い曲にするか、元気に過ごすために逆に明るい曲にするかで悩む…。
あとは,天気予報が朝から雨なら少し早く鳴るのもいいかもね
285 :
1 :2007/05/18(金) 20:29:39 ID:???0
>>283 そう。そこが悩みどころだなw
>>284 ちょっと早めに出なくちゃいけないからかw
雪だとさらに早めとか。
頭良い目覚ましだな。
>>284 すごい
既製品の目覚ましでは出来ない芸当ですね
そのうち路線状況や渋滞情報によって(ry
言い過ぎましたw
なるほど、時間が変わるっていうのもありか…。 ちなみに目覚ましスクリプトはたまに固まるので(たぶんスクリプトの問題ではないと思うけど) 他の目覚ましと併用してください。 自分はタイマー代わりにも使ってたりします。 天気予報をhtmlにしてブラウザに表示させるか、 ダイアログに表示させるか…。軽さ優先かな。
連投ごめん。 スクリプトの編集するときって皆さんはどうしてますか? おれは、本体内の(miniSDでない)マイドキュメントに入れて ActiveSyncさせたのをPCで編集してます。 zero3はGSfinderを起動させておいて、 PCでの編集、ActiveSync、zero3で実行、 という手順でバグつぶししてます。 もっと楽な方法とかないかな・・・。
289 :
1 :2007/05/18(金) 21:48:02 ID:???0
>>286 学生さんだったら、休講情報があったら鳴らさない、とか?
夢が膨らむなw
目覚まし時刻を変える場合、
指定時刻の1時間前とかに一旦起動させて情報収集し、
あらためて目覚まし音を鳴らす時刻でRunAtするプロセスが必要だな。
>>288 俺の例でいえば
>>83-90 あたりでそういう話題の会話してるよ
290 :
たけたけ :2007/05/18(金) 22:02:50 ID:???0
>>288 あちしゃPC上で編集してPDAにコピーして
ランチャーから起動させてます
本当はASで同期させたファイルを編集したいんだけど
何処をどう間違ったのかPDAとASで同期を取ったファイルって
いつの間にかPC上から削除されちゃうんですよ--;
最近はmscrで仕事の伝票を管理させるソース書いてました
数年振りのプログラム 楽し〜
condexecとexecifのコンボマクロモドキも
全部mscrに置き換えられたし
コンボより一括で管理できるからデバグが楽
今度何組もう…
おっと、前に情報が出ていましたか。よく読まなくてごめんなさい。 エディタ編集後にエディタ上からソフトキー一発で実行っていいなあ。 どうしてもzero3のキーボードだとストレスが溜まるのでPC編集&ASでがんばります。 外出してるときの手直しに、ソフトキー一発起動法も構築しておこう。
292 :
1 :2007/05/18(金) 22:25:39 ID:N1MzBm1Q0
293 :
たけたけ :2007/05/18(金) 23:01:33 ID:???0
>>292 うちはモートボタン→スクリプトフォルダ→スクリプト選択
って感じに起動させてます
更に
MORTexeとmscrは別フォルダだったりします
294 :
1 :2007/05/19(土) 01:29:34 ID:???0
>>293 まぁ保存フォルダはいろいろでしょうけど
このスクリプトの売り(?)は
多重ソートのプロセスだったりします。
295 :
172 :2007/05/19(土) 07:04:18 ID:???0
バブルソートとかなんか懐かしい。学校の課題を思い出しました。 javaでクイックソートでの宿題と闘った思い出が。 天気予報スクリプトを作っていて目覚ましの追加アイデアが浮かんできました。 メインの目覚ましとして携帯電話を使ってるのですが、 スヌーズ昨日が便利で、アラームを10個くらい設定できるので そのまねをしてみようかと思います。 ForEach使えばファイル一覧取得できるんですね。いいこと知った…!
俺ソートって使いこなせないんだよね ソートしたら今までのデータのつながりが全部切れてしまう
297 :
172 :2007/05/19(土) 11:59:28 ID:???0
少し考えた結果、 天声人語と天気予報をhtmlにまとめて目覚しし同時に表示させようとしてます。 天気予報、結局たけたけさんのと同じような事をしてるとしばらく作ってから気付く…。
298 :
1 :2007/05/19(土) 19:36:02 ID:???0
>>295 学校では習わなかったなぁ。
文系だからw
クイックソートをMortScriptでやるのは難しいね。
>>296 > データのつながりが全部切れてしまう
kwsk
299 :
たけたけ :2007/05/19(土) 20:45:52 ID:???0
>>294 なるほど ソートが売りなんですね〜
ソートなんて単純ソートしかやったこと無いなぁ
バブルソート?クイックソート?何ですかそれはってレベルです--;
全て独学だからソース汚いのよ
>>297 _(^^;)ツ アハハ
天気予報のスクリプト…風が厄介だ(無視という手もあるが)
rlTodayだけじゃなくてテキスト出力もあった方が需要高いか?
(ー'`ー;)う〜ん・・・・
現状でも一寸修正するだけでテキスト出力に対応出来たりするw
天気予報って基本気象庁発表の使い回しだから
5:00・11:00・17:00の三回しか更新無いんですよね〜
でも5:00の発表ってgooだと6:00になっても更新されてないっぽい
何処かgooより軽くていい所ないかなぁ
本分(?)はLinux Zaurusユーザなんでご無沙汰してますが、
いい感じに盛り上がってますね。
livedoorのweather hacksなんかいいかもしれないです。
軽いことは軽いですがXMLだからMortScriptでパースするの骨かも?
weather hacks -> WristPDAというのをVB2005で
作りかけで放置中。PIII800MHz 384MBという環境だと、
VB2005は重くてしょうがない。
MortScriptでもWMがらみでもないですが最近の新作(宣伝)
http://moyashi.air-nifty.com/hitori/2007/05/twitter_65f0.html
301 :
たけたけ :2007/05/20(日) 08:04:55 ID:???0
>>300 livedoor見てきました〜
お〜なかなか面白いかも
色々余計な情報があって楽しいな
風邪引き指数とか掛け布団指数とか
天気概況も別途ダウンしなくても一緒に付いてるので
情報量も多くなかなか良いですね
風は余計厄介になってる--;
ファイルサイズは…40KB越えか
gooが30KB前後だから一寸太るかな
情報量考えるとその位増えても良いか?
ASなあちしには関係ないけどw
ちなみにタイマー機能実装してみました
まだ人柱版だけどw
ttp://w-zero3.org/uploader/src/up0289.zip
302 :
たけたけ :2007/05/20(日) 08:22:36 ID:???0
>>301 自己レス
あ なんかlovedoor勘違い?
RSSでお天気情報って事かな
これならかなり小さいのでパケットにも優しいですね
…ホントにお天気だけだw
一応最高気温もあるのか
AS時はgooからで外出時はhacksからとか楽しいかも
303 :
172 :2007/05/20(日) 09:35:02 ID:???0
>>299 today画面にテキストを表示させるソフトもあったような気がします。
テキスト出力は需要があるかもしれませんね。
天気予報、目覚ましと同時にMessage()で表示させようかともくろんでましたが
画像を表示できないしテーブルが面倒そうだったのでやめました。
単なるHTML切り出しで終わってます。
「今日明日の詳細天気予報」と「週間天気予報」で画像のパスが違うのに
戸惑いましたが強引に同じ画像を表示させてます。
風向き矢印画像についてはまだ手付かず…。そのうち…
304 :
たけたけ :2007/05/20(日) 09:57:02 ID:???0
>>303 >today画面にテキストを表示させるソフトもあったような気がします。
ViewTextだったかな
他にもぽけメモとか?
テキストじゃないけどDispTodayなんてのもあるね
305 :
1 :2007/05/20(日) 17:18:51 ID:???0
>>300 お久しぶりです。
Weather Hacksは便利そうだけど
データがUTF-8なのが問題ですな。
twitterって知らなかったけど、
いわばコテで雑談してるみたいな感じなのかな。
「友達なんかいないのに」っていうのにワロタw
306 :
たけたけ :2007/05/20(日) 17:54:40 ID:???0
>>292 改めてソースをよく見たら"MortScript.exeのあるフォルダ内"じゃなくて
"ChooseMscr.mscrのあるフォルダ内"なんですね
便利に使わせて貰います
307 :
1 :2007/05/20(日) 18:29:26 ID:???0
>>306 ああ、SystemPath( "ScriptPath" ) だから、そうですね。
「自分のいるフォルダ内の全てのmscrファイルを…」です。
SystemPath( "ScriptExe" )から書き換えたんだった。
すいません。
けっこう需要があると思うんだけど、 rlTodayのカレンダーで祝日に指定した背景画像を置くスクリプトなんての希望! 文字色変えるのもプラスされてたら嬉ションしちゃう
>>308 何気にすげぇめんどくさそうだな。
rltoday自体が祝日認識して無いし。
310 :
247 :2007/05/21(月) 18:56:25 ID:???0
お礼が遅くなってすみません. おかげで今日〜8日間の天気がすっきり表示できるようになり,UKTenkiは削除しました. ただ,たまにお天気データダウンロード.mscrが終了せず,他のアプリ等の反応が 悪くなる(例えばrlToayの時計の秒針が4〜5秒おきに動く)ことがありました. 多分,風向きや○○指数に想定外の文字列があった場合だと思い,この辺の処理 を削除したらちゃんと動きました.具体的に何が悪いかまで調査,ご協力ができ れば良いのですが,リセットするしかない状態なので,役に立てずすみません. また,最後の「RedrawToday」ですが,私はTodayAgendaを入れているため,再表 示に時間がかかるので削除してみましたが,無くても最新の情報に書き換わり ました.
311 :
たけたけ :2007/05/21(月) 20:17:24 ID:???0
>>308 面白そうだけどrlTodayのスキン自体も書き変えないといけないから
万人に対応することは難しいかと思われ…
勝手にskin.ini書き変えていいなら出来るけどw
と言うかカレンダー自体をmscrで作成して
rlTodayでレジスタ値を表示させると言う方が
簡単だと思うのは気のせいか?w
>>310 不具合が合った時のTenki/Tenki.txtを送って貰えれば対策しますよ
RedrawTodayを入れているのは画像の更新をする為です
…無くても画像更新されてる?
即反映には必要な筈…
と言うよりToday画面でしかテストしたことないや
312 :
たけたけ :2007/05/21(月) 20:57:25 ID:???0
>>310 つうか風向きの所にバグ見つかったw
それが原因か?
取得データの選択をするiniファイルでも作ろうかな…
スクリプト直変更だとバージョンアップの際面倒だしな
あちし自身もw
>>311 そっか個人的には全然構わないので
書き換えてもらっちゃ困る人もいることを考えてなかった
mscrで作成したらどんなことになるのか検討もつかねっすw
314 :
たけたけ :2007/05/21(月) 22:12:11 ID:???0
317 :
1 :2007/05/22(火) 00:50:17 ID:???0
現在、自分のために
MatchRep.mscrにhtmlタグ除去機能を追加しようと
工夫中。
>>315 コマンドパラメータだけでバックグラウンドで
処理してくれるエディタがあったらいいのにね。
それにしても、WEB鯖でやろうと思えば簡単な事なんだから
Weather Hacksがカスタマイズ性を謳うのであれば
文字エンコーディングも選ばせてくれればいいのに、
とlivedoorには強く言いたい。
318 :
300 :2007/05/22(火) 04:44:55 ID:???0
あー、すいません。weather hacksをすすめたはいいが、 MortScriptからの利用には向いてなかったですね。 みなさん.NET CF2.0とかインストールしてます? ZERO3も.NET CF1.1ですよね、確か VS2005で.NET CF1.1用のアプリ作れたかな
319 :
310 :2007/05/22(火) 14:09:43 ID:???0
Tenki.txtは残っていないです. goo天気を見たら,「○○の風昼頃より〜」って20文字程度あったので,これが怪し いかなと思い,自分に必要ない部分を削除しました. rlToday部分は,やっぱりRedrawTodayなくても再表示されてます.RedrawTodayが あったら2回書き直していました.
320 :
1 :2007/05/22(火) 17:05:30 ID:???0
>>318 俺は前に入れてたけど、今はアンインストールしてしまいました。
ひょっとして、何か作ってくれようとしてます?wktk
321 :
たけたけ :2007/05/22(火) 21:13:52 ID:???0
>>319 Tenki.txtが残っていない?!
不具合発生時のって意味かな
本当に何も残っていないのなら天気予報さえ表示されないので
それは無いと思いますよ
Tenkiディレクトリの中に入ってる筈です
にしても 昼頃より…ですか
それ 対応してませんねぇ
もっと柔軟性を上げないと駄目か
何か考えてみよ
はじめまして 目覚ましのmortscriptを起動したら以下のようなエラーが出てきてしまいました たぶんmortscript.exeの場所関係っぽいかな (以下エラー文) Invalid path type for SystemPath Line: mortFile = SystemPath("ScriptExe") \"MortScript.exe" です wero3[es]でmortscriptはデフォルトの場所にインストールしています 目覚まし.mscrはMortScript.exeと同じフォルダです
俺も昨日DLしてみたけど 目覚まし単機能のも天気・天声人語表示機能付きのも 変なところで改行が入っちゃってるみたいでエラー吐いた 命令の途中やコメントアウトの途中で改行されてる所を修正すればおk 天気・天声人語表示付きの選曲の機能はまだ実装されてない 直にスクリプトを変更しないと音ならないよ それと俺の環境では天気と天声人語は文字化けしちゃってる 勿論qkcは指定場所にインストール、dllも入れてる こっちはまだどこが原因かスクリプト見てない 俺も素人なんでスクリプトを読み解くのに時間がかかるもんで
>323 >命令の途中やコメントアウトの途中で改行されてる所を修正すればおk みつかんねーーーー(泣 ┐(´ー`)┌ヤレヤレ
326 :
319 :2007/05/23(水) 13:07:28 ID:???0
残っていないのは不具合時のです.上書きされてるので. 発生したのは5/19(土),「昼頃より」ってあったのは5/20(日)の予想. この日は結構風が強かったから. 台風とかきたらどんな記述になるのでしょうね.
328 :
300 :2007/05/23(水) 16:43:29 ID:???0
329 :
たけたけ :2007/05/23(水) 20:40:04 ID:???0
330 :
1 :2007/05/23(水) 22:55:48 ID:???0
331 :
172 :2007/05/24(木) 00:14:29 ID:???0
目覚ましを作ったものです。 なんかうまくいってないみたいでごめんなさい。 ちょっと仕事が忙しいので手直しは来週…。 自分のzero3で使ってるのをそのまま固めてアップしたつもりでしたが…。
332 :
319 :2007/05/24(木) 19:02:43 ID:???0
RedrawTodayがなくても文字は書き換わります. アイコンは変わっていませんでした.
333 :
1 :2007/05/24(木) 20:15:47 ID:???0
>>300 さん、
>>324 さん、
qkcとutf8sjisを、便利ツールとして
まとめサイトでリンクさせていただこうかと思うのですが、
ご許可いただけますでしょうか?
OKの場合、リンク先の変更などありましたら
ご指示下さい。
334 :
たけたけ :2007/05/24(木) 20:48:50 ID:???0
(ー'`ー;)う〜ん・・・・ RunAtで起動した直後にファイルのタイムスタンプを調べると 2009/04/22 21:05:01 なんてとんでもない日付になっているけど ファイラーとかで見てみても正常な日付になってる… なんでやねん!!
335 :
300 :2007/05/24(木) 21:43:46 ID:???0
いいですよ。 でも、ライセンス確認したら、 オープンソース的なライセンスじゃないですね。 まずかったな。作者さんに確認してみます。
336 :
324 :2007/05/24(木) 22:16:58 ID:???0
構わないですよ。 URLもそのままでOKです。
337 :
1 :2007/05/25(金) 00:29:25 ID:???0
>>335 了解です。お手数かけますがよろしくです。
必要なクレジット等も記載しますので、
ご指示下さい。
>>336 ありがとうございます。
qkcの確認をいただいた時点で
ふたつ揃えて載せさせてもらいますね。
338 :
いつでもどこでも名無しさん :2007/05/26(土) 22:09:36 ID:aP9C+4KA0
たけたけさんの作成された 天気予報表示のSCRIPTを利用していますが、 当日の最低気温が表示されない原因を究明できません。 レジストリに書き込まれていない模様です。 どなたかご指導お願いします。
339 :
たけたけ :2007/05/27(日) 00:41:22 ID:???0
>>338 どなたかって本人に聞けよ( ̄ー ̄; ヒヤリ
最低気温が表示されない原因は幾つかありますが
まずは直接gooのお天気ページをみて
実際に最低気温が表示されているかいないかを確認してください
gooで表示されていなければ表示していないのは正しい動作です
gooで表示されているのに表示しないのは不具合でしょう
rlTodayにはどう表示されていますか?
xxxと表示されているとしたら表示させようとしているレジストリ名を
間違えている可能性があります
こちらでは気温関係で不具合は出ていないので
不具合の出ているTenki.txtを送って貰えれば対処します
340 :
1 :2007/05/27(日) 02:06:52 ID:zd4bHOg30
TCPMPでYouTubeのフラッシュビデオが再生出来る
プラグインが公開されたようなので、書いてみました。
「クリップボードにコピーされたYouTubeのURL( or ID) を元に
フラッシュビデオ(.flv)ファイルを自動的にダウンロードして
再生するスクリプト」のコード
http://home.att.ne.jp/wave/deox_pop/scripts/YouTubeDL.txt ブラウザで開いているYouTubeの閲覧URLをコピーし、
スクリプトを起動するだけで、
自動的にプレイヤーアプリで再生可能になります。
<別途必要なファイル>
>>330 の "MatchRep.mscr" ver.5.23.2007
>>324 さんの"utf8sjis.exe"
※スクリプトファイルのコメントを必ず読んでね。
※YouTubeDownload.exeは必要ありません。
>>340 オイラも昨日クリップボード履歴からDLして再生ってスクリプト書いた
YouTubeDownload利用だしエラー処理ができていなくて
素人が書いたらこうなりますって感じですかね
後で見比べて参考にさせていただきます
一つ質問させて下さい
挑戦したのはOperaだけなんですが
アクティブなタブのURLをクリップボードに格納する事はできないですか?
アクティブウィンドウを取得してアドレスバー辺りを
1 マウスクリックしてライン選択させてctrl+c
2 マウス長押しで↓の後リターンキー(コピー)
どちらもクリップボードに格納されませんでした
皆さんそこまで自動化してないのは難しいのかな
342 :
1 :2007/05/27(日) 16:06:37 ID:???0
>>341 > アクティブなタブのURLをクリップボードに格納する事はできないですか?
できますよ。
MouseClick( 200, 80 )
SendCtrlKey( "a" )
SendCtrlKey( "c" )
Message( ClipText() )
ただ、クリップボードにコピーする手段は人それぞれ
(たとえば俺は検索結果一覧表示ページで「リンクターゲットをコピー」)
だし、ブラウザも人それぞれだから
そのへんは各自が自分の環境に応じて加えればいいと思って、
実装してないだけです。
343 :
172 :2007/05/27(日) 18:30:25 ID:???0
仕事終わった…! スヌーズ機能のある目覚ましっぽいのが公開されていましたね。 ちょっと機能がかぶるけど仕方ないか。自作目覚まし、アップしたやつを直します。 PCでのrsync(名前違うかも)みたいに、定期的にあるディレクトリを別の場所へ コピー(バックアップ)するようなスクリプトも作ってみます。 YTaskManagerは本体に置きたいけど設定ファイルは常にバックアップしておきたい、とか。
344 :
1 :2007/05/27(日) 18:57:05 ID:zd4bHOg30
YouTubeDL.mscrでいい気になって
がんがんビデオファイルを落としていると、
IEのキャッシュフォルダに巨大なファイルが溜っていくようです。
MortScriptのDownload()はそういう仕組みなんですね。
というわけで、YouTubeビデオのキャッシュだけをすべて消去するスクリプト。
CacheDir = RegRead( "HKCU", \
"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", \
"Cache" ) \ "Content.IE5\*"
#ここまでは実際にはもちろん1行にまとめてOK
ForEach folder in directories ( CacheDir )
Delete( folder \ "get_video*" )
EndForEach
これを単体スクリプトとして、気が向いた時に起動させてもいいし、
YouTubeDL.mscrから呼び出してもいいでしょう。
たった4行のスクリプトなので、
俺はYouTubeDL.mscrの末尾に直接付け加えました。
Delete() を含んでいるので、改変される場合はくれぐれも気を付けて下さい。
>>343 乙です。
345 :
いつでもどこでも名無しさん :2007/05/27(日) 22:07:07 ID:DekbMsPi0
338です。 たけたけさん、丁寧な回答有難う御座いました。 結論としましては、[gooの天気予報ページに当日の最低気温が表示されていなかった] のですか表示されなくて当然でした。 確認してから発言すべきでした。m(__)m
346 :
いつでもどこでも名無しさん :2007/05/28(月) 09:58:52 ID:tcL4s6cq0
最近MortScriptで遊びはじめた初心者です。 choice使って選択ダイアログだしてるときに Today画面を表示させようとしたら できないんですけど仕様ですか? 回避方法とかあったら教えてほしいです。m(__)m
YouTubeDL.mscr使ってたら削除不可のデタラメなファイル大量にできてメモリーカード死んだorz DL中に節電モード?入ったトキかな・・
348 :
1 :2007/05/28(月) 17:11:31 ID:???0
>>346 ダイアログは常にToday画面の前面に来るようですね。
他のアプリのウィンドウは前面に出せるのにね。
>>347 「デタラメなファイル」についてもう少しkwsk
"get_video[1]"とかいう名前じゃないですか?
だとしたら
>>344 を読んでみて。
>>1 指定したDLフォルダに
「@8タ1P{.{・」の様な名前変更不能のフォルダがたくさん作られてました。
削除しようとすると、「削除中に問題が発生しました。」とエラーが出ます。
他にも924MBのファイルや12MB等。実際容量は残っているので924MBの方はダミーだと
でしょうけど。。
目的のファイルはちゃんと落とせるんですけどね。
350 :
1 :2007/05/28(月) 18:21:38 ID:???0
>>349 フォルダが??
そのフォルダの中にある、容量の大きなファイル名は何でしょう?
わざと「DL中に節電モード」になるように試してみましたが、
問題は起こらなかったです。
スクリプトコードを見てもらえばわかりますが、
フォルダを作るプロセスは、
「#保存ディレクトリがなければ作る」だけなので、
それ以外にフォルダが出来ているとすれば、
それはIEキャッシュの仕業以外に思い付かないんだけど。
あと、機種は何ですか?
機種はX01HTです。トラブル時はキャッシュ消去のスクリプトは書き加えてない状況でした。 おかしくなったトキと同じ状況で今再現してみたのですが、正常にDLできました。 フォルダの中はすべて空でした。フォルダ、ファイル名はすべて文字化けしていて、一番大きなファイルは「オ」となっていました。 "ホ,1・..仍譏 @8タ1P{.{・ |ソ・、V■.x I賠N?bヌヨ.ナU2 オ・娶榮.ヲヲヤ ユA�緬l「.、 ョ YモァサHヌ.2・ 箆ォフs択.。f �ム噂テ・.ニL ・p@タ.> オ 素人でお役に立てなくてすみません
352 :
1 :2007/05/28(月) 19:51:25 ID:???0
>>351 今度は問題なかったということですか。
とりあえずよかった。
文字化けは、なんかバイナリっぽいですね…。
IEキャッシュが溜って、データ記憶領域を圧迫し、
OSが不安定になって、OSがテンポラリファイル作っちゃったとか
そんな感じでしょうか…。
俺のZERO3でも、一度データ記憶領域がゼロになって
アラートが出たことがあったんだけど、
miniSDカードへのDLは正常に完了してました。
ちなみに、
>>344 のキャッシュ削除スクリプトは、
IEキャッシュの保存場所を、レジストリを読んで把握しています。
動作確認機種は同じくW-ZERO3 003SHですが、
機種が違うと、レジストリも異なる可能性が無くは無いので、
皆さん念のため確認してみて下さい。
あと、YouTubeDownload.exeを使ってDLした場合も、
やはり"get_video[*]"という名前のキャッシュファイルが溜るので、
>>344 のスクリプトは使えます。
353 :
1 :2007/05/29(火) 00:18:40 ID:To+4o2OT0
そりゃ書き込み中にサスペンドしたんなら カードおかしくなって当然だよ IdleTimerResetでサスペンド回避すればいいやん、って思ったけど ダウンロード中にサスペンド移行時間が過ぎてしまうと役に立たないのかな
いいなぁこれ。 クリップボードに投げたurlでファイルがダウンロード出来るだけで、 ストレスが軽減される。
356 :
346 :2007/05/29(火) 11:59:40 ID:???0
>>348 うーん無理なんですねー
回答ありがとうございました。
>>356 ちょっと面白い事を発見
FloatMe!でフロート化すると隠れてはいるけど
ウィンドウタイトルの右に最小化と最大化ボタンができるので
(xボタンは終了になる。PCと同じ配列になってますね)
MortScriptのChoiceダイアログをフロート化して最小化ボタンをタップしてみると
ダイアログが最小化されToday前面に出る
が、即座に元の大きさに戻る
最大化でなく元の大きさってのがミソ
フロート化するとウィンドウの大きさも変更できるので
邪魔にならないくらい小さくして端っこによせておけばTodayのアイテムを操作することが可能
ダイアログはアクティブになったら最大化されるので
タップできるくらいの大きさを残すかタスク切り替えアプリでアクティブにすればおk
応用を色々考えてみると面白いかもね
358 :
1 :2007/05/29(火) 18:32:31 ID:???0
>>354 「節電モード」ってサスペンドのことだったのかな。
IdleTimerResetは、そうなんだよね
次のサスペンドまでのカウントダウンをやり直すだけだから。
Download()実行中に別のコマンド出せないし。
でも、そもそも俺のZERO3では、通信中はサスペンドしないんだが
X01HTはするのかな…?
>>355 どうもです。
359 :
1 :2007/05/29(火) 18:56:30 ID:???0
>>357 なるほど。じゃぁ俺は、同じ発想で
MortScriptだけでなんとかする方法を。
options[1] = "選択肢1"
options[2] = "選択肢2"
options[3] = "選択肢3"
options[4] = "待機…"
#Choiceのプロセスをサブルーチン化しておいて呼び出す
Call ChoiceOrHold
#以下、サブルーチン
Sub ChoiceOrHold
Choice( "タイトル", "プロンプト", options )
Case( 1 )
#命令文
Case( 2 )
#命令文
Case( 3 )
#命令文
Case( 4 )
#移動可能な小さいダイアログを表示
Message( "待機中" )
#OKを押すと、同じChoiceダイアログを再表示
Call ChoiceOrHold
EndChoice
EndSub
異なるエレメント数で再帰的にChoiceOrHoldを呼び出したい時は、
ちょっと工夫を加える必要があるけど。
360 :
356 :2007/05/29(火) 20:11:53 ID:???0
>>357 試してみました。
FloatMeってソフトだったんですね
関数かと思いましたw
ウインドウのサイズを変えて
その隙間からTodayの操作。
うーんこんなアプローチの仕方もあるんですねー
勉強になります。
>>359 MortScriptのみで!!
わざわざコードまで書いていただいて
ありがとうございます。
サブにして呼びだすことで処理をループ
そして小さなメッセージを表示してその脇から
TODAYへのアプローチというわけですね
こんな初心者に親切に教えていただいて
ありがとうございました。m(__)m
YouTubeDL.mscrはかなりセンセーショナルで 祭になってるのかと思って来てみましたが 以外にこのスレは静かなんですねw ありがたく使わせてもらってます
>>361 だがそこがいい…かな?w
どもどもです。
#####
あと、遅ればせながら…
W-ZERO3 ツールMEMOさんが導入手順を基本から詳細に紹介して下さっていて、
MortScriptに不慣れな人にもかなりわかりやすかっただろうと思います。
こんな過疎スレを見て下さっているだけでなく、
親切なコメントもいただいており、感謝感謝です。
この場を借りて、お礼申し上げます。
363 :
1 :2007/05/30(水) 19:39:08 ID:???0
あ、↑は俺です。
364 :
172 :2007/05/30(水) 23:04:13 ID:???0
目覚ましスクリプト修正中です。
>>322 >>323 (まだ見てくれているかは分かりませんが…)
\My Documents\MortScript\目覚まし
に入れるとqkcが上手く動かないようです。
\My Documents\MortScript\me
に変えてみたら上手くいきました。なんでだろ…。
文字化けの原因はたぶん↑なので、インストール先を浅いディレクトリにしてみてください。
>変なところで改行が入っちゃってるみたいでエラー吐いた
>命令の途中やコメントアウトの途中で改行されてる所を修正すればおk
具体的にどこの行か分かりますか?zipファイル見直してみたのですが
それっぽいところが見つからなくて。
>>364 もしかして日本語フォルダが原因じゃないか?
YouTubeDL.mscr ありがたく使わせてもらってます。 気づいたのですがファイルパスがらみの文字を処理(置換or削除)しないと 保存できないケースが出てしまいます。 タイトルに '/' など含むパターンだとNGです。 パスに使用できないのは Windowsだと '\' '/' ':' '*' '"' '?' '<' '>' '|' で このへんWM5でも同じかはちょっと分かりませんが.. もし修正される機会がありましたらよろしくお願いします
367 :
1 :2007/05/31(木) 02:55:45 ID:irjOxxqK0
368 :
1 :2007/05/31(木) 02:58:13 ID:???0
<YouTubeDL.mscrの差分>
#Old 73行目から2行#############
flv_nam = SubStr( title, 1, 16 )
mr_In = flv_nam
#New######################
#ASCII文字コードを処理###
mr_In = title
mr_Pat = "s!&.*;!!g"
CallScript( MatchRep )
title = mr_Out
flv_nam = SubStr( title, 1, 16 )
#ファイルパスに使用できない文字(列)を処理###
mr_In = flv_nam
mr_Pat = "s!*|?|<|>|\|\\|:|/|""!-!g"
CallScript( MatchRep )
mr_In = mr_Out
mr_Pat = "s/--/-/g"
CallScript( MatchRep )
mr_In = mr_Out
##############
もしかしたら、
>>364 さんの問題も
同様の原因かもしれませんね。
文字列「目覚まし」には"<"が含まれているようですし。
369 :
1 :2007/05/31(木) 03:05:11 ID:???0
>>367 × ASCII文字コード("""など)を削除
○ ASCII文字コード("""など)を削除
>>362 某所管理人です。
こちらこそありがとうございます。おかげで便利なMortScriptが色々と出てきたわけですので。
いつもコピペさせて頂きまくりですみません。<(_ _)>
ある程度の知識があること前提&キャプチャも何も無い簡単な紹介でしたので、どの程度の方が新規導入されたのかは怪しいところで・・(^^;
371 :
323 :2007/05/31(木) 08:21:14 ID:???0
改修ご苦労様です 改行に関しては端末で落とせなかったので 全選択コピペでやったのがまずかったのかもしれません 自分の場合は10カ所以上あって直しちゃったので具体的位置はわかりません ただ322さんのようなエラーが出て322さんの場合は = の後に改行が入っちゃってますね 少なくとも自分の場合エラーのダイアログで勝手に改行してるわけじゃなったです 文字化けは時間があったら日本語ファイル名とか変えてやってみます
directDLのアプローチ、いいですね。 nScriptのほうが、文字処理が行いやすいし。 タップやアクティブウィンドウの取得などが得意なMortScriptと組み合わせると丁度いい。 MortScriptをフロントエンド的に使うことで、可能性はかなり広がるんだねぇ そういえば、最近リリースされたPocketHpteってエディタはXMLファイルで色分け定義自分でできるみたいだね。 MortScriptにも対応できるかも
366(&directDL.ns)です。修正ありがとうございます。 ってか1さんもツールMEMOさんも仕事早すぎ...Σ(゚ロ゚ノ)ノ ヒイィィィ!!!!
374 :
1 :2007/05/31(木) 19:57:32 ID:???0
>>370 中の人降臨キターーーーw
いえいえ、俺の説明コメントなどは「ある程度の知識」どころか
「MortScriptは当然導入済み、マニュアルを読んで理解している」
ことを前提とした不親切なものなので、たいへんありがたいフォローアップです。
ちょこまかとバグフィックス版が出てしまいましたが、お手数かけますです。
今後ともよろしくおねがいします。
>>373 directDL.nsの中の人も降臨キターーーー
というか、
>>366 さんはそうだったんですね。
nScriptとの住み分け、というか得手不得手は、
このスレの最初のほうでもmoy****さんと対話してますが、
まぁ「気合い」というほどのものではないにせよ、MortScriptスレの1としては、
「MortScriptだけでどこまでやれるか」ひとり研究会みたいな感じだし
(MatchRep.mscrなどはその典型)、
あと、nScriptと併用するのは、お好み焼きをおかずにご飯食べてるような感じが
しないでもないので…w
でも、みなさんはどうぞ、好きにやっちゃってーって感じです。
375 :
1 :2007/05/31(木) 20:15:28 ID:???0
…とはいえ、本体メモリに空き領域が無いというのは 切迫した問題だとも思うので、考えてみました。 #IEキャッシュの保存場所 一時変更プロセス1############## #オリジナルのキャッシュフォルダパスを保存 CacheDir_saved = RegRead( "HKCU", \ "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", \ "Cache" ) #フリーズなどした時の為に念のためメモを残す WriteFile( destDir \ "cachedir_saved.dat", CacheDir_saved, 0 ) #.flvファイル保存と同じフォルダに変更 RegWriteString( "HKCU", \ "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", \ "Cache", destDir ) ################ #これ↑を「#閲覧htmlページをダウンロード #Download( url, tempUTF )」の前に置き、 #これ↓を「#動画ダウンロード #Download( flv_url, theFlvFile )の直後に置く。 #IEキャッシュの保存場所 一時変更プロセス2############## #レジストリ値をオリジナルに戻す RegWriteString( "HKCU", \ "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", \ "Cache", CacheDir_saved ) ##################
376 :
1 :2007/05/31(木) 20:16:28 ID:???0
こう↑すると、miniSDなどに設定したflvファイル保存フォルダの中に キャッシュ用フォルダがつくられ、本体メモリを圧迫しないで済む。 「キャッシュをminiSDに置くと不具合が起こりがち」との声も聞いた事があるけど、 今の所問題は無いみたいです。一時的だし。 この場合、DL後のキャッシュファイル消去プロセスは 当然この↓ようになります。 ForEach folder in directories ( destDir \ "Content.IE5\*" ) Delete( folder \ "get_video*" ) EndForEach
377 :
172 :2007/05/31(木) 22:39:55 ID:???0
和訳マニュアルですが、 8.4 選択ダイアログによる分岐(Choice, ChoiceDefault) 中の、「理屈としては…」の行にあるChoiceへのリンクがQuestionへのリンクになっていました。 一つ番号がずれているようです。 某所管理人さん、いつもお世話になっています。有用なサイトを本当にありがとうございます。
378 :
300 :2007/05/31(木) 23:13:39 ID:???0
作者様から返事来ない…… いや、一度来てそれに返信したらそこでとまた 時間かかるかもです
379 :
1 :2007/05/31(木) 23:28:09 ID:???0
>>377 ほんとだ。これは原文が
"see 9.19.5 Selection from a list (Choice)"
になってたんだな。
直しました。サンクスです。
>>378 了解です。お手数かけてすまんです。
急ぎませんので、よろしくお願いします。
380 :
172 :2007/06/01(金) 00:20:56 ID:???0
>>379 おつです。色々参照させてもらってます
a = Choice("test","test",0,0,"aa","bb","cc")
Message(a)
b = Choice("test2","test2",0,0,"a","b","c")
Message(b)
ってやったら2回目のChoiceが飛ばされました。b=0の状態です。
じっくり考えてみたのですがなんでそういう動作になるのか理解できてません…。
どなたかヒントをください。
(ディレクトリ選択ダイアログを作ろうとしてました)
381 :
1 :2007/06/01(金) 01:18:05 ID:???0
>>380 コピペして走らせてみたけど
飛ばされずに普通に2回Choiceダイアログ出たよ?
366っす。今見ると文章おかしいですね.. 訂正。 ×:パスに使用できない (←そんなわきゃない) ○:ファイル名に使用できない ところでYouTubeDLですがClipText() としているところ 時々改行などが操作ミスで入ってしまうとアレなので 最初の一行を有効とするように x = Part(ClipText(), "^CR^", 1) でどうでしょうか?
383 :
1 :2007/06/01(金) 03:33:15 ID:???0
>>382 なるほど。それは親切設計ですね。
ならば、いっそのこと、こうしましょう。
x = ClipText()
#文字列中の改行/スペースを除去
mr_In = x
mr_Pat = "s/^CR^|^LF^| //g"
CallScript( MatchRep )
x = mr_Out
384 :
1 :2007/06/01(金) 20:24:33 ID:???0
>>380 その不具合、再現できたよ。
ダイアログが2つ連続している場合に、
前のダイアログに対して"Enter"キー
(カーソルキーの真ん中のアクションキーも同様)を送ると
次のダイアログが選択系の場合、なぜか飛ばされてしまうみたい。。
画面タップなら正常に動くが。
これは困った現象ですな。
なんとかする方法を模索中なんだけど…。
385 :
172 :2007/06/01(金) 22:01:29 ID:???0
>>384 ほんとだ…タップだと上手くいきますな。
[es]なもので、ずっとアクションキーで決定してました。
キーバッファをクリアしてないような感じ…懐かしいw
もやもやしてたのですっきりしました。ありがとうございます。
386 :
172 :2007/06/01(金) 22:33:23 ID:???0
sleep(100) ってはさんだら上手く動きました。 とりあえずよかったー N88BASICでゲームとか作って遊んでた頃を思い出しました。
387 :
たけたけ :2007/06/01(金) 22:53:16 ID:???0
安定動作したかな〜と思ってログ取りやめると不具合出るのは仕様ですか? また当分ログ取り生活か〜 いつ再現するのやら… って言うかさ〜 ログ取りするとタイミングが遅くなって不具合出なくなって ログ取り止めるとタイミングがシビアになって不具合出るのはやめてくれ〜 …ただの愚痴でした
388 :
1 :2007/06/01(金) 22:59:00 ID:???0
>>386 ところが次がInput()だったりすると
Sleep()でもだめなんだよね。
今のところ、SleepMessage()を1秒でも挟めば上手く行くのはわかった。
ただし、またEnterボタン押すと意味が無いので、OK許可は0で。
389 :
1 :2007/06/02(土) 00:02:33 ID:JASRddVN0
いろいろ含め、またYouTubeDL.mscrをアップデートしました。
YouTubeDL.mscr ver.6.1.2007 のコード
http://home.att.ne.jp/wave/deox_pop/scripts/YouTubeDL.txt 別途必要なファイルがひとつ増えました。
http://home.att.ne.jp/wave/deox_pop/scripts/WinActivator.mscr →MatchRep.mscrと同じ「lib」フォルダに入れて下さい。
<更新>
・レジストリ値を一時的に書き換えることにより、IEキャッシュファイルの保存場所を、
ビデオファイル保存と同じディレクトリに変更できるようにしました。
必要ない場合は、"change_cache = " の値を0にして下さい。
・キャッシュディレクトリ変更を行う場合、ダウンロード中にフリーズしたりすると
オリジナルのレジストリ値が失われてしまうので、datファイルに保管します。
次にYouTubeDL.mscrを起動すると、datファイル内のデータを、
レジストリにレストアして終了します。
・ファイル名 "_<ビデオID>.flv" の前のタイトル部分の文字数を
変更できるようにしました。
"title_length = " の値に文字数を設定して下さい。
・動画ダウンロード開始確認ダイアログを変更し、
「キャンセル」ボタンでリネームできるようにしました。
・動画ダウンロード時、
なぜかバックグラウンドに隠れてしまうDownloadウィンドウを
強引に前面に出すようにしました。
・ほかにもいくつかエラー処理をほどこしました。
390 :
たけたけ :2007/06/02(土) 07:21:42 ID:???0
Input()と言えば IMEの入力確定(or文節変換確定)をすると そのままInput()の入力確定になっちゃいませんか? 日本語環境だといま一つ使い辛いなぁと思う
391 :
1 :2007/06/02(土) 17:49:15 ID:???0
>>390 なっちゃうね。
だからなるべくInput()は使いたくないんだけど。
まぁファイル名はできるだけ横文字で、ってことでw
台湾いいね、又行きたいな
1週間美人の女の子と暮らして30万だったよ
395 :
1 :2007/06/04(月) 19:10:49 ID:???0
>>373 さんに伝言
directDL(directDL.mscr) v0.1.0 見ました。
Sub 〜 EndSub の後ろに何を書いても無視されることを
うまく利用してますねw
nScriptって、スクリプトファイルの拡張子なんでもOKなんですね。
細かいこと1点だけ。これ↓はやめたほうがいいと思います。
RunWait(nScript, optStr) #自分自身を呼ぶ! いでよオレヽ(゚∀゚)ノ
コメントは必ず行頭に、ね。それに、#の前が全角スペースだし。
396 :
たけたけ :2007/06/04(月) 21:17:09 ID:???0
あ〜!! 今更ながらだけどeor(xor?排他的論理和って奴)が欲しいッッッ ひっじょ〜に欲しいッ 君が…欲しい… とか流し目使っちゃうぞ〜!!!
>>395 ぐは いろんな言語がごっちゃになってるからなぁ...
突っ込みの通りです。
行頭だけしか駄目ってパターンはあまりないですよね。
全角スペースはZERO3コーディングなんで
エラーがでない限り気づけないです。
IME設定で半角スペース強制したいんですけどねー
機会があれば修正しときます。
どうもでした。
>>396 そんなの
あるもの組み合わせて使えばいいじゃん
YouTubeのHTML書式が少し変わったようです。 現在、YouTubeDL.mscrでは落とせなくなっています。 YouTubeDownload.exeでも同様らしいです。 今夜対応しますので、少々お待ち下さい。
401 :
1 :2007/06/05(火) 16:36:55 ID:???0
またやっちゃった。
>>400 は俺です。
お急ぎの方は、174行目
(「#ダウンロード用URLに必要な引数を抽出」の下の行)
を、以下のように修正して下さい。
html = SubStr( html, Find( html, """/player2.swf?" ) + Length( """/player2.swf?" ))
こういう修正対応は、スクリプトだと楽だね〜
>>1さん乙です 素人ながら情報を見て設定できれば、と思っています。 見当違いの質問でしたらすみませんが、 003SHでブラウザはopera、キャッシュは普段miniSDカード(cache4)に移して使っているのですが、YouTubeDL.mscrのキャッシュ削除などの設定はどのように変えたらいいのでしょうか? (見たところIEで設定されているのかと思えたので・・)
403 :
1 :2007/06/05(火) 17:57:24 ID:???0
>>402 いや、何も変更しなくていいです。
「IEで設定」してるのではなく、
Download()コマンドを使うと、
WindowsMobileが*勝手に*IEキャッシュを溜めてしまうので
削除したり保存ディレクトリを一時変更したりしているのです。
通常使用するブラウザは関係ありません。
404 :
402 :2007/06/05(火) 19:15:08 ID:???0
>>403 そうなんですか
失礼しました。
修正したもので設定しダウンロード出来ました。ありがとうございます。
405 :
たけたけ :2007/06/05(火) 19:52:00 ID:???0
>>398 If((A OR B) AND NOT(A AND B))
とかやるより
If(A EOR B)
の方が良いじゃん
分かり易いし処理も早い
アセンブラなら前者でも良いけど所詮インタプリタ言語
何倍もの処理時間が掛かっちゃいますよ
406 :
1 :2007/06/05(火) 20:26:15 ID:AeF6eBnJ0
>>405 count=10000
A=1
B=1
start=TimeStamp()
Repeat(count)
If(A OR B)
C="hoge"
EndIf
EndRepeat
Message(TimeStamp()-start & "秒かかりました")
start=TimeStamp()
Repeat(count)
If((A OR B) AND NOT(A AND B))
C="hoge"
EndIf
EndRepeat
Message(TimeStamp()-start & "秒かかりました")
「何倍も」なんてかかんないよ
そんなのより正規表現とかソートの有無のほうが
ずっと差が出る
どっちにしてもここで言っててもしょうがない
408 :
たけたけ :2007/06/06(水) 06:54:11 ID:???0
>>407 揚げ足とるなぁ^^;
それに秒単位の計測だから最大二秒の誤差が出るよ
それにAとBの値も変化してないから意味が無い
前者と後者で演算結果が違うから計測する意味がまったく無い
両者を比べる上でこの二点が違うだけで無意味な事位分かるでしょ
インタプリタでそこまで差が出るとは思ってないし
一番問題にしているのは視認性だよ
ま〜それでも上記計測に意味を持たせるなら
start=TimeStamp()
Repeat(count)
If(1)
C="hoge"
EndIf
EndRepeat
と言う空ループの時間を両者から引いた結果で語って欲しいな
それでも気にするほどの差じゃあないとか言われそうだがw
わかったから おまえのチラ裏力キコが うざがられているのに そろそろ気づけよ
410 :
たけたけ :2007/06/06(水) 22:38:43 ID:???0
あ〜そうやって自分の無知を棚に上げて途中で投げて逃げる訳ね ま〜いいや どっちにしても無いものねだりだし あればいいな〜って話だけだし あたしゃ英語力無いから向こうで書けずにここで騒いだだけだし 3倍弱処理時間掛かるけど方法が無い訳じゃないしね〜 今時の早いCPUですから痛くも痒くも無い位の処理時間の差だしね あ〜なんか黒くなってる いかんな…
コテハンまで使うなら、もう少しまろやかに書けよ せっかくの良スレなのに、荒れそうな原因作らないで...
412 :
たけたけ :2007/06/06(水) 23:22:44 ID:???0
この位で荒れるかなぁ?
スクリプトについて言い合ってただけだし
まぁ
>>409-410 に関しては売り言葉に買い言葉だったとは思うけど
コテハンは別に…昔の癖なだけで特に意味はないよ
古い人間だから詰まらない処理速度の差に拘るだけですよ
ま〜それはそれとして
eorは便利な演算子だと思うけどな〜
あまり需要は無いのか…
3倍弱処理時間掛かる、という根拠が知りたい
こんなパターンでいつも頑張ってる人が潰されるのよね
415 :
1 :2007/06/07(木) 03:03:15 ID:???0
なんかこのスレもだんだん2chのスレっぽくなってきたなぁw こないだは誤爆もあったしねw べつに1だからって仕切るわけじゃないが、ひとこと言っていいかな? ご存じのとおり、MortScriptに無いものはたくさんある。 現時点ではXORもregexもElseIfもSortもBreakも無い。 XORをよく使う人は「XORが無い!」と言いたくなるし そんなに使わない人は「XORなんて無くてもいい。むしろregexがほしい」 と言いたくなる。 正規表現を知らない人は「知らないから気になりません」と言う。 ひとつ言えることは、ここで「何が本当に必要か」っていう議論しても 俺は日本を代表してWishlist Forumに書き込んだりしない、ってこったw まぁ俺としては、たまには愚痴が附随しててもいいけど、 何かが無ければ無いなりに、 「こうすれば何とかなる」とか「処理速度を稼げる」とか 前向きなネタを紹介し合うスレになるといいな、と思ってます。 何かが無かったからこそ、directDLみたいな Mortとnのハイブリッドスクリプト、みたいな知恵も生まれるわけだしね。
ここしばらく色々試してみた結果 サーバーサイドでMortScript生成するのが 一番効率的なんじゃないかと思えてきた。
417 :
1 :2007/06/07(木) 04:50:14 ID:???0
>>416 「サーバーサイドでMortScript生成」についてkwsk
俺はちょうど、
サーバーサイドでMortScriptで扱い易いiniファイル生成について
考えていたんだが。
そうだよなー
>>223 > 正規表現を知らないあちしにとっては
> mscrはどの辺が文字列操作苦手なんだろうという結果にw
正規表現も知らないやつが
他人を無知呼ばわりか。
てか ちら裏カキコするのに
いちいちコテにすることもなかろうに
バグだらけのスクリプト書きつつ
開発者気取りか?
419 :
たけたけ :2007/06/07(木) 06:59:24 ID:???0
>>413 ttp://w-zero3.org/uploader/src/up0297.zip 上記プログラムでうちの環境では三倍弱の差が出た訳よ
純粋に
a OR b と (a OR b) AND NOT(a AND b) の速度比較した結果よ
まぁフルリセットしたまっさらな環境でもなければ
常駐物を可能な限り排除した状態でテストした訳じゃないけど
少なくともうちの環境では後者は三倍弱の時間が掛かった訳
まぁ暇ならおよそ15分前後掛かるかと思うけど走らせてみ
420 :
たけたけ :2007/06/07(木) 07:00:19 ID:???0
改行多すぎとか言われた*o_ _)oバタッ
>>418 まったく知らない訳じゃね〜
[1-6]程度なら知ってるw
正規表現が必要な環境では育たなかっただけだし
ファイル名なんてワイルドカードで十分だったしな
韓国語が不必要な環境で育った奴で韓国語を知っている奴の割合は
韓国語が必要な環境で育った奴で韓国語を知っている奴の割合より低いのと
同じ理屈かと思うけど^^;
それに開発者なんて思ってないし
自分の為に書いたソースを公開したってだけの話
バグだらけのソースって言ったって
1さんだってバグのあるソース公開して後からデバグしたソース出してるし
OSであるWindowsなんか何年経ってもデバグしきってないしね
フリーソフトなんて基本「自分の環境で動けば問題なし」だし
「他人の環境での不具合に対応」は書いた人がどうするかでしょ
「こんな機能追加して欲しい」と要望しても
書いた人が「趣向に反する」と言って却下する事だってある
世に出てるフリーソフトだって
「○○の不具合修正」と言ったバージョンアップあるし
木屋さんだってバグ付きのまま製品出してたし
まぁここで木屋さんを引き合いに出しても意味ないけど
ま〜処理速度の比較で言うなら
eorなんて大した差じゃないしね(ほぼ単発だし)
正規表現を正式に命令で準備して貰えた方が
処理速度への貢献度は高いよね〜
>>420 せっかく1さんが方向修正してくれようとしてるのに、あんたって人は・・・
フリーウェアも然りだが、バグでブツブツ言うくらいなら、自分で組めば?て思う。 おあつらえ向きに環境も簡単に作れるし、情報も結構出てるじゃん。 それで見返してやれ! で、その甘い蜜を俺にも吸わせてっ!
コテハンにスルー力は必須。 >コテハンは別に…昔の癖なだけで特に意味はないよ 空気読んでる1氏と違って、 あなたはコテハン名乗るようなキャラじゃないことは確かだね。 あんまり2ちゃんねるに書き込むことって無かったでしょう? 論破すれば場が収まるというものじゃないんだよ。 俺はわざと論破して場が荒れるのを楽しむことはあるけど、 一段落したら流れを切る。 コテハンの場合は、名前を名乗り続ける限り、 以前の所行が付いて回るわけよ。 事あるごとにやりあった連中から煽りが入るよ。 名無しが流れる川だとしたら、コテハンはよどんだ沼。 そのことをよく理解した方がいい。
242 名前:たけたけ[sage] 投稿日:2007/05/08(火) 23:40:55 ID:???0
>>241 当たり前じゃないですか
ちゃんとreadmeにもgif→png変換と書いてあったでしょ
変換ツール紹介までしたのに…(-""-;)ムム
拡張子変更程度ならわざわざ母艦で変換して下さいなんて
皆様の手を煩わすようなスクリプト書きませんッッ
それはそれとして
また幾つかアイコン化対応しました
風向き・洗濯指数・傘指数・星指数です
またgooのお天気アイコンにも対応しました
png変換はかなり苦労すると思うのでお勧めしませんがw
(ー'`ー;)う〜ん・・・・
完全に趣味の世界だ…
↑のような書き方が癪に障る
>>419 どうでもいいけどW-ZERO3.orgうpろーだに
変なものうpすんなよ
>注意!
>・W-ZERO3に関係ないファイルはアップロードしないで下さい。
よく分からないけど
>>1 がんばってください。
あとOperaでページ検索できるスクリプトは
日本語変換するとすぐ検索しちゃうのは
仕方ないんですよね?
たいてい検索するのは1単語だからいいんですけど
使うときびっくりするんで。
使ってるのはesです。
427 :
1 :2007/06/07(木) 19:44:35 ID:???0
>>426 どうもです。
EnterキーがOK送っちゃう件ね。
うん、しょうがないんです。
>>390 も指摘してるけど。
俺はどうしても文章入れたい時は、
ソフトキーボードのスペース→バックスペースで
変換確定してます。。。
>>427 そういうやり方があるんですね。
やってみました。
なるほどです。
いい忘れてましたけどFindTextJを
使わさせていただいてます。
便利で助かってます。
ありがとうございます。
429 :
416 :2007/06/07(木) 21:03:54 ID:???0
>>417 例えば天気予報なんかだと
1.RSSとかをダウンロード
2.文字コードの変換
3.ファイルの読み込み
4.パース
5.レジストリに書き込んだり画像をコピーしたり
っていう手順になると思うんだけど
サーバサイドで1〜4までやってしまって
5の内容の(スタティックな)コードを生成、
ダウンロードしてCallScriptで
実行するのがいいんじゃないかなと思った次第
430 :
たけたけ :2007/06/07(木) 21:52:24 ID:???0
>>423 スルーするのは相手に失礼って言うものがあるので
スルーカは基本持ち合わせてませんね
場を荒らすつもりは無いけど結果そうなったのは不味かったと反省はしてます
一言多いのは性格なんですよね^^;
>>425 そりゃ失敬
削除しました
431 :
1 :2007/06/07(木) 21:56:12 ID:???0
>>429 俺が考えてたのもほぼ同じ。
1〜4までをサーバサイドでやって、
その次にMortScriptコードを生成するんじゃなくて、
.ini形式のファイルを生成して
IniRead( url )で読みこむことを、俺は考えてた。
これならみんなで使えるっしょ。
ども397です。 新esに飛びつくのはすでに決定事項。 ☆-(ノ゚Д゚)八(゚Д゚ )ノイエーイ 無印ZERO3は無線LAN常時接続として 二台運用でいろいろ幅が広がるかな?と思ってます。 新es−無印間の通信手順をソケットなりメールなりで決めて 簡易リモート操作など。 新esで予約したYouyubeファイルを無印でDL&再生とか。 アラーム設定とか。定期メール発信とかその他諸々。 ところでInput()での日本語入力はしょうがないので こんなかんじで我慢...といったところでしょうか。 ---- keyword = Input("Keyword", "MySearch", 0, 1) If (keyword ne "") keyword = Part(keyword, "^CR^", 1) : EndIf
434 :
1 :2007/06/08(金) 17:31:30 ID:???0
>>433 夢はひろがりますな。
俺は003SH1台でいいけどw
Inputの件、なるほどね。
複数行にしておけばリターンキー1回ではOK送らない、と。
Partはしなくても大丈夫みたいだね。
keyword = Input("Keyword", "MySearch", 0, 1)
#「試験」と入力
If (keyword ne "")
Message( Length( keyword ) )
EndIf
#→「2」を表示
ウィンドウのデカさを我慢するかどうか、ってとこですなw
435 :
1 :2007/06/08(金) 20:50:28 ID:???0
>>324 さんに伝言
たとえば
ttp://blogs.shintak.info/Rss.aspx のような文書を
utf8sjisで変換すると、空ファイルが出来てしまうようなんです。
他のUTF-8N文書で問題無く変換されるものもあるし、
ファイルサイズの問題でもないようです。
他の文書と何が違うんでしょうね。
お手数ですがお時間ありましたらちょっとチェックしてみて下さい。
Url = "(件のurl)"
Utf8sjis = "\Program Files\utf8sjis.exe"
utf8 = SystemPath( "ScriptPath" ) \ "test_utf8.txt"
Download( Url, utf8 )
sjis = SystemPath( "ScriptPath" ) \ "test_sjis.txt"
RunWait( Utf8sjis, """" & utf8 & """ """ & sjis & """" )
436 :
324 :2007/06/08(金) 22:55:23 ID:???0
>>435 とりあえず落としてみたんですが、全然改行してないみたいですね。
1行ごとに読み取ってる&1行のバッファを1024バイトしか用意してないのでそのせいだと思います。
明日あたり直してみますね。
437 :
1 :2007/06/08(金) 23:24:57 ID:???0
>>436 なるほどそういうことでしたか。
よろしくお願いします。助かります。
このところRSS処理に取り組んでいるもので。
438 :
たけたけ :2007/06/10(日) 01:55:13 ID:???0
まとめタノム
>>438 すんません、html_select.mscr はどこで配布されているのでしょうか?
441 :
たけたけ :2007/06/11(月) 00:14:08 ID:???0
442 :
1 :2007/06/11(月) 20:30:55 ID:kXX1itIM0
443 :
1 :2007/06/12(火) 01:57:11 ID:???0
( ´`ω´)シシシ (つ444⊂
445 :
1 :2007/06/13(水) 04:42:16 ID:27KkfhRp0
446 :
1 :2007/06/13(水) 04:44:30 ID:???0
(つづき)
なぜメモファイルを作るかというと…
俺はSpb MobileShell と Spb Diary というデスクトッププラグインを
気に入って使用しているのですが、
結構メモリも食うし、デザインを崩したくもないので
これ以上デスクトッププラグインを増やしたくないものの、
なんかデスクトップに1行文字列など表示したいものだと思っていて、
着目したのが Spb Diary の「最近作成/更新したドキュメントの一覧表示」機能。
フォルダとファイル種類を指定しておけば、ファイル名で一覧表示してくれるんです。
ということは、ニュースの見出しをファイル名としたメモファイルを作れば、
見出しが一覧表示されるということ。こんな風にです。
http://home.att.ne.jp/wave/deox_pop/images/RSSNewsCript_ss1.gif しかも、「見出し」をタップすれば、メモファイルを開かなくても、
Spb Diary はその内容を表示してくれます。こんな風に。
http://home.att.ne.jp/wave/deox_pop/images/RSSNewsCript_ss2.gif Spb Diary を使っていない人も、メモアプリの機能を使って、メールに直接添付したり、
内容のURLをリンク化(URLの末尾を手動で改行する。ファイルサイズは増える)して、
ワンタップでブラウザを開いたり出来るので、簡易RSSリーダーとしても使えると思います。
>>445 乙です。
zipに入っているReadme.txt、初めと最後辺り微妙に壊れているような?
解凍するソフト(DLL)との相性でしょうか。。
003SHを使用しています。 LANMANのように、パワーマネージメントのon/offを押すたびに切り替えてくれるソフトを探していたところ \HKLM\System\CurrentControlSet\Control\Power\Timeouts内の BattSuspendTimeoutとACSuspendTimeoutの値をMortScriptで書き換えれば可能とのレスを貰ったのですが、MortScriptで書き換え、とはどのようにしたら良いのでしょうか? YouTubeの件でMortScriptを初めて知った素人ですが、よろしくお願いします
>>448 プログラミングとか全く知らなくて
日本語マニュアルも読もうと思わないなら
TREっていうソフトでレジストリ書き出ししておいて
オンオフしたいときに読み込ませた方が楽だと思う
でもちょっとでも覚えると応用利くから頑張ってみるのもいいよ
その程度のレジストリ書き換え程度なら簡単だから
答えを求めるより自分で書いてみた方がいい
と、俺は思う
450 :
1 :2007/06/14(木) 12:23:42 ID:zmo7WKDq0
451 :
1 :2007/06/14(木) 12:33:22 ID:???0
qkc.exeが手にはいらないよぅ
>>452 このスレ内ぐらい検索したらどうかね、少年。
>>453 さっきはできなかったんだ。
ごめんよ汚して
直リンの最後に余計な括弧が入るからだな。
おもしろいRSSないかな〜
>>457 面白い基準は?
テキトーな記事を勝手に作って表示とか?
まあ、俺もRSS欲しいけどなー。
pRSSreaderを超えるRSSが今のところ無いなぁ。
流れからして Todayに表示させて面白いRSSフィードがないか ってことじゃね?
Twitterの特定アカウントがbotになってるよ。 そういうbotのRSSを拾うとか。
461 :
1 :2007/06/19(火) 19:42:01 ID:???0
462 :
1 :2007/06/19(火) 23:09:59 ID:???0
463 :
1 :2007/06/20(水) 00:36:32 ID:???0
Youtube も全部入り zip 上げて頂けないでしょうか Opera で.txt が落とせないので
>>464 ぽけギコからスレを開いてリンクをクリック、
DLで.txtもダウンロードできる。
試してみ?
>>464 url = ClipText()
file = SubStr(url, ReverseFind(url, "/" ) +1)
file = Part(file, "^CR^", 1)
path = SystemPath( "ScriptPath" ) \ file
Download(url, path)
467 :
1 :2007/06/20(水) 21:30:33 ID:???0
>>467 横から頂きました。ごちそうさまでした。
469 :
172 :2007/06/22(金) 01:21:07 ID:???0
和訳マニュアル、 9.12.1 テキストファイルを読み込む(ReadFile) で、一番下に ”ReadINIを参照”とありますが IniReadのことですよね。
>>461 使い方がいまいちわからないです
Rss2IniViewer.mscr起動
rss URL入れる
エンコードきめる
アイテム数いれる
Unknown command'downlord'
と出てしまいます
どなたかご教授お願いします
471 :
1 :2007/06/22(金) 02:17:14 ID:???0
>>469 ほんとだ。
これも原文が、"ReadINI" になってたんだな。
ご指摘サンクスです。
>>470 そのエラーが再現できないので、質問です。
Q1: Rss2IniViewer.mscr でエラーが出るんですね?
RssNewsCript.mscrじゃなくて。
Q2: 「アイテム数いれる」のあとに、
「改行コードを取り除くかどうか」「CDATAを扱うかどうか」
についてのダイアログが出るはずですが、出ますか?
Q3: できれば、具体的な設定内容を教えて下さい。
Q4: Unknown command'downlord' と出るんですか?
'download' じゃなくて?
揚げ足をとるつもりはないです。正確に知りたいので。
'download' を'downlord'って書いてたってオチ?
473 :
1 :2007/06/22(金) 03:09:31 ID:???0
俺は書いてないはずなんだけどね。
>>447 >>450 のこともあったので
うpしたやつを自分でDLして試験済みだけど。
たしかに、"Unknown command ..."っていうエラーは
コマンド集にない裸の文字列があるときに出るから
何かのはずみで、どこかに 'downlord' が書き加わっちゃってる
可能性はあるね。
おれのは普通に動いてるよ
Gmailの未読メールをtoday表示するために mortscript+rltodayの連携を考えているのだが・・・ WM版のdownloadってhttpsだめなの? PCでは動くんだけどWMだと開けないよ!的なエラー発生 GmailをRSSで取得してレジストリ経由でrltodayで表示 うまくいくとおもったんだけどなぁ・・・・
476 :
1 :2007/06/22(金) 17:55:27 ID:???0
477 :
470 :2007/06/22(金) 22:17:49 ID:???0
>>471 A1. そうです。
A2.でてます ちなみに全てのコンビネーションためしましたがだめでした
A3.RSSNewsCript.mscrの設定等は初期のままです
A4.揚げ足取られました(笑 おっしゃるとおりです
RSSNewsCript.mscrを起動しても同じエラーです
正確に書くと
Unknown command
'download'
Line:
Download(ri_Url,ri_In)
/*最近es調子悪いからかな〜*/
478 :
172 :2007/06/22(金) 22:42:39 ID:???0
479 :
1 :2007/06/22(金) 23:35:33 ID:???0
>>477 Download()コマンドは Rss2Ini.mscr の中で一度しか使ってなくて、
Download(ri_Url,ri_In) はまさにその行ですね。
ためしに、テキストエディタで新規文書を開き、
以下の1行だけ書いて、拡張子を.mscrにして走らせてみて下さい。
(綴りは絶対に間違えないでw)
Download()
もしこれでも "unknown command" というエラーが出るようなら、
MortScript.exeのバージョンが低いとしか考えられません。
ここ↓からv.4.0正式版を落としてインストールして下さい。
http://www.sto-helit.de/index.php?module=download&action=view&entry=65 もし"Invalid parameter count ... " というエラーが出るなら、
バージョンは正しいということになり、
何故あなたの Rss2Ini.mscr でエラーが出るのかさっぱりわかりません。。
480 :
1 :2007/06/22(金) 23:46:20 ID:???0
>>479 変更
<変更前>
MortScript.exeのバージョンが低いとしか考えられません。
ここ↓からv.4.0正式版を落としてインストールして下さい。
<変更後>
MortScript.exeのバージョンが低いか、版が違うとしか考えられません。
ここ↓からv.4.0正式版を落として、PPC版をインストールして下さい。
481 :
470 :2007/06/23(土) 01:14:04 ID:???0
>>1 さん
できたーーーーーーー
SP版だったです(泣
PPC版入れたらできました
このSP版ってスマートフォンの略じゃなかったの?
だまされたの俺だけ??
みなさんお騒がせしました
482 :
1 :2007/06/23(土) 01:37:13 ID:???0
>>481 やっぱりw
> 9.16.2 ダウンロード(Download)
・・・
> ★スマートフォン、PNAでは使えません。
いかにもSPはスマートフォンの略だけど、
W-ZERO3はPocket PCなんだよなー。
つーかSP版もインストール出来ちゃうんだね。
何にしても、よかったです。
( ;∀;)イイハナシダナー
>>1 さん
アンリ逝っちゃいましたね
今日RssNewsCriptデフォのまま走らしてたら
ニュースが飛び込んできました
アンリが死んだのかと思った。
>>484 俺のところにも飛び込んで来ました。。。orz
>>485 俺にとっては死んだも同然。。。
487 :
1 :2007/06/25(月) 19:26:22 ID:???0
↑は俺でした。。
ところで、
>>431 で言ってたみたいな
Rss2IniのCGI版立ち上げたら、みんな使うかな?
ずっと1さんのターン(=゚ω゚)ノ
これってさファイルがいじれて メールの中身を解析出来たりするのかな? もしそうならメールで遠隔操作とか出来て面白そう
491 :
1 :2007/06/28(木) 15:05:06 ID:???0
>>489 も俺でした。。
>>490 できるだろうね。
メールはWindows\Messaging フォルダに溜るから
定期的に新しいものを開いてパース
→ ReturnPathとSubjectが特定のものと一致したら
何かを実行、みたいな感じかな。
いざネタを考えるとなかなかおもいつかないよね
>>491 d。
考えたのは居場所検索システムみたいなの
ドコモもauもそういうサービスしてるけど1回315円とめちゃ高いのよね
そこでこれを使えば無料で居場所検索出来るなと思って
問題はGPSもしくはアンテナから現在地を割り出すプログラムが別途必要ってことだけど
GoogleMapにロケーション渡すソフトがサクっと作られるあたりWMって面白いね
494 :
1 :2007/06/29(金) 17:49:45 ID:???0
>>492 現バージョンでは
結構やり尽くした感があるんだよなぁ。
Rss2Iniもあんまり需要無いみたいだしw
>>493 GPS関係は利用してないんでよくわからんけど
メールのリモート操作で
退屈な会議を抜け出すための電話を掛けてくれるスクリプトとか
どうかな?w
標準で付いてる4桁のパスワード、 有効無効でトグルしたいんですが スクリプトで出来ますか?
トグルは無理だと思う
497 :
1 :2007/06/30(土) 18:46:05 ID:???0
>>495 W-ZERO3の、ってことだよね?
俺のは何故かパスワード機能が死んでるので試せないけど
Run( "\Windows\ctlpnl.exe", "cplmain.cpl,1" )
でパスワード設定画面表示
あとはMouseClickを送ってなんとかするしか無いだろうね。
てか、オフにするにはパスワード入力しなきゃいけないんじゃね?
携帯みたいにメールが着たら誰からきたかを表示させるとかは無理でしょうかね?
500 :
495 :2007/07/01(日) 01:50:48 ID:???0
>>497 ありがとうございます
MouseClickで挑戦してみます
501 :
1 :2007/07/01(日) 01:58:20 ID:???0
>>499 メアドを表示するだけなら
>>491 と同じ方針で行けるだろうけど
名前は難しいだろうね。
pim.volは覗けないし
メールヘッダ内の相手の名前はMIMEデコーダーが無いから読めない。
こっちの住所録が独自のSJISデータベースとして
用意されてれば照合できるだろうけど。
あるいは、特定の数人からメールが来た時だけ表示するとか。
>>499 スレ違いだけどtmail(って言うZERO3用ツール)使えばいいだけなんじゃいか?
mortscriptでも可能だけど上記ツールの方が簡単
それに128kb制限があるから大きな添付ファイルが付いていると無理なので
素直にtmail導入をお勧めしとくよ
>>498 location.requestにクエリー送るやり方も
有料サービス加入してないとできないんだよね?
顔文字のテキストファイルを一括で登録とかできますかね?(zero3es)
505 :
504 :2007/07/03(火) 22:04:12 ID:???0
なんか 別にモート使わなくてもいい気がしてきた
そういやみんな「モートスクリプト」って読んでるの? なんとなく「モルト」って読んでたのおれだけ…?
モー(ル)トかな。
508 :
1 :2007/07/05(木) 19:20:03 ID:???0
一度つかった配列を未定義にするってできないでしょうか・・・
>>511 現バージョンではできない
次のバージョンで出来る予定
そっか、どうもありがとう。
514 :
いつでもどこでも名無しさん :2007/07/13(金) 15:45:14 ID:f3b2aa2V0
ZERO3のソフト関連スレにも書いたんだけど、 GoogleMaps 1.2.0.9でgmm_navi使える様になったは良いが、 今度はMortScriptのAutoGMnaviでエラー吐く様になった。 コレってどうスクリプト書き換えたら良いんだろうか?
515 :
1 :2007/07/13(金) 18:24:11 ID:???0
516 :
514 :2007/07/13(金) 18:43:13 ID:???0
>>515 うわぉっ!?
やり方を教わるつもりが、まさか作って頂けるなんて。つД`)・゚・。・゚゚・*:.。
有難く使わさせていただきます、1さん有難う御座いました。m(_ _)m
517 :
1 :2007/07/13(金) 19:12:58 ID:???0
>>516 いえいえ、一旦公開したものだから
アップグレード版として作りますよ。気にしないで。
「個人レベルのカスタマイズ」とはちがうし。
ところで、gmm_naviのソースとか利用して、
最寄り基地局の座標をただクリップボードにコピーするだけのアプリって
誰か作ってくれないかなぁ。
そしたら
>>493 さんの考えてたような、
「メールのリモート操作で居場所を返信」みたいなスクリプトも可能なのにね。
>>517 クリップボードへコピーする書式はgmm_naviと同じでN xxx E xxxで良い?
他に作っている人がいなければ作るお
519 :
1 :2007/07/14(土) 23:29:39 ID:???0
>>518 おおー、ありがとうです!
書式はgmm_naviと同じがいいです。
おねがいします!
520 :
518 :2007/07/14(土) 23:57:07 ID:???0
521 :
1 :2007/07/15(日) 00:09:58 ID:???0
>>520 仕事速えーー!w
ありがとうございます!!
522 :
1 :2007/07/15(日) 03:14:10 ID:???0
523 :
いつでもどこでも名無しさん :2007/07/15(日) 04:34:20 ID:bm8bFdqn0
>>522 仕事速えーー!wwwwww
まじでおつ!
>>519-522 人が寝てる間に仕事がおわっとるw
乙。
Googlemapより先に起動できるのはいいね
地図キャッシュがない時は1度地図表示させる必要があったから
待ち時間が長くてうざかった
525 :
1 :2007/07/15(日) 16:44:27 ID:???0
すみません。このコードってどうやって使えばいいのでしょうか?
本屋で流行っているようなので作ってみました。 -------------------------- #インド計算の練習 start_time = TimeStamp() ran = start_time mod 10000 i = 0 Repeat(3) i = i+1 Call Random a = ran mod 100 b = ran / 100 mes = a&"x"&b&"=?" no = "第"&i&"問 " header = "" While(ans <> a*b) ans = Input(header & no & mes,"インド計算",1) header = "不正解!もう一度^CR^" EndWhile EndRepeat end_time=TimeStamp() Message(end_time - start_time&"秒でした") #乱数もどき Sub Random ran=(ran*673+944) mod 10000 EndSub
529 :
526 :2007/07/15(日) 20:56:34 ID:???0
>>527 教えていただきありがとうございます。無事使えるようになりました。
>>528 つまりは3桁の掛算ってことか
乱数生成コマンドはv4.01bに搭載されているようだね
>>529 いいえ、どういたしまして。
>>530 乱数の関数はないよなーと思ってぐぐってみたら意外と簡単に
それっぽいことができそうだったのでやってみました。
乱数って奥が深いなと思いました。
インド式の計算方法については本屋で立ち読みしてください。
流行らしく、たくさん売ってます。
532 :
324 :2007/07/17(火) 13:45:05 ID:???0
>>531 その本はマスマジックみたいな詐欺じゃなくて本当に計算できる?
>>533 九九じゃなくて
九十九九十九
を丸暗記じゃないの?
>>534 因数分解を使って2桁の計算をとくんだぜ。
たとえば
25^2=(20+5)^2
=20^2+20(5)(2)+25
=20(20+10)+25
実際は途中プロセス省いて
25^2=20*(20+10)+25ってやるみたいだけど。
ちなみに^2ってのは二乗って意味。
536 :
1 :2007/07/17(火) 19:30:13 ID:???0
>>532 ありがとうございました!
いただきました。
「申し訳ない・・・」なんてとんでもないです。
537 :
495 :2007/07/17(火) 21:27:37 ID:???0
>>1 鳩時計を参考にsendkeyを組み合わせて
目覚しソフトがなる直前だけロックが解除
されるように組んでみました。
結果、今まではスヌーズするためにロックを
解除するという、トホホな朝を送っていましたが
ワンタッチでスヌーズ出来て気持ちよい二度寝
を満喫しています。
538 :
1 :2007/07/17(火) 21:56:07 ID:???0
>>537 よかったですね。二度寝は気持ちいいからなーw
もしよければ公開してみては?
さて、naviClip.exeを使って
メールによるリモート操作で、現在位置の座標をメール返信するスクリプト
作ってみました。
RemoteLoc.mscr のコード
http://home.att.ne.jp/wave/deox_pop/scripts/RemoteLoc.txt <使い方>
・このスクリプトを起動しておきます。
→別の端末(以後「コントローラー」と呼びます)から、指定のメールアドレスに
"RemoteLoc, send me your location." というサブジェクト(タイトル)のメールを送って下さい。
→スクリプトは、min変数で指定した分数毎に、受信済みメールの内容をチェックしていて、
指定のコントローラー側メールアドレスから来た上のタイトルのメールを見つけたら、
現在の最近隣基地局の緯度経度座標を取得、
【タイトル】"I am here at : N xx.xxxx E xx.xxxx"
【本文】"hh:mm:ss" (現在時刻)
というメールを自動返信します。
端末をよく置き忘れる人は、自分の端末に入れておくもよし、
彼女や家族の端末に導入して束縛するもよしw
ただし、くれぐれも合意の上で。。
539 :
495 :2007/07/17(火) 22:45:33 ID:???0
全部
>>1 さんからのパクリですし、
基本機能しか使っていませんので
公開と呼べる代物ではありませんが一応
thisFile = SystemPath( "ScriptPath" ) \ SystemPath( "ScriptName" ) & SystemPath( "ScriptExt" )
RemoveNotifications( thisFile )
t = TimeStamp()
h = 5
m = 40
ErrorLevel( "off" )
RunAt( t + 86400 - (t MOD 86400) + h * 3600 + m * 60, thisFile )
RunAt( t - (t MOD 86400) + h * 3600 + m * 60, thisFile )
SendKeys( "パスワード", "1234" )
「5時40分にパスワード1234を押して解除」
という"つもり"で書きました。使えていますが
間違い箇所もあるかもしれません。
設定ダイアログでも出せるといいんですが…
遅まきながら
>>518 氏
>>1 氏両人にサンクス
Google Mapが使いやすくなってスッゲー便利です
541 :
たけたけ :2007/07/18(水) 00:47:01 ID:???0
>>538 添付ファイル等でファイルサイズが128kb以上のものが含まれていると
スクリプトが止まりますよ
インドのやつ、おれの立ち読みした本では ひっさんを頭の中でやるような感じでした。 慣れれば計算途中の数値をいくつか頭で覚えておいて ぱぱっと答えが出せるようになるかな、と思って作って見ました。 乱数ですが、あの生成方は混合合同法といって 与える数値によっては規則的な数が並んでしまうようです。 #乱数もどき Sub Random ran=(ran*ran) mod 1000000 / 100 EndSub に変えた方がいいかも。
543 :
1 :2007/07/18(水) 01:48:43 ID:???0
>>539 パスワード画面って、SendKeys送れるんだね。
>>540 どうもです。
>>541 「試してみたら止まった」というのではない、
と理解して返答しますが…
まず、添付ファイルについては(少なくとも俺の環境では)
\Windows\Messaging\Attachments 内に
.attファイルとして作成されるので、関係ないはず。
あと、メール本文が128kBを超えるケースがあるとしたら、
メールアカウント設定のオプション3/3で
「メッセージヘッダーのみ取得する」
「本文中のxkBまで」
と設定しておけば大丈夫。
これは注意書きに書いておけばよかったね。
544 :
1 :2007/07/18(水) 02:39:05 ID:???0
とは言いつつも、 いちおうどんな場合にもエラーを吐かずに継続するように ちょこっと直しておきました。
>>541 は相変わらずのものいいだね
>スクリプトが止まりますよ
べつに止まらないよ
えらそうに難癖つけてるように見えるよ
そもそもそんな発言するのに
コテにする必要ないし
>>538 おおー作ってくれましたか。ありがたや。ありがたや。
>>535 それって
10の桁が同じで
1の桁を足すと10になるとき
にできる速算法だね。
(10a+b)(10a+(10-b))=100a(a+1)+b(10-b)
最初は場合分けするけど
複雑な場合分けを覚えるくらいなら
結局最後には九十九九十九を
覚えてしまった方が速いことになるよ。
548 :
1 :2007/07/19(木) 00:34:11 ID:???0
昨日のRemoteLoc.mscrとの情報送受信をワンタッチで行う
スクリプト書きました。
RemoteLocController.mscr のコード
http://home.att.ne.jp/wave/deox_pop/scripts/RemoteLocController.txt <使い方>
・起動すると、コマンド選択ダイアログが現れます。
1. "Send the request to RemoteLoc"
… RemoteLoc.mscrが走っている別の端末
(以後、「RemoteLoc側端末」と呼びます)に、
"RemoteLoc, send me your location." をサブジェクトとした
位置情報要求メールを送信します。
2. "View new location by Google Maps"
… RemoteLoc側から位置情報返信メールを受信したら、
このコマンドを選択して下さい。
受信済みメールファイルをチェックして、緯度経度文字列を自動的に抽出、
Google Maps を起動して、位置情報近隣の地図を表示します。
3. "Review the last location by Google Maps"
… 前回受信した位置情報の地図を再表示します。
ちなみにみんなどんなときぐーぐるまっぷ見てるの?
550 :
1 :2007/07/19(木) 02:35:53 ID:???0
俺はけっこう方向音痴なんで、よく見るよ。 出先がその日によって違うし。
>>549 どこにも行く金が無くて暇が有り余ってる時。
土地勘のない所へ受験しに行く時にも。
>>538 初歩的な事で申し訳ないのですが
この動作を止めるにはどうすればいいのでしょう?
動いてるのかどうかよくわからないので
基本的設定下に
message( "init ok" )
Exit
message( "exit pass" )
の三行を追加したのですが
init okだけ表示され
ボックスを閉じたあと放置して画面を見ると
また init ok が表示されてます
延々とループしてるようなのですが
強制終了とかないんでしょうか
553 :
1 :2007/07/19(木) 23:15:43 ID:???0
>>553 d。
別ホルダで実行したのもあって
グチャグチャになってました
何とか無事全部止めれたようです
一個ずつ実行しながら勉強させてもらいますね
555 :
いつでもどこでも名無しさん :2007/07/20(金) 13:18:10 ID:W6y0qMNQ0
ホルダじゃなくてフォルダね。
Notification Queueの整理には
>>31 のが便利だよ
コマンドの挙動を理解するには
いきなり他人の複雑なスクリプトに手を加えてしまうより
シンプルなスクリプトを自分で作って試してみたほうがいいよ
557 :
1 :2007/07/20(金) 19:22:59 ID:???0
Adesでmp3着信音登録ってスクリプトは無いかな? あと、左右ソフトキーの登録プログラム変更とかさ。
既にアプリ出てるよ。本スレ参照
>>558 そういうのはスクリプトでやることじゃない
561 :
1 :2007/07/21(土) 23:30:34 ID:???0
>>562 ならただレジストリ変更すればいいんじゃ?
頻繁に切り替えるものでもないし
俺は頻繁に切り替えるなー
>>1 さん便利なスクリプトをありがとうございます。
AutoGMnavi は正常に動くのですがAutoGMnaviCのほうでは
Window'Find Location'could not found
Line:SendCtrlKey( activeGmflW, "v" )
と出てしまいます。
これは何が原因でしょうか?
(naviClip.exeは入れています。)
よろしくお願いします。
567 :
1 :2007/07/22(日) 16:02:08 ID:???0
>>566 確認ですが、「Window 'Find Location'」 と出るということは、
Google Mapsは英語版ですね?
Google Maps アプリの動作が重かったりする場合、
場所検索ウィンドウの表示が遅れているのかもしれないので
msec = 200 の値を大きめに(500とか1000とか)に調整してみて下さい。
568 :
566 :2007/07/22(日) 17:20:21 ID:???0
>>567 日本語版を入れなおしましたが、やはり「Window '地図の検索'〜」 となってしまいます。
msecの値も変えてみましたが変わりありませんでした。
naviClip.exeはProgram Filesに置いておけばいいんですよね?
何か基本的なことなど間違えているんですかね?
569 :
1 :2007/07/22(日) 17:46:17 ID:???0
>>568 英語版でも問題なく動くはずですが、
日本語版にした場合のエラーが「Window '地図の検索'〜」となるということは
スクリプトは正しくウィンドウ名を把握していることになります。
naviClip.exe の場所は関係なさそうです。
もし間違っていれば、他のエラーが出るはずだから。
おかしいですね…。
スクリプトの挙動を説明しておくと、
Google Mapsを立ち上げて地図画面を出した後、
1. 右ソフトキーを押してメニューを出す
2. 日本語版ならショートカットキー"a"、英語版なら"l" を押して地図検索ウィンドウを出す
3. 地図検索ウィンドウの入力欄に、位置情報をペーストする
という動作をシミュレートします。
「Window '地図の検索' が見つかりません」というエラーが出るということは、
1か2が上手く行っていない可能性があります。
エラーが出る瞬間、アクティヴになっているウィンドウは何ですか?
あと、機種は何ですか?
W-ZERO3 003SH でない場合、
「メニュー」内の「地図を検索」のショートカットキー
(アンダーライン付きのアルファベット)が何になってるかを確認して
教えて下さい。
570 :
566 :2007/07/22(日) 18:29:49 ID:???0
>>569 機種は003SHです
「地図を検索」のショートカットは(A)です
直前の状況は
位置情報を示した地図が表示される(AutoGMnavi で表示したものと同じ範囲の地図)
↓
!”#$ などの記号類が並ぶ四角の表示が真ん中に現れる
↓
直後に
Window'地図を検索'could not found
Line:
SendCtrlKey( activeGmflW, "v" )
という流れで、この間3秒くらいです。
571 :
1 :2007/07/22(日) 18:51:49 ID:???0
>>570 > 機種は003SHです
> 「地図を検索」のショートカットは(A)です
ならば問題ないはずですが、
> !”#$ などの記号類が並ぶ四角の表示が真ん中に現れる
これがおかしいですね。意味不明のメッセージウィンドウってことですよね?
Google Maps関連、あるいはキー操作関連の何かが壊れているのかも知れません。
Google Mapsを単体で、手動で起動して、
> 位置情報を示した地図が表示される(AutoGMnavi で表示したものと同じ範囲の地図)
> ↓
この後、手動で
・右ソフトキー
・ハードウェアキーボードの"a"
を順に押してみて下さい。同じ「記号類が並ぶ四角の表示」が出ますか?
この部分のスクリプトは、
>>569 に書いた1,2
つまり上記のキー操作をシミュレートしているだけなので
妙な表示が立ち上がるのは、他に原因がありそうです。
それが何かは、残念ながら俺にはわかりません。。
上記のキー操作によって「地図の検索」入力画面が出なければ、
「〜見つかりません」エラーが出るのは理にかなっています。
572 :
566 :2007/07/22(日) 19:19:30 ID:???0
>>571 原因が分かりました!
記号の表示と右ソフトキーのところの関連を調べてみたら、PQzIIで右ソフトキーが記号を表示するように(デフォルト?)設定されていました。
その設定を無効にしたところ地図の拡大表示まできちんと行われました。
お手数おかけしましたm(_ _)m
>>1 ついでにRemoteLoc.mscrもついても質問良いでしょうか?
設定項目の
#位置情報返信に使用するメールアカウント名
mailAcct = "アカウント名"
このアカウント名のところには、普段003SHで使っている070で始まる番号を入れておけば良いですか?
あと、<使い方>の
#・このスクリプトを起動しておきます。
とありますが、起動しているかしていないかの確認をすることは出来ますか?
574 :
1 :2007/07/22(日) 20:03:16 ID:???0
>>573 アカウント名は、各自が設定しているPocket Outlookメールのアカウント名です。
pdxのアカウント名は、070から始まる番号ですね。
普段CLUG AIR-EDGEへの接続しか使わないという人は、
もちろんそれでもかまいません。
>>553 でも書いたけど、常駐するタイプではなく
Notification queue を登録するタイプなので
起動しているタイミングを捉えて確認するのは難しいと思います。
このスクリプトに限らず、Notification queue の確認や削除は
>>31 のTask Manager などのツールを使って行うことができます。
ただし、起動する度にまず RemoveNotifications( thisFile ) を
行うようにしてあるので、
一旦起動した後にもう一度手動で起動しても、特に問題はないはずです。
アカウント名って電番だったのかw 通りで動かないはずだorz
「poutlookで動作」って書いてあるのに なんでpoutlookのアカウント名を設定しないのか そのほうがわからない
アカウントって聞くと@以前の文字という刷り込み
ades限定にな話になってしまうんですが、Todayにニュースとかを表示するW+infoの話。 こいつが三行表示しかできなくて、見栄えがあんまりよくないんでなんとかできないかとおもってたところ。 配信されたデータは\Application Data^FeedBase以下にEML形式で保存されているとのこと。 ごめんなさい。人頼みです。 さようなら。
579 :
1 :2007/07/23(月) 18:10:38 ID:???0
>>577 そうなのか。それは「ユーザ名」だと俺は思ってたよ
Pocket Outlookメールの「アカウント名」とは、
「アカウントを切り替える」や「アカウント設定」で一覧表示されるもの、
「電子メールのセットアップ>アカウント情報:名前」で自分が入力したもの、
です。
pdx.ne.jpのアカウント名は、電話番号が設定されています。
>>578 アドes持ってないので俺は無理です。。
SmartPhoneにもDownload()の愛の手を。 X02HTで使いたいよ...
RemoteLock.mscrを003SHに入れ、削除、したり使わないようにしておくと、サスペンドから復帰の度に以下のポップアップ表示が出てしまいます。 出ないようにするにはどうしたらいいですか? Script\ProgramFiles\RemoteLoc.mscr was not found ,waiting for existance
583 :
1 :2007/07/27(金) 01:21:04 ID:???0
584 :
324 :2007/07/27(金) 12:50:31 ID:???0
585 :
1 :2007/07/27(金) 20:03:29 ID:???0
>>584 面白そうですね。
003SHに.NET2.0を入れて試してみました。
「ブックマークに追加」は普通に成功。
「ブックマーク」(表示)は、最初、MortScriptが
「\browser_message に書き込めません」エラーを吐いてたけど、
何度かやっているうちに出来ました。
「トップディレクトリ下の拡張子の無いファイルに書く」というのは
どういう仕組みになってるのか、俺にはよくわかってないんですが…。
ブックマーク表示の「x」のリンクで呼び出されるdeleteconfirm.mscrですが、
「削除してもよろしいですか?」表示が一瞬あらわれるので
呼び出されてはいるようなんだけど、
どうやらデバイスが実際にlocalhostにつなぎに行こうとするのか、
コネクションマネジャーが立ち上がったり立ち上がらなかったり。。
どちらの場合も、「予期しないエラーが発生しました」となりますです。。。
586 :
324 :2007/07/27(金) 22:06:19 ID:???0
>>585 うーん、駄目ですか?
とりあえず手元にあった004と011では試した結果、問題ないんですが・・・
browser_messageに書き込めないのはいつも出ますか?
もう少しclose周りを見直さないと駄目かな・・・
特に難しいことをやってるわけではなく、Mortからブラウザ側に渡すためにファイルに保存して、それを読み込んでるだけです。
HTMLからのスクリプト呼び出し周りは「
http://localhost/を指定しろ 」なんてところからして、かなり怪しい実装なのでなんとかしようと思ってます。
587 :
1 :2007/07/27(金) 22:52:27 ID:???0
>>586 ブックマーク.mscrを呼び出した時は、
「書き込めません」エラーはまったく出なくなりました。
deleteconfirm.mscrを呼んだ時、
「書き込めません」エラーが出て、OKを押すと
「削除してもよろしいですか?」表示が一瞬あらわれ、
「予期しないエラーが発生」という挙動で、
これには再現性があります。
「削除してもよろしいですか?」が出るのだから
書き込めているはずなんだろうけど。
deleteconfirm.mscrにスクリプト上の間違いはないし、
単体で起動させてからbrowser_messageをテキストエディタで開いてみると、
実際ただしく記述されています。
だから、localhostがらみの呼び出し〜プログラムによるbrowser_messageの削除の
タイミングの問題が関係しているのかなと、素人考えで思いました。
588 :
1 :2007/07/27(金) 23:47:17 ID:???0
ためしに、以下の2つのスクリプトを書いて、
..\BrowserText\scripts ディレクトリに入れてみました。
#test.mscr###
text = "REPLACE^NL^Test^NL^"
text = text & "<html><head></head><body>^NL^"
text = text & "<a href=""
http://localhost/[[mortscript]]scripts\test2.mscr "">test2</a>"
text = text & "</body></html>^NL^"
WriteFile("\browser_message", text)
#test2.mscr###
Message( "test" )
BrowserText.exeを起動して、メニューからtestを実行すると
ブラウザはリンク付きの"test2"を表示。クリックすると、
正しくtest2.mscrが起動されて"OK"というメッセージが出ます。
が、その後でデバイスが接続に行って「接続に失敗しました」エラーが出ます。
「書き込めません」「予期せぬエラー」は出ませんでした。
次に、ためしにtest2.mscrを以下のように変えてみました。
#test2.mscr###
text = "REPLACE^NL^Test^NL^"
text = text & "<html><head></head><body>^NL^"
text = text & "OK"
text = text & "</body></html>^NL^"
WriteFile("\browser_message", text)
すると、deleteconfirm.mscrをリンクから呼んだ時と同様に挙動で
同じ「書き込めません」「予期せぬエラー」が出ました。
「OK」の表示が一瞬出るのも同様です。
589 :
1 :2007/07/27(金) 23:52:26 ID:???0
>>588 訂正です
誤 ..\BrowserText\scripts ディレクトリに入れてみました。
正 ..\BrowserTest\scripts ディレクトリに入れてみました。
誤 Message( "test" )
正 Message( "OK" )
誤 BrowserText.exeを起動して、
正 BrowserTest.exeを起動して、
連投すまそ。。
590 :
324 :2007/07/28(土) 02:40:48 ID:???0
591 :
1 :2007/07/28(土) 03:13:27 ID:???0
>>590 乙です!
ためしてみました。localhostにつなぎに行ってしまう以外は、
エラーも出ず、期待通りに動きました。ブックマークの削除も完了しました。
>>588 の2つのスクリプトで試してみても、やはり接続しに行ってしまうようです。
ためしにtest.mscrの
"
http://localhost "の部分を "
http://www.google.com "に変更してみると
実際にGoogleの"Not Found"ページが表示され、
"%5B%5Bmortscript%5D%5Dscripts/test2.mscr was not found..."
と表示されます。
「URLがWebBrowserコントロールに」渡ってしまっているようです。
ここだけ直れば、期待どおりの動作なのだと思います。
592 :
324 :2007/07/28(土) 12:14:59 ID:???0
593 :
1 :2007/07/28(土) 15:47:11 ID:???0
>>592 成功です!
つなぎに行かなくなり、期待通りの動作です。
ありがとうです。
割り込み失礼。最近始めました。 1さんのマニュアルを見ながらいじっています。結構何でも簡単に出来て、面白い。 これはウィルスとか作れちゃうよなぁ・・・ 内容理解せずに実行する風土ができたら、まずいんじゃないかと。
以前ここでたけたけさんが作られた天気予報をtodayに表示するスクリプトですが、 8月3日以降が表示されなくなってしまったんですが同じ症状の方いませんか? 降水確率の%しか表示されてない…。
596 :
たけたけ :2007/08/01(水) 18:16:04 ID:???0
>>595 あちしも今朝そうなったから多分gooの方のソースが変わったものと思われます
今から調査・修正します
暫しお待ちを
>>596 おお!ありがとうございます。
修正版心待ちにしてます。
のんびり作ってくださいませ。
598 :
たけたけ :2007/08/01(水) 20:06:11 ID:???0
rlTodayとmscrを利用してTodayにお天気情報を表示するスクリプト
多指数対応版
ttp://w-zero3.org/uploader/src/up0473.zip 原因は八月に入ってgooの指数表示の種類が変わった為でした
今後も変わると思うので多分不変であろう洗濯指数以外を
テキストに書き込む様に変更しました
併せて廃止になったレジストリ・画像ファイルもあります
廃止になったレジストリは勝手に削除しますので気にしなくて結構です
rlTodayフォルダの画像ファイルは削除しますが
コピー元の画像は気になるようでしたら各自で削除してください
>>598 更新乙です!ありがとうございます。
よくわからないんですが、天気の画像を表示しないようになったんでしょうか?
天気のアイコンは前のが使えなくなったとか?
画像以外のデータは前と同じように表示されるようになったのですが。
600 :
たけたけ :2007/08/01(水) 20:55:10 ID:???0
>>599 え〜と
"お天気ini.mscr"の中の"PNG_big"を"ON"に書き換えると表示されると思います
大きいサイズのアイコンはあまり使われていないと思って
デフォルトを両アイコン作成から小さいサイズのみ作成に変更してました
>>600 おお!表示出来ました!
自分は大きいアイコンで表示してたので、気づきませんでした。
どうもありがとうございます。
602 :
1 :2007/08/01(水) 21:14:03 ID:???0
>>594 そうですね。
一緒に「内容を理解して実行する風土」を
作っていこうぜw
W-ZERO3で現在の音量ってどこに保存されてます?
604 :
いつでもどこでも名無しさん :2007/08/02(木) 15:54:43 ID:Z4SpKwFp0
みんなの心の中
>>603 \HKCU\ControlPanel\Volume\Volume
>>605 なんかそことは違うみたいなんですけど
現在のシステム音量をGetしたいんですよね
>>606 わかってるよ
ちがわないよ
ちなみに003SHだけど
WS007SH+赤耳では、ライトメールの着信ミスがよくあります。 赤耳自体には、時間通りに着信してるようなんだけど、 サスペンドしてるWS007SH側で、それをうまく処理できて無い様なので、 MortScriptを利用して、何とかできないものでしょうか?
>>608 サスペンドしないようにすればいいという方法しか思いつきませんが、
それでもいい?
>>609 サスペンドしないとなると、バッテリーの持ちが気になるんですが
よろしくお願いします。
寝起きで、即返事書いてしまいましたが、よく考えたら、 ”サスペンドしない”は、既存の設定項目にあるので、 ”スクリーンオフして、サスペンドしない”に出来るようになればうれしいです。
やっぱり、本体が反応しないと無理ですか・・・ う〜ん、ドSに機種変更するかな・・・・ 赤耳自体の感度のよさは、青耳よりいいらしいので、 青耳にするのは抵抗あるけど・・・ ありがとうございました。
>>614 読もうっと。
サンプルコードを保管しておく場所があるといいなぁとか言ってみるテスト。
616 :
1 :2007/08/06(月) 02:12:54 ID:???0
YouTubeDLGT.mscr 用のゲートウェイサーバ、本格運用開始しました。 YouTubeDLGT.mscr での利用は、普通にがんがん行ってもらって結構です。 が、他の自作スクリプト(バッチダウンロード等?)で利用される場合は、 どうか無茶しないで下さいw
>614 EMONEでもいけるかな? やってみるか
>>1 YouTubeDLGT.mscrのゲートウェイのcgiの公開はありませんか?
自分の借りてるcgiサーバで使えるか分かりませんが
使えればそちらのサーバに負担かけずに済みそうですし
619 :
1 :2007/08/06(月) 16:50:40 ID:???0
>>618 えー、隠すわけじゃないんだけど、
オリジナルのライブラリとかrequireしてるし、
他人にわかるようにコメントつけてうp
ってのがちょっとめんどいので・・・w
負荷の件は、常識的に使ってもらう分には
今のところ問題ないようです。
622 :
いつでもどこでも名無しさん :2007/08/09(木) 02:56:38 ID:hOCo7d9g0
スクリプトの初心者導入サイトってないですか? あるHPに入ってIDとパスを入れてログインする単純なスクリプトから勉強したいのですが
htmlのformとhttpのGETメソッドとPOSTメソッドを勉強しよう。 あとJavaScriptとDOMを勉強すればおk Opera8.7でbookmarkletが使えなくなってがっかり。
いずれにしてもMortScriptの知識とは別の話だな
全てをマウスタップとキーコード送りでなんとかするって手もある
自動入力スクリプトってことなら MortScriptの範疇じゃないの
正直自動ログインのURL作れるならブックマークでいいじゃん それがだめでもhtml作ればいいだけなような・・・ ロード時にsubmitするjavascriptでおkでしょ ログインしてからの操作も自動化するならいみあるけどね
ともかく
>>622 はMortScriptより先に
フォーム送信の基本を学ぶべきだということだ。
初心者向けサイトは知らん
フォーム method get post
あたりでぐぐってみたら。
adesなんだけど、Killコマンド使える? FtpSvrを終了させたいんだけど、うまくいかない(´Д⊂グスン
630 :
622 :2007/08/09(木) 21:40:26 ID:kutL9hQQ0
糸口誘導ありやとです とりあえず勉強します( ̄‥ ̄)
勉強がてらとは言えこれはひどいw
でもこんな感じで書けば、どんなとこでもログインできるんじゃないかと。
msnメール用。
Run( "\Program Files\Opera\OperaWM.exe", "
http://hotmail.msn.co.jp/ " )
WaitFor("1:サインイン",60000)
Sleep( 20000 )
SendCR
SendKeys( "
[email protected] " )
SendTab
SendKeys( "password" )
SendTab
SendCR
Operaはページ遷移をウィンドウタイトルで表示するのでこんなんでいい。
IEだったらWindowTextで文字を読み込んで、
そのページだったらキーを送る感じにすればいいのかなと。
>>629 上でFDCSoftのTaskmanagerの話題が出てますよ。
あれでちゃんとしたウィンドウタイトルを調べれば多分一発だよ。
Kill()はプロセス名指定だから ウィンドウタイトルは関係ない あどえす持ってないから回答はできないけど
634 :
いつでもどこでも名無しさん :2007/08/10(金) 01:46:05 ID:xbKXPa8c0
>>632 Closeでは試したんだけど、まったく閉じてくれないんだよね。
だから、Killでプロセス指定してみたんだけど、Kill自体が動いてないっぽい?
Closeで閉じられるソフトもなぜかKillだと反応無いんだよなぁ・・・。
>>633 他のWM機なら普通にプロセス名指定するだけで閉じるんですよね?
やり方が間違ってるのかな・・・。
そういえばそうか。失礼。 Closeのエラーが、「そんな窓みつからねぇよ」って言ってるんで勘違いしたかもしれん。 とりあえず窓が無いものとか常駐物とか動作中のとかで試してみたけど、 アドエスでも殺せます。 Kill( "hogehoge.exe" )の形で。
>>635 出来ました!
てか、パス無いときは""でくくらなくていいと勝手に思ってて、そのせいでした(´Д⊂グスン
お騒がせしました(;´Д`A ```
637 :
636 :2007/08/10(金) 18:28:39 ID:???0
そういうものを待っていた、サンクス。 ありがたくいただきます!
>>638 そう言ってもらえるとありがたいです。
ちょっとした手間を減らしてくれるのにMortScriptってすごく便利だよなぁ。
作者に感謝。
自分用に自動でpoutlookのアカウントを登録できるスクリプトを書こうと思っているのですが、 アカウントのセットアップウィザードを起動する場所が、決まってなくてキーエミュレートしようにもできなくて困っています。 tmail.exeのオプションスイッチとかではできないものですかね?ちょっとググっても見つかりませんでした。 -service や -attachment -new ぐらいしか見つかりませんでした・・・適当に -newserviceとかしてももちろんできず・・・
無理だとおもう
特定のフォルダに入ってるファイル名が適当に付いた複数の画像からランダムに 1枚を表示(実行)するにはどのように記述すればいいのでしょうか?
ファイル名を配列にしまって、ランダムな数字を作って呼び出せば?
>>643 手打ちでファイル名を配列に入れるのはできるのですが個数、ファイル名が決まってないファイルを
配列にしまう方法が分からないですorz
ランダムの記述だけで 相当な論議が起こりそうだな
>>647 i = 1
ForEach array[i] in files ( ScriptPath \ "*.png" )
array[i] = var
i = i + 1
EndForEach
Call Random
a = ran mod i
Sub Random
ran=(ran*ran) mod 1000000 / 100
EndSub
Run(array[a])
一応書いてみたんですがうまく動かないですorz
すいません、なんかいろいろ間違ってました・・・ start_time = TimeStamp() ran = start_time mod 10000 i = 1 ForEach array[i] in files ( SystemPath( "ScriptPath" ) \ "*.png" ) array[i] = var i = i + 1 EndForEach Call Random a = ran mod i Run(array[a]) Sub Random ran=(ran*ran) mod 1000000 / 100 EndSub 一応動くかなって思ったら先頭のファイルしか開けないです・・・
>>648 もっとマニュアルを ち ゃ ん と 読んで
意味を理解しないと。
まず2行目は
ForEach array[i] in files ( ScriptPath \ "*.png" )
じゃなくて
ForEach var in files ( ScriptPath \ "*.png" )
だし
ループを抜けたときのiは配列の個数+1だよ?
sub Random の意味も理解してつかわないと
コピペじゃだめだよ
ランダムの関数の使い方自体分かってなかったですorz start_time = TimeStamp() ran = start_time mod 10000 PicDir = SystemPath( "ScriptPath" ) PicExt = "*.jpg, *.bmp, *.png" PicNum = 0 ForEach wildFileName in split (PicExt, ",", 1) ForEach fileName in files (PicDir \ wildFileName) PicNum = PicNum + 1 PicFileList[PicNum] = fileName EndForEach EndForEach Call Random Ind = ran mod PicNum Ind = Ind +1 Run( PicFileList[Ind] ) Sub Random ran=(ran*ran) mod 1000000 / 100 EndSub 結局これで無事動きました。
よかったな 正解をまるまるもらうよりもよかっただろ?
何に使うスクリプトなんだろう?お疲れさん。
654 :
1 :2007/08/14(火) 21:07:30 ID:???0
655 :
324 :2007/08/15(水) 00:05:43 ID:???0
656 :
620 :2007/08/16(木) 11:51:56 ID:???0
永久ループにしててもサスペンド後はプログラム落ちちゃう? While(1) If(WndExists("Desktop")) Call GetStatus EndIf Sleep(500) EndWhile Sub Get Status ... ってやってメモリ使用量とかをレジストリに出そうとしてるんだけどもサスペンド後は値が変わらなくなってしまう 馬鹿なこと聞いてたらすみません
658 :
657 :2007/08/17(金) 02:44:34 ID:???0
いや、ifがなければ動くみたいなのでifで外に出てるんですかね サスペンド中に仕事させてたらもったいない気がするのですが、別に問題ないのでしょうか
naviClipの吐き出す数値を時分秒に変換するにはどうしたらいいかな?
>>659 naviClipかgmm_naviのソースを見れば変換方法は分かると思うよ
naviClipが時分秒で吐き出してくれればいいんだよな〜
>>661 W-SIMから直接取れる値は下記の書式なんだけど
このままクリップボードにコピーすればいいの?何か変換が必要?
NXX:XX:XX (緯度)
EYYY:YY:YY (経度)
ちゃんと調べてないけど、地図サイトだとコロンじゃなくてピリオドな気がする。 てきとーに切って繋いでもいんだけど。
664 :
いつでもどこでも名無しさん :2007/08/18(土) 01:42:43 ID:AUwAJE/n0
>>657 同様に永久ループさせるソース実行させたことあるけど
稀にいつの間にか終了してることあったよ
サスペンドがキーワードかは分かりませんけどね
対策としてはサスペンド復帰をキーに再度走らせてました
実行中なら何もしないし
終了していれば再び実行しますからね
WakeAppで登録してました
RunOnPowerOn()しとけばいいんじゃねーの?
>>666 ありがとうございます〜
いろいろ試してみます〜
naviClipってソース公開してるんですか? 標準出力版がホスイ。
669 :
666 :2007/08/18(土) 23:19:16 ID:???0
どうもです。VS2005Stdなのですんなりとビルドできませんでした。 SDKはPPC2003です。 1. naviClip.rcの「#include "wceres.rc"」をコメントアウト 2. 「プロジェクト>naviClipのプロパティ>構成プロパティ>リンカ> 詳細>エントリ ポイント」を空白に 3. 「プロジェクト>naviClipのプロパティ>構成プロパティ>C/C++> コード生成>ランタイム ライブラリ」を「マルチスレッド DLL(/MD)」に これでビルドできましたが、「信頼性のある証明書〜」で起動できなかったので、 「プロジェクト>naviClipのプロパティ>構成プロパティ>全般>MFCの使用」を 「スタティック〜」にでスタティックリンクして動くものができました。 ということで、VC++は全然分かりませんが、「if (OpenClipboard(NULL)) {」以下を いじればいいと思われるので、ぼちぼちやってみます。
うーん、これGUIアプリだからwprintfすればいいという話ではありませんね。 ファイルに書き出すか……。
NXX.XX.XX.XXX EXXX.XX.XX.XXX までとれないのかな?
W-SIMから来るデータがそうなってないです。 そもそも、そこまで仔細なデータを取ってもしょうがないでしょ。 基地局マニアですか。
そうなんですか。 地図サイトとかだとそこまで入れないとダメっぽかったので、適当に000を入れてました。 locpostとかはそこまで出てるみたいだったので、取得できるものなのかなーと思ってましたが、多分000を入れてるだけなんでしょうね。 まだいろんな場所で試した訳じゃないので、自分の試した場所で取れるデータだけの問題なのかなーと思っておりました。 ありがとうございました。
Google Maps自体の精度が今一つだけど、naviClipいいね。
naviClip需要高いなあw
>>671 GUIアプリだけどwprintfでコンソールに出力されるよ
678 :
671 :2007/08/22(水) 22:31:02 ID:???0
新しくコンソールが開いてしまいリダイレクトができないという意味です。 PythonCEとかruby-mswinceで利用できると面白いかなと。
>>678 そういう意味ね 了解です
新しいコンソールを開かずにすむ方法はあるのかな?
確かruby-mswinceも新しいコンソールを開いちゃったような気がする
コンソールアプリとしてのエントリポイントの書き方があり、 そのように直せばいいのだと思いますが……。 VC++はよく分からないです。 wfopenでファイルに書き出してお茶を濁すか。
ppcアプリにコンソールアプリ用のエントリポイントなんてあるのかな?
イヤホン刺したときにマナーを解除、抜くとマナーモードに、とかいうことって出来ないのかな?
イヤホン差して音がスピーカーから出なくなる仕組みを 考えてみればわかる
ヘッドフォン刺さったときのミュート制御とかって普通は基板制御のマイコンがやってること多いのよ で、できるかどうかはジャックの状態がwmまで伝わってるかどうかだね レジストリにジャック状態を示すデータがあるかどうか探してみれば?
685 :
1 :2007/08/29(水) 15:57:27 ID:???0
utf8sjisの置いてるサイトつながらん…orz
687 :
いつでもどこでも名無しさん :2007/08/29(水) 18:13:33 ID:XHdI9jZsP
>>686 つながる様になったよ、落としておいで。
>>683 イヤホンさしてから音が出るまでに間があったりするので、ソフト制御なのかなと思ってた。
>>668 ヘッドフォンのプラグで接点を切るタイプもあるよ。
完全なハードスイッチだな。
690 :
688 :2007/08/31(金) 09:21:58 ID:???0
>>689 うん、いままでそれしか知らなかったからzero3[es]はソフトで制御してるんだなと一人で思ってたのです。
mortscriptで時間を指定の時間に変更することはできますか?
はい
693 :
691 :2007/09/01(土) 12:30:52 ID:???0
一応マニュアルで調べてはみたのですがそういったコマンドは見つかられなかったのですが そういったコマンドがあるのですか?それともレジストリのどこかを書き換えるとかですか?
はい
696 :
いつでもどこでも名無しさん :2007/09/04(火) 06:07:16 ID:nEv585dM0
いただきました。ええねぇ。
画面を縦から横・横から縦に変わるとプログラムを起動するってできますか? landscape使うのかな?くらいしかわかりません。 ヒントください。
常駐させないと無理っぽいね 現在の状態をScreen()で取得しておいて 変化があったらRun()する
シェアウエアで イベント捕捉して登録しといたマクロを 実行させるというやつが あったような
これでフラッシュ動画落とせるって事はストリーミングも落とせる? ネットニュースを定時に落とせばネットに繋がらない時でも見れて便利だと思うんだけど W+Videoはこういうものだと思ってただけに残念
ストリーミングを「落とす」って?? ストリーミングの意味と仕組みをまず勉強したほうがいい
>702 PCならいくらでも手段あるけど MortScriptだけじゃつらいかも
YouTubeだけならJavaScriptでも落とせる
703 PCでだけどふつーに落としてるよ
出来る! という答えが返ってこないということは、無理そうですね。ありがとうございました。
ストリーミング方式で配信されている動画をダウンロードするって言いたいんだろ
>>703 は。
「ストリーミングを落とす」とか言ってる時点で 意味がわかってないから勉強しな、って言ってるの。 いちどストリーミングファイルの中身でも テキストエディタで開いて見てみな。
>>711 ストリームデータをファイルに記録するとでも言えばいいの?
俺には「ストリーミングを落とす」で十分意味が伝わってきました サーセンwww
言いたい事は判るが、明らかに理解できてないね。 そもそも、ダウンロードができないのなら、観る事さえできない。 そんな知識なら、例え保存する事ができても、到底扱う事はできないよ。 って意味だろう。
俺らに意味が伝わるかどうかじゃなくて 本人がしくみを理解できてるかどうかってこと たとえば「インターネットを見る」って言ってるやつが WEBサーバやHTMLのことを理解できてると思うかい? ストリーミングファイルってなんだかわかる?
716 :
1 :2007/09/17(月) 01:55:46 ID:???0
ちょっといいですか? 俺はYouTubeDLGTのストリーミング再生機能として 動画ファイルのURLから.m3uファイルを生成して プレイヤーに開かせる、ってのをやってるんだけど その逆をやればいいんじゃないのかな。 つまり答えは 「サイトによって出来たり出来なかったりする」 じゃね?
揚げ足取りはどうでもいい 1様のようにスマートに答えられるように心がけたまえ
駅探路線検索Scriptを使わせてもらっています。ありがとうございます。 ネット接続していないとオフライン表示が出るだけなんですが、自動で接続するようにはどうしたらいいでしょうか? (接続にはAutoconect使用しています)
>>718 そのスクリプトの中身見てないけど、
RegRead( "HKLM", "System\State\Connectivity", "APN Info" )
あたりで判断すればいいんじゃないの?
>>716 そのヒントでずっとしたいと思ってたねとらじの保存ができた
ありがとう
>>711 は底意地は悪いがバカではないだろう
せっかく1さんがおさめてくれてるのに
ひとこと言い返さないと気がすまない
>>721 の頭が良さそうには見えんな
まあおれもだけどな
eisuconv.mscr作者もりぞっこりさん、このスレにいますか?
>>723 走らせてみたけど
普通に動作するし反映もされるよ
なにか別の常駐アプリがじゃましてるんじゃない?
>>725 あれ?動きますか。
コンパネを覗くと数字は変わってるけど、コンパネでOKを押さないと
script走らせる前の設定でしかサスペンドしません。
サスペンド周りの常駐でunClockとlock2suspend外してみたけど
変わりませんでした。
ちなみに当方W-ZERO3の003です。
>>727 レジストリに書いた設定値をシステムに再読み込みさせるためには,
"PowerManager/ReloadActivityTimeouts"という,名前つきイベントを通知する必要があるみたい.
MortScriptからだとイベントを飛ばすのは難しいですね.
03shを使用しています。YouTubeDLを使いたいのですが、miniSDカードが壊れてしまいローカルメモリに保存しようと考えています。 そこで、 #保存ディレクトリ。機種や環境に応じて、適宜書き換えて下さい。 destDir = "\Program Files\Script\youtubetemp" このようにフォルダを作りアドレスを設定したのですが実際に保存されるファイルは61KB程度の小さなファイルしか保存されません。 どうすればローカルメモリに保存できるか教えてください。
731 :
1 :2007/09/29(土) 19:12:26 ID:???0
>>730 理屈から言って、保存場所によって保存ファイルサイズが変わったりすることはあり得ません。
ので、スクリプト以外のところに原因がありそうです。
初歩的なところを再確認してみて下さい。
・本体メモリには十分な空き容量がありますか?
WM5のキャッシュ仕様の関係で、保存しようとするファイルサイズの
倍以上の空き容量が必要です。
・その「61KB程度の小さなファイル」を再生するとどうなりますか?
「エラーが出る」→ DLしたファイル自体がおかしい
「動画の冒頭だけが再生される」→ DLが途中で切断されている
等々。
・本体メモリには十分な空き容量がありますか? ⇒現時点で49MB程空いていました。 ・その「61KB程度の小さなファイル」を再生するとどうなりますか? ⇒DL終了後TCPMPが起動し、「ファイルアドレス+ファイル名 未知のファイル形式です」と表示されます。 実際のファイル容量にかかわらず全て61KBのファイルになる。 PCでDLしたflvファイルは再生できるのでTCPMPは問題無いかもしれません。 レジストリをポケットの手でフォントキャッシュを2MBに設定した03shを使用しています。 ど素人な質問なのですが、 #ファイル名 "_<ビデオID>.flv" の前のタイトル部分の文字数(全角文字も1文字扱い) title_length = 16 ここはデフォルト値の16のままで大丈夫ですか? IDを数えたら11文字だったのですが。 ちなみに11に変えてテストしても失敗したのですが・・・。
追記 アドレスを変えようが日本のユーチューブサイトに接続してしまう為、日本版ユーチューブに表示されたビデオIDを使用しています。 問題ありますか?
734 :
1 :2007/09/29(土) 20:43:10 ID:???0
「未知のファイル形式です」ということは、 正しいflvファイルが落とせて無いということになりますね。 スクリプトはただ与えられたURL(およびそのリダイレクト先)に存在するファイルを ダウンロードするだけで、 そのファイルが正しい動画ファイルかどうかを検証しません。 「61KB」というサイズから想像するに、 YouTubeサイトのエラーページ(「ご利用いただけません」ページなど)に 飛ばされている可能性もありますね。 失敗する動画のIDを(差し障りのないやつをw)、ためしに教えて下さい。 「61KB」の実際のファイル名を教えてくれればなお良いです。 title_length は、保存ファイル名のうちID以前の文字数を指定しますので、 関係ないはずです。 そもそも再生失敗がもしファイルのネーミングの問題なら、ファイルサイズは正しいはずなので。 保存先ディレクトリも同様に無関係のはずです。 IDは、どの言語のYouTubeサイトでも共通のはず。なのでこれも関係ないはずです。 フォントキャッシュ変更がどういう影響を与えるのかは、俺にはわかりません。
736 :
1 :2007/09/29(土) 21:03:17 ID:???0
>>735 うーん、全く問題なく
1.2MBのファイルがDLされ、31秒間再生されるんですけどね。。
念のためですが
YouTubeの仕様変更対応最新版のYouTubeDL.mscr ver.8.29.2007
(
>>685 )を使ってますよね?
>>1 ありがとうございます。
ver.8.29.2007を使用しています。
某サイトで言われるがままに用意したlibフォルダの
MatchRep.mscr:ver.8.10.2007
WinActivator.mscr:バージョン記述無し
も影響あるんでしょうか・・。
たまたま見つけた16MBのminiSDカードに保存も同様の失敗(実験するにも容量が少ない・・・)
ダウンロードは無線LANとUSB接続でPCと同期してダウンロードする2つの方法を試しました。
SIM(赤耳)による接続は明日までデータ定額を停止しているので試していません。
03shは1回修理とつい最近simのトラブル時に点検として1回メーカーに預けてる物でした。
追記 MortScript:V4.0
739 :
1 :2007/09/29(土) 22:26:43 ID:???0
>>737-738 うーん…何が原因かわからないです。
MatchRep.mscrはファイルのネーミングで仕事してるだけだし
WinActivator.mscrはDLのプログレスバーを全面に出すだけなので関係ないですね。。
あと試せることと言えば、
・YouTubeDL.mscr の197行目(「#ダウンロード用URLの生成」の2行下)の
#Message( flv_url )
を
BigMessage( flv_url )
に変更して(行頭の「#」も削除)、さきほどのフリスクのやつで試し、
メッセージ表示された文字列をコピペして正確に教えてください。
・「61KBのファイル」をテキストエディタで強引に開き、それが何なのかを調べてみて下さい。
htmlファイルではありませんか?
これらを行って問題を切り分けていくしかないですね。。
上記のアドレスをW-ZERO3上のOPERAで直接クリック、ダウンロードしたところ、拡張子は無かったのですが正常なflvファイルがダウンロードできました。
742 :
1 :2007/09/30(日) 00:13:47 ID:???0
>>740-741 変数 flv_url に格納されたURLは正しくパース出来ているし
だからこそOPERAで直接クリックでDLできるわけですしね。
スクリプトのコードを見てもらえばわかりますが、
変数 flv_url にURLを代入後、
YouTubeサーバに対してやっていることは、
Download( flv_url ) のみです。
Operaで落とせてMortScriptで落とせない理由がわかりません。。
MortScriptのユーザエージェントは「MortScript」で、
今のところこれがYouTubeサーバに弾かれる様子はないし。。
やはりhtmlファイルでしたか。では、拡張子を.htmlに変更して
Operaで開いてみて下さい。なんて書いてありますか?
解決につながるかどうかわかりませんが。。
バカの相手は疲れますね
>>1 HTMLで開いたところ、ユーチューブのトップページと似たようなページが出てきました。
大きく違うところは、ユーチューブの下にタブ風のものがありその下に検索ボタン間では同じなのですが、
エラーで取得したhtmlファイルは
赤い枠に赤文字で「Invalid parameters.」と表示されています。
そこからしたは、例のフリスクの動画やら通常とほぼ同じ感じで表示していました。
追記 検索ボタンの下あたりに「Invalid parameters.」と書かれてる段が追加されてるということです。 修理から帰ってきてフルリセットしたばかりなのですが、また何かの機会に最初から導入してテストしてみます。
746 :
1 :2007/09/30(日) 02:34:44 ID:???0
>>744-745 俺の環境では、何をどうやっても、どんなにめちゃくちゃな引数を送っても
「Invalid parameters.」のページは出てこないです。
「youtube "Invalid parameters"」でググってみたところ、
どうやらそのエラーは、YouTubeアカウントのログインがらみのエラーメッセージらしいです。
もしかしたらIEが変なクッキーを食っているのかも知れません。
もういちどBigMessage()でflv_urlの値を取得して(∵ 引数の値は時間を置くと変わるので)
OperaではなくIEで開いてみて下さい。
もしダウンロードが開始されず、"Invalid parameters"が出るなら、狙いは合ってます。
IEのクッキーやキャッシュをクリアした後、もういちど試してみて下さい。
>>1 BigMessage()でDownload()の引数をチェックしたのですが正常そうだし、ビデオID調べた後に必要ないプログラムは全て閉じてやるなり、ユーザログインをあえてしてから試したり、色々やってあきらめてかけていました。
さっきOPERAとIEのキャッシュとクッキーも全てクリアしたら無事ダウンロードできるようになりました!
1さんの狙い通りでした。
もやもやした気持ちが晴れました、長い時間&夜遅くまでありがとうございました。
バカのおもり、お疲れ様でした。
バカのお守かどうかはべつとして 1さんの原因の切分け方法はみんな学んだほうがいいと思う 良質の推理小説を読むような感動を覚えたといってもいい
1さんのような人がシャープのサポセンにいてくれたらな
馬鹿馬鹿言ってるやつはお前どんだけのもんだよ・・・と、 人のコードの継ぎ接ぎばっかりの俺が苦言を呈してみる。
752 :
1 :2007/10/01(月) 01:02:27 ID:???0
しかしIEクッキーって影響するんだね。
考えてみれば、そうか。
逆用して、MyYahoo!とかのログイン済みページの読み込みもできたわ。
それとは関係ないけど
これ↓はありそうで無かったんじゃないかな?
クリップボードにコピーされたテキストの言語(英 or 日のみ)を自動判定し、
ワンタッチでエキサイト翻訳(英→日 or 日→英のみ)して表示するスクリプト
ClipTranslator.mscr のコード
http://home.att.ne.jp/wave/deox_pop/scripts/ClipTranslator.txt ワンタッチってとこがいちおう売りです。
コメントなどよく読んで理解して使ってね。
不具合があったら教えて下さい。
いつもお世話になってます。 突然ですがスレのみなさんにお願いに初カキコさせてもらいます。 天気のスクリプトやようつべ,txt表示など愛用させてもらっています。 どなたかもし可能であれば月齢のスクリプトを書いてもらえないでしょうか。 携帯板のあるスレで使っている方がいてうらやましくなってしまいました。 しかし1から組めるスキルなんてなくて…(´・ω・`) 最後の手段にダメもとでリクエストさせてもらおうと思いこのスレへやってきました。 僭越ですがアイコンを作成させて貰いました(70x70)どうぞご一考ください。 tp://www.uploda.net/cgi/uploader1/index.php?dlpas_id=0000259731.zip DLパスはmort yahooキッズの月齢を参考に加工して作成しました((((( ;゚Д゚)))))問題合ったらどうしよ) 参考:tp://hobby10.2ch.net/test/read.cgi/keitai/1156771490/714 ZERO3オーナーがTODAY画面晒すスレ 2枚目の714と722です。
754 :
1 :2007/10/13(土) 20:00:57 ID:???0
>>753 俺はlrTodayを使ってないので、
Todayに表示するまでは無理。。
月齢の計算式はいろいろあるみたいなので
ググって選んで貼ってくれれば
それをMortScriptに書き直すぐらいはできるよ
756 :
1 :2007/10/13(土) 21:55:48 ID:???0
>>755 どの方式がいいのかは俺も知らないよーw
カレンダーから取って来るなら、以下のスクリプト。
ただし、htmlページの仕様が変わったら自分で直せるように、理解して使ったほうがいいよ。
##############
url = "
http://www.astroarts.co.jp/cgi-bin/moon-calendar-j/ "
#月齢カレンダーページ読み込み
ErrorLevel( "off" )
If( ReadFile( url ) ne "" )
html = ReadFile( url )
EndIf
ErrorLevel( "error" )
If ( html eq "" )
Message( "月齢カレンダーが開けません" )
Exit
EndIf
#パースして月齢を抽出
html = SubStr( html, Find( html, "<td align=""center"" bgcolor=""#33CCFF"">" ))
gma = SubStr( html, Find( html, "alt=""" ) + Length( "alt=""" ), 2 )
#十の位のゼロを取り除きたければ
gma = gma*1
Message( gma )
#→今時点では「2」を表示
#end of script ##############
757 :
1 :2007/10/13(土) 21:56:29 ID:???0
計算するなら、以下のスクリプト #Y年M月D日の月齢 = (((Y - 2009) % 19)×11 + M + D) % 30 #注意 1月と2月の月齢については、上記計算値に 2 を加える GetTime( hour, min, sec, D, M, Y ) cma = (((Y - 2009) mod 19) * 11 + M + D) mod 30 If( M = 1 || M = 2 ) cma = cma + 2 EndIf Message( cma ) #→今時点では「1」を表示 #end of script ############## 月齢に詳しくないので、両者で結果が違う理由も、俺にはわかりません。 あと、他のスクリプトに組み込んで使う場合は、 変数名がバッティングしないように、独自のものに変更してください。
1さん有り難うございます。 でも私には無理な気がしてきた…(つД`) ちょっと試行錯誤してきます。
759 :
いつでもどこでも名無しさん :2007/10/13(土) 22:53:00 ID:MfXivqKt0
すみません質問させてください。 プログラムはじめてなのでトンチンカンなことしてたらすみません。 例えばwhile文を入れ子にして繰り返し処理をしたいのですが以下のスクリプトですと 0000〜9999を表示(1万回表示)させるのにsleepMessageを使ってるので最低1秒の設定で1万秒かかってしまいます。 処理してる進行状況を表示させるのに他によい方法ないでしょうか? a = 0 b = 0 c = 0 d = 0 while(a<10) while(b<10) While(c<10) While(d<10) #abcdを表示 SleepMessage(1,a & b & c & d) d = d + 1 EndWhile d = 0 c = c + 1 EndWhile c = 0 b = b + 1 EndWhile b = 0 a = a + 1 EndWhile またWhile文を入れ子にしすぎるとメモリ食い過ぎで処理の途中で止まるとかあるんでしょうか?
760 :
1 :2007/10/13(土) 23:21:56 ID:???0
>>759 動的に表示を変えるダイアログボックスやプログレスバーは
MortScriptには無いので、無理っぽいです。
While文を入れ子にしすぎた場合、「メモリを食う」というよりは
CPUに負荷が掛かり過ぎて重くなり、最悪フリーズする
といった状況は考えられますね。
>>760 すばやい回答ありがとうございます。
表示はあきらめます。
while文は意図した動きをしないのですが(1000回超えたあたりでとまる)もう少し試行錯誤してみます。
ありがとうございました。
762 :
1 :2007/10/14(日) 00:13:10 ID:???0
>>761 >>759 のスクリプトの
SleepMessage(1,a & b & c & d) を削除し、
最後に Message(a & b & c & d) を追加して走らせたところ、
約30秒で処理を終了し、
問題なく「10000」を表示しました。
使用メモリは45kBでした。
763 :
759 :2007/10/14(日) 06:12:18 ID:???0
>>762 わざわざ検証していただきありがとうございます。
実はWS003SHでLI情報の取得を試してみたかったのですが、前所有者がデフォルト暗証番号0000を変更したらしく
現在の番号がわからない状態です。WillCOMに持ち込めば有償修理(4200円)でリセットしてくれるのですが金額的にも
期間的に躊躇してたところMortScriptの存在を知ってあれこれ試行錯誤してる次第です。
幸いにもLI設定での暗証番号入力は何回間違ってもロックがないので単純に0000〜9999を入力させれば1回の検証に
4秒かかるとしても11時間で作業終わる計算になるので何とかなりそうかと。
実際に組んだスクリプト以下になります。
http://w-zero3.org/uploader/src/up0706.txt で、結果は先ほど0000〜9999まで検証終わったのですが結局暗証番号見つけられませんでした。
繰り返し処理で1000回前後で途中でスクリプトが終了してしまうので何かおかしいとは思うのですが
根本的な原因がわかりません。
本末転倒ですが、暗証番号が分れば原因を特定するヒントになるんですが、、、
もしWS003Hお持ちでしたら検証をお願いできませんか?
764 :
1 :2007/10/14(日) 17:07:53 ID:???0
>>763 あいにくそのスクリプトを実際に走らせる時間はちょっと無いんだけど、
コードを見てみたところ、25行目の
WaitFor("失敗", 2)
これは「2秒まで待って"失敗"というウィンドウが見つからなかったら
エラーを吐いて終了する」というコマンドなので、
ひょっとしたら暗証番号が1000前後にあるんじゃないですか?
エラーを吐かせずにスクリプトを続行するには、以下のようにすればOK。
・・・
ErrorLevel("off")
WaitFor("失敗", 2)
ErrorLevel("error")
・・・
765 :
759 :2007/10/15(月) 00:56:34 ID:???0
>>764 どもです。
ループの中で10回に一度FreeMemory()の値表示させるようにしてみたら
20KBづつ減っていくみたいです。
1万回処理するまでにメモリが無くなる勢いでした。
もし暗証番号がデフォルトの0000でしたら1回目のループで終わるはずなんですが、そのままループ
続けるようですと処理自体がうまくいってないみたいですね。
000-9999の数字を出したいのなら、入れ子にしなくても良いのでは? i=0 Repeat(9999) a=i / 1000 b=i mod 1000 / 100 c=i mod 100 / 10 d=i mod 10 / 1 #ここに繰り返す処理を書く i=i+1 EndRepeat
768 :
759 :2007/10/15(月) 01:50:51 ID:???0
>>766 どもです。
かなりすっきりしますね。
それで書き直してみます。
769 :
1 :2007/10/15(月) 02:11:03 ID:???0
>>766 たしかにそうだね。
しかし俺はどうも
「入れ子にしたからメモリを食う」
「ループをくり返したからメモリを食う」
という仮説が腑に落ちなくて。
その都度新しい変数を定義してるなら別だけど。
それで、以下の2種のスクリプトでちょっと実験してみた。
#[A]
i = 0
While( i < 100 )
Sleep( 1000 )
i = i + 1
EndWhile
#[B]
i = 0
While( i < 100 )
SleepMessage( 1, i )
i = i + 1
EndWhile
両者をそれぞれ走らせて使用メモリをモニターしたところ
[A]の消費メモリは一定。
[B]の消費メモリは1秒ごとに10数kBずつ増えていった。
(つづく)
770 :
1 :2007/10/15(月) 02:12:16 ID:???0
(つづき)
>>765 というわけで、ダイアログを表示する度に使用メモリが増大するみたい。
SleepMessage()をやめてみる or 100回毎ぐらいにしてみては?
その結果もし暗証番号が見つかって「失敗」ウィンドウが出なければ
エラーを吐いてスクリプトが止まるであろうことは
>>764 に書いたとおりです。
771 :
1 :2007/10/15(月) 02:26:31 ID:???0
>>767 いつもお世話になっております!
directMailって例のMort/nハイブリッドスクリプトですよね?
作者さんは残念ながら俺じゃないです…w
>>373 さんよろしくお願いします!
>>771 あーそうでした。uploaderにUPされていたものですね。
失礼いたしました。
>>373 氏
エントリー直しておきました。。
773 :
759 :2007/10/15(月) 21:35:29 ID:???0
現在の暗証番号をリセット(0000)にするように変更してみました。
>>759 のと比べて画面が戻らない分処理時間が大幅に縮まりました。(1万回処理しても3時間ぐらい)
SleepMessageを100回に1回ぐらいにしたことでメモリ消費もおさえられました。
While分からRepeatにしたことでスキッリしました。
スクリプトは以下です。
http://w-zero3.org/uploader/src/up0710.txt でも動作確認してみましたが暗証番号を見つけられないです。
可能性は低いけどうちのW-SIMは数字以外の暗証番号が設定されてるのかしら。
どこかしらスクリプトがおかしいのでしょうが自分には見当つきません。
WS003お持ちの方いましたら検証お願いします。
>>773 またまた横槍ごめんなさい。
これってa,b,c,dに1桁ずつ分ける必要があるのでしょうか?
おれ[es]だけどちょっと試してみます…面白そうなので。
775 :
759 :2007/10/15(月) 22:46:44 ID:???0
>>774 どうもです。
素人考えて0001等の0が前にあるのを入力させるのに4つに分けました。
esだと解像度違うのでMouseclick変更して検証よろしくお願いします。
自己レスです。a,b,c,dに分けないと、999以下の数値のときに頭にゼロがつかないから駄目でしたね。
[es]では、暗証番号変更の際は 現在の暗証番号、新しい暗証番号、確認、と3つ番号を入れるテキストエリアがあります。 一つ暗証番号を入れると自動で次のテキストエリアにフォーカスが移動します。 773を見る限りだと、003とは結構違うのかなあ。 スクリプトでタップするべき座標を調べるのが面倒で挫折中…。 タップするとその座標を表示してくれるようなソフトないでしょうか。
778 :
759 :2007/10/16(火) 01:45:48 ID:???0
>>777 003ですとフォーカスは移動しないですね。
タップすると座標が分かるソフトあれば便利ですよね。
自分はスクショ(Fn+Shift+c)で保存した画像から座標調べました。
タップした座標取るソフトは私もほしかったですね 依然スクリプト書いたときは クリックだけのスクリプトに大まかな座標入れて走らせ FakeCursorを起動して確認 微調整してタップスクリプト後FakeCursoer の繰り返しで座標決めてました
781 :
324 :2007/10/16(火) 21:43:23 ID:???0
>>780 うお、そっか#以降はトリップになるんだったw
>>780 おーすごい!ぽろっと要望を出したらさくっと作っていただけるとは!
WMは開発環境の敷居が高い(と感じている)のでexe作成には手が出せません…。
>>780 すばらしい
どこかのキーに割り当てて使うと便利ですね
また何かスクリプト書いてみようかなって気なります
やってみました。
結果、esではうまくいきました。
暗証番号を0025に変えてのテストだったので、暗証番号の桁が増えた場合の不具合があるかもしれませんが。
ttp://w-zero3.org/uploader/src/up0712.txt 微調整していて思ったのですが、暗証番号を入力しているつもりが
フォーカスがずれていたりwaitが足りなかったりでうまく入力できていない、
ということはないでしょうか?
(さっきこれでひっかかりました。sleepの個所を増やしたらうまくいきました)
MouseDblClickが1箇所ありますが、003はそういうものなのかな・・・?
LI情報の暗証番号を総当りするプログラムをCで作ったけど Mortscriptじゃないからスレ違いだよね 0100に設定した暗証番号を見つけるのに15秒ぐらいだったから 9999まで試すのは30分ぐらいかな
786 :
759 :2007/10/17(水) 00:40:54 ID:???0
>>780 すごいの一言。
こういのサクって作れるって尊敬する。
スクリプト弄ってて色々興味でてきたのですが、参考までにどういう環境で作ってるのか教えていただけませんか?
>>784 検証ありがとうございます。
基本的なスクリプトの動作には問題ないみていですね。
sleep調整してもう一度やってみます。
MouseDblClickは暗証番号の入力にフォーカス移動しても前の入力した番号を全選択してくれないので
ダブルクリックするようにしました。
ちなみに暗証番号が違う場合は、タイトルが「失敗」のダイアログが表示されますが
正しかった場合、ダイアログでメッセージ出るのでしょうか?
787 :
759 :2007/10/17(水) 01:03:34 ID:???0
あと新しい暗証番号と確認は暗証番号違った場合でも残っていたので、入力は最初の1回だけしてます。(esではその都度消えるのかな?)
>>785 スレ違いですけどうpしてもらえませんか?
788 :
324 :2007/10/17(水) 01:11:34 ID:???0
>>786 Visual Studio 2005 Proで、言語はC#使ってます。
スクリーンキャプチャのコードは前に書いたのがあったので、それの応用です。
5行くらいしか書いてないですよw
789 :
785 :2007/10/17(水) 01:20:51 ID:???0
>>780 一瞬フリーズしたかと思いウィルスかよっ!と思ったけど、これメチャ便利だわ
dくす。
>>787 esでは「暗証番号」が違う場合は3つの入力エリアが全てクリアされます。
なのでさっきupしたスクリプトでは毎回入力しなおしています。
「暗証番号」が正しかった場合は「成功」という名前の
ダイアログが出て「暗証番号を変更しました。」とメッセージが出ます。
やっぱし003とesとでは少し違うのですね。
785さんのツールで暗証番号を調べてから(その時点で目的は達成されていますがw)
スクリプトの仕上げに入るっていうのはどうでしょうか。
792 :
759 :2007/10/17(水) 05:12:34 ID:???0
>>789 どもです。
早速落として確認したところ、「not found」と表示されました。
時間は約20分ぐらいでした。
これは0000〜9999ではマッチしなかったということですか?
使用機器はWS003SH+RX420ALなんですがやっぱSIMがぶっ壊れてるんですかね?
もちろん通話、ネットは問題なくつかえてるのですが。
ワロタw 問題が解決してないwww
794 :
789 :2007/10/17(水) 08:48:15 ID:???0
>>792 0000〜9999まで試して見つからない場合にそのメッセージを表示しています。不思議...
795 :
759 :2007/10/17(水) 16:27:59 ID:???0
本日WillcomにW-SIMの修理依頼しました。
LI暗証番号だけでなくPUKコードもわからなかったのでどっちにしろ修理にださないと行けなかったんですが。
(PUKコードは8桁の数字らしいけど1億パターンもあったら、いくら
>>785 さんでも無理ですよね?)
結局、暗証番号わかなかったけどMortScriptの勉強できてよかったです。
ありがとうございました。
>>795 修理が終了したらぜひスクリプト試して欲しいです。
797 :
785 :2007/10/17(水) 23:17:57 ID:???0
>>797 乙
ところでPUKはロックしたっけ?
ロックするのはPINコードじゃなかった?
そのロックされたのを解除するのに必要なPUKがロックされたら困るような。
ちなみにスレ違いだけどその話題はどのスレが適当かな?
C#で作ったとのことですが中身はATコマンドでやってるの?
799 :
785 :2007/10/18(木) 02:00:18 ID:???0
このスレ的に役にたったのは メッセージたくさん表示するとメモリー食う っていうことだけだったな
801 :
1 :2007/10/19(金) 18:31:57 ID:???0
AutoGMnaviC.mscr v. 10/19/2007
GoogleMaps.exeとnaviClip.exeを使って現在位置近隣の地図を表示するMortScript
のコード
http://home.att.ne.jp/wave/deox_pop/scripts/AutoGMnaviC.txt 最近のGoogleMapsの緯度経度検索用メニューの仕様変更
(旧;「地図を検索」 新:「付近のお店やサービスを検索」)
に対応しました。
それにしても、緯度経度は「付近のお店やサービス」でも「Business」でもないのに、
わざわざ変更されているのは、何かの間違いのような気がしなくもないです。
次バージョンでまた元に戻る可能性もあるかもなので
AutoGMnaviCの旧バージョンは保存しておいたほうがいいかもしれません。
自分のも、オクで買ったやつ(WS007SHP+RX420AL)だけど、 前のユーザーさんがSIMロックも掛けてあるうえに、RX410ALからRX420ALに機種変更したらしくて、 元箱と説明書がRX410ALのやつで、PUKもわからなくて全く使えなかった。 で、LICrack使ってみたけど、やっぱりsimロック解除できなかった。 解約SIMつきで、位置情報でも表示して遊ぼうと思ってたけど甘かった。
SIMロックって何回かミスったら解除不可になるんじゃなかったっけ?
802です。 いろいろ書き間違いあるね。 simロックでなくて、暗証番号のことだわ。 暗証番号が解除できない限り、pinコードも解除できないのか...。(*_*)
もう完全にスレ違い
806 :
1 :2007/10/20(土) 22:00:41 ID:???0
いよいよ4.1のリリースも近いようですな。 まえにβ版をちょこっと試したところ、新しいコマンド群はべつとして、 従来の機能にも多少変更があるみたい。 例えば、文字列の比較に数値演算子を使うと 厳しくエラーを吐くようになっている(逆も同じ)し、 既存のリスト変数に対してイテレーション代入を行なうと イテレーション内で未定義のリスト変数は、全て未定義化される (今までは過去に定義した値が残った)ようです。 上位互換性を保つために、これまで使っていたスクリプトも 今のうちに見直しておくとよいかも。
>>804 LI暗証番号見つけられた人と見つけられない人いるみたいだけど結局原因は何だったの?
>>807 アルテルにメールで問い合わせしたけど修理扱いでリセットはしてくれるらしいけど。
使用ジャケット聞いてきたのでジャケットによって不具合あるのかもね。
なんで?イイじゃな〜い。どうせあまり動かないスレなんだから…
どっちもどっちだな
MortScript4.1RCがリリースされましたが、 原因不明の「Unknown command ''」エラーが出るようです。 このエラーは本来、スクリプト中に () (=空文字列+丸括弧)という文字列がある場合に出るエラーのはずだけど このバージョンが何故、どんな場合にこのエラーを吐くのか、わかりません。 導入にはもう少し様子を見た方がいいかも。
815 :
1 :2007/10/23(火) 02:40:35 ID:???0
↑は俺でした。。
816 :
1 :2007/10/23(火) 18:26:55 ID:???0
すばやくRC2がリリースされました。 問題はなくなっているようです。 少なくとも俺が今までうpしたスクリプトは、 問題なく走っているようです。 マニュアルはまたぼちぼちと訳していくけど 最近ちょっと忙しいので、気長にお待ちを。。
何かいいネタないかなぁ 表示させたりして楽しげなモノ…
>>818 アプリを起動するのと、キーを送るのにしか使ってないw
820 :
1 :2007/10/27(土) 19:05:46 ID:???0
1さん乙ですー!
同じく乙です! SelectDirectoryとかIniWriteとか、使ってみたい新機能がたくさん。 v4.1正式版はもちろんですが、要約も楽しみにしてます!
標準の接続先を記憶している場所ってどこか知っている人いますか? アプリにより接続する先を変えようと思ってます。 connection(接続先)をためしたのですが、アプリによっては強制的に標準のものを使うらしく、conectionで接続されたのを切って、標準ので接続しようとするので…
>>823 MortScriptはべつにZERO3専用ソフトじゃないんだよ
はるるたけべえサソいらっしゃいますか? お天気スクリプトで質問が… ずっと便利に使わせて貰っていたのですが、アイコンを自作しようと思って全く同じ名前、画像のサイズ、もちろんPNGで画像を作成しました。 …が、お天気アイコンが出てきません… 他のスクリプトの部分等いじっていないのですが… スキンの下にある1.png〜8.pngが作成されないみたいで、試しに自分でつくっておいたら表示されましたが、 今日の天気ではないマークに(要するに自分で造った1.pngのままで日によって変更されない) 全く解っていないと思うのですがどうぞご教示頂きたく思いますorz
いやです
そういわずにナントカ
828 :
いつでもどこでも名無しさん :2007/11/01(木) 04:22:06 ID:luAQQL2U0
4.1正式リリース記念age
829 :
いつでもどこでも名無しさん :2007/11/01(木) 20:03:09 ID:dcSTExVp0
公式死んだ?
自分用にファイルサーバーの共有フォルダとアドエスの特定のフォルダとの差分を同期させるのを組んでいるんですが。 共有フォルダにアクセスすると、必ず認証画面が出てきて困ってます。 一旦手動でアクセスしておけば出てこないんですが、接続から全て自動でやりたいのです。 この認証画面が出て来るのを回避する方法って何かありますか?
>>830 それはほんとにMortScriptの質問なのか?
832 :
830 :2007/11/02(金) 23:48:21 ID:???0
共有フォルダにアクセスする直前に、キーストロークする別なスクリプトをRunで実行したらうまく行けました。 これで何とか自動でファイルサーバーと同期出来そうです。
833 :
1 :2007/11/03(土) 18:18:29 ID:???0
GoogleMaps.exeとnaviClip.exeを使って現在位置近隣の地図を表示するMortScript AutoGMnaviC.mscr v. 11/3/2007 のコード MortScript 4.1 で走らせると 「#スタートアップ画面にOKを送る」の挙動がおかしいので対応しました。 SendLeftSoft( activeGmW ) の ( activeGmW )を削っただけです。 原因はよくわからない。 4.1になって、ウィンドウを見つけるプロセスに変更があったようなので、 それ絡みかもしれません。 このバージョンを4.0で走らせても問題ないはずです。
834 :
759 :2007/11/04(日) 02:57:57 ID:???0
スレチだけど事後報告と言うことで。
未だにW-SIMがWILLCOMから帰ってこないので、待てずにオクでW-SIM(RX410)を3つほど落札した。
早速、届いたSIMでスクリプトためしてみたけど3つのうち2つは暗証番号ヒットせず。(
>>797 のLIClackもダメ)
でも1つはちゃんと暗証番号見つけてくれたYO!
何で2つはダメだったのか原因わからんけど、とにかくスクリプトがちゃんと動くこと確認できて満足。
スゲー疲れたけど。
naviClipとかそれ系って、簡易座標しかとらないぽい?
CQって何だろう? クリップボードの電話番号を連絡先に人名なしで登録するスクリプト書いてみた。 エラー処理もないので縦画面のみ。 ・・・つか直接電話に入力したいなぁ。 Run( "\Windows\スタート メニュー\プログラム\連絡先.lnk" ) WaitForActive( "連絡先", 2000 ) sleep( 2000 ) MouseClick( 80, 780 ) Sleep( 2000 ) MouseClick( 200, 500 ) Sleep( 2000 ) SendCtrlKey( "v" ) Sleep( 500 ) SendOK
おっと。アドエス縦画面用です。 上のGettappedpointを試してみたかったので。
>>837 ClipCall.mscrを参考にしてみたら
参考もなにも、ClipCallはこのまま動くね。 俺の要らないや。thx!
友人から進められたので、恋空をよもうと思った。 携帯小説で、一ページずつURLが変わる。しかも文字がピンク。 読みにくいと思ったので一気に落として整形するスクリプトを書いた。 整形といっても切り出しだけだったのでperlでなくともすんなりできた。 あとは青空子猫で読むだけ。 PC上でもzero3上とほとんど同じように動かせるから 動作検証がすごく楽でいいや。 手軽に作れるのは楽しくて良いですね。
それくれよー
844 :
843 :2007/11/06(火) 01:29:52 ID:???0
PC上でしか実行してません。 zero3でやると何かエラーがあるかもしれませんので気をつけてください。 出来上がるファイルは700KBちょいです。
845 :
1 :2007/11/06(火) 04:45:25 ID:???0
みんなさっそくv4.1の新コマンド使ってるようだね。
文字列パースはずいぶん楽になったよね。
>>833 の問題は、
どうやらGoogle Mapsには"Google Maps"という名のウィンドウが
隠しウィンドウ含めてふたつあるようで、
それが混乱を引き起こしているような気がします。
新規スクリプト作成する人は、困ったら
>>31 のTask Managerなどを活用して、
ウィンドウ名のダブりを確認すると吉と思われます。
846 :
843 :2007/11/06(火) 08:19:31 ID:???0
読み始めて分かったんだけど、半角カナと半角英数があるので気になる人は適当に変換してください。 原作の”携帯”小説の雰囲気を味わうためにそのまま横書きで読んでみるのも良いかも…と言い訳。 おれは読みにくかったのでsakuraエディタでぱーっと変換しちゃいました。 1さんの和訳マニュアルがなかったらたぶんMortScriptやってません。 MortScript作者さんと1さんにはいつも感謝しています。ありがとうございます。
847 :
1 :2007/11/08(木) 02:20:28 ID:???0
848 :
たけたけ :2007/11/08(木) 22:29:17 ID:???0
>>825 考えられるのは
"お天気ini.mscr"の中の
"PNG_small"と"PNG_big"の両方が"OFF"になっている可能性があります
"TenkiCode.txt"の中身が不正な場合もあります
左から順に"天気コード,日本語説明,ファイル名"となっています
その辺も確認して下さい
実際のファイル名は+".png"or"_s.png"となっています
これらに則っていない場合はコピーに失敗しているんだと思われます
お返事有り難うございます(´・ω・`)
>>848 教えて頂いたモノは全部確かめたのですが、その通りみたいです。
画像のサイズとかは関係ないのでしょうか?まだ試していないのですが…スミマセン
もう少し試行錯誤してみます。解決しましたらまたご報告に参ります、有り難うございました!
MortScript本体ってダウンロード出来なくなってます???
SelectDirectoryとかあるので、あるフォルダに入っているmp3をランダムで 再生する目覚ましを作れる! 前は強引にやろうとしてあきらめてたからなあ。新バージョン万歳。
>>850 つまっちさんとこに書いてあったけど
wwwをmortにすれば見れるよ
854 :
1 :2007/11/10(土) 23:04:01 ID:???0
YouTubeDL.mscrで リダイレクト先URLの仕様変更のせいで 一部のビデオのストリーミング再生が出来なくなっていたので youtube_headers.cgi のほうで対応しておきました。
855 :
1 :2007/11/11(日) 00:14:12 ID:???0
>>854 「YouTubeDLGT.mscr で」の間違いでした;
856 :
いつでもどこでも名無しさん :2007/11/14(水) 08:33:05 ID:knuAPzRn0
>>1 >>63 で公開されているCQのコマンド集ですが4.1版の予定ってありますか?
キー操作、まったく受け付けない&ロード重いのは
<embed wmode="transparent">
<param name="wmode" value="transparent">
の影響?
menuの関連一覧も
いつの間にか操作不能になってるorz
前はws003sh-Ieでも軽く落とせてたのに
今じゃ重すぎて…
ttp://www.youtube.com/v/_u03eXpDnxg
<BODY STYLE='padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0'>
<EMBED SRC="
http://www.youtube.com/swf/l.swf?video_id=_u03eXpDnxg &eurl=http%3A//c-others1.2ch.net/imenu/http%3A//www.youtube.com/v/_u03eXpDnxg&iurl=http%3A//img.youtube.com/vi/_u03eXpDnxg/default.jpg
&t=OEgsToPDskLjTNAItgenoX2xVTash6Bh&rel=1&border=0" WIDTH="100%" HEIGHT="100%"/>
</BODY>
860 :
1 :2007/11/14(水) 12:13:20 ID:???0
>>856 予定はありますが、このところ忙しくて。。
翻訳もぜんぜんはかどらなくてごめん。。。
>>857-859 video_id=_u03eXpDnxgのビデオはYouTubeDLGT.mscrでは普通に見れたよ
861 :
856 :2007/11/14(水) 14:08:02 ID:???0
>>860 いえいえ。
まだ無いのであれば自分で更新しようかと思い確認してみました。
クイックリファレンスとして便利なんですよね。4.1に上げて新機能が追加されたことで自分がいかに依存していたか思い知りました。
青空文庫を読もうと思ってソフトを探してみた UKaozora 新着は分かるがビューワが固定 PocketSkyView 新着に対応してない というわけで新着をダウンロード、解凍、指定ビューワで開く、とやる スクリプト製作中です
863 :
いつでもどこでも名無しさん :2007/11/17(土) 01:02:00 ID:Hjv4aNpI0
>>863 青空子猫はビューワーなので青空文庫から作品を選ぶとかは出来ないです
ビューワーとしてはとても高機能だと思うので常用しています。
スクリプト、パソコンでは動いたがzero3に持っていくと動かないので調整中…。
qkcなかったら終わってるわ
encodeURIとか
X01T狙ってるんだけど PPC版使えるんだよね?
>>868 エディションが違うだけで、アドエス同じWM6だから大丈夫かと
というよりも エディションが違うけど、PPC版が使えるエディションのWM6だから大丈夫かと
871 :
1 :2007/11/22(木) 19:06:29 ID:???0
v4.1リリース PPC版で Round(), Floor(), Ceil(), Rand() がちゃんと動いてる人いる?? 俺の003SHだと Round(), Floor(), Ceil() は「Invalid parameter」 Rand() は「Unknown function」エラーが出るわ。。
>>871 1さん、はじめまして。マニュアルご苦労様です。死ぬほど役にたってます。
Round()他の件、これは自分も相当悩みました。
もしや、と思って適当にやってみたところ
「Round( x ,1)」みたいな感じでやったらうまくいきました。
うしろの数値が何を表すのかは、さっぱりわかりませんが。
Rand() はわかりません。
一度試していただけるとありがたいです。
873 :
1 :2007/11/22(木) 20:01:27 ID:???0
>>872 ほんとだ!
後ろの数字はFormat()なんかだと桁数なんで
なんかそのへんの残りが悪さしてるのかもしれませんね。
情報ありがとうございます。
Rand()はエラー吐きますよね?
機種教えてもらえると参考になります。
>>873 esですが、同じくエラーが出ました。
unknown function です。
875 :
1 :2007/11/22(木) 21:08:12 ID:???0
>>874 サンクスです。
折を見てレポっておきます。
876 :
872 :2007/11/22(木) 23:15:58 ID:???0
検証ありがとうございます。機種はアドエスです。 Rand()ですが、総当たりみたいな感じで試したら、ついに判明しました! 「Rand()」ではなく「Rnd()」なら、あっさりうまくいきました。 これはバグなのか、単なるマニュアルの記載ミスなのか・・・・
877 :
1 :2007/11/22(木) 23:53:47 ID:???0
>>876 ほんとだ!よく見つけましたねぇ。すごい。
Round()などが不必要な引数を要求するのはバグだろうけど
Rnd()はおそらくマニュアルの記載ミスだろうと思われますね。
日本語のマニュアルはなにごとも無かったかのようにRnd()にしておきます。
>>876 randomとかrandoとかは試したけどrndとは!
おつかれさまでした。
879 :
872 :2007/11/23(金) 00:36:19 ID:???0
>>877 いえいえ、少しでも1さんのマニュアル翻訳の役にたてたら幸せです。
>>878 >>randomとかrandoとかは試したけどrndとは!
8ビット時代の大昔のBASICのコマンドがRNDだったんで、もしや、と;;
それからずーっとプログラム(スクリプトだけど)なんかやってなかったんだけど
まさかこんなところで太古の知識が役にたつとは
>>879 確かにBASICはRNDでしたねえ。おれもやりましたよ
8ビットまではいきませんがw
青空文庫の新着ダウンロードスクリプトに
未読・既読情報を管理する機能をつけました。
一度ダウンロードした作品は一覧でそれとわかるようになりました。
正確には未読既読情報でなく「ダウンロードしたかどうかの情報」ですね。
細かいところはまあいいか。
881 :
1 :2007/11/23(金) 03:58:11 ID:???0
>>880 乙です。
>>879 俺もRandom()は試したけど
PerlはRandだしJavaScriptはRandomだしAppleScriptはrandom number(wだし
100%文系の俺はBASIC知りませんし。
相変わらずMortScriptのマニュアルは油断できないわw
でも「原文よりも正確な日本語マニュアル」目指してがんばりますです。
1さん、マニュアル翻訳お疲れ様です。 MortScriptを始めたばかりですが、ものすっごく助かっています。 # 特に注釈がうれしいです。 下記の記述でよくわからない部分があったので、質問です。 4.1版 のマニュアル、9.6.7章 についてです。 > 9.6.7 「Notification Queue」からアプリケーションを取り除く(RemoveNotifications) > RemoveNotifications( アプリケーション<[B>, 引数] ) この "<[B>, 引数]" とはどのような意味でしょうか? 4.0版では "[, 引数] " となっていましたので、機能強化等でしょうか? 記述方法の説明を見ても理解できませんでした。 よろしければ教えてくださいm(_)m
883 :
1 :2007/11/23(金) 04:55:00 ID:???0
>>882 <[B> は、HTMLのボールドタグの記述上あらわれたゴミでした。
直しておきました。
ご指摘サンクスです。
>>883 ご返答ありがとうございました。
今後とも利用させていただきます〜
質問です。 SDカードを差し込んだ時にその中に特定のテキストファイルがあるかを確認するために、 以下のようなAutoRun.mscrをAutoRun.exe、MortScript.exeとともに2577フォルダに入れたのですが、 Operator found where value expectedというエラーが返ってきます。 ErrorLevel("syntax") Sleep( 4000 ) If ( FileExists( \miniSD\es_iCal.txt ) = 1 ) { Message( Text [, title ] ) } [ Else { Message( No [, title ] ) } ] EndIf MortScript始めたばかりで、根本的に何か間違えてるのかもしれませんが、 どこが間違いなのか、どなたか教えていただけませんでしょうか。 環境はWS007SH、MortScript4.1です。
根本的に間違ってるね。 他の人のスクリプトを眺めてみれば、どこが変なのか気づくと思うけど。 マニュアルに書かれている[]内は省略可能な引数で、それらを使う 場合、[]そのものは不要。
If ( FileExists( \miniSD\es_iCal.txt ) = 1 ) { Message( Text [, title ] ) } [ Else { Message( No [, title ] ) } ] EndIf の部分は If ( FileExists( "\miniSD\es_iCal.txt" ) ) Message("あったよ") Else Message("なかったよ") EndIf こんなかんじだとおもう。 MortScriptはwinマシンでも動くので、自分で1行ずつちゃんと動くか確かめると作業がはかどると思います。 どうもzero3上では打ち込む気になれない…。
追記 2577フォルダっていうのが何なのかはよく分からないのでスルーしました
>>886 ,887
?.......
!!
自分の理解力のなさを思い知りました。
>>887 でいけました。
ありがとうございます。
>>888 一部の機種では
メモリーカードのルートに2577(もしくは0)というフォルダをつくり、
そこにautorun.exeとmortscript.exeとautorun.mscrを放り込んでおくと、
カードを入れた時にautorun.mscrが動きます。
詳しくはマニュアルの5.1を参照してください。
>>889 マニュアル
6.2 当マニュアルでの文法スタイル
を参照してください
Runwait( "\Program Files\harddial.exe", "-off" ) RegWriteDWord("HKLM", "Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections\SoftBank", "Enabled", 0) RegWriteDWord("HKLM", "Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections\VFJP WAP", "Enabled", 1) RegWriteDWord("HKCU", "Software\ACCESS\NetFront34\BrowserPref", "ProxyAutomaticSettingEnable", 0) RegWriteDWord("HKCU", "Software\ACCESS\NetFront33\BrowserPref", "UseProxy", 1) Run( "\Program Files\harddial.exe", "-on" ) Runwait( "\Program Files\NetFront33\NetFront.exe") 上記スクリプトは01HT ROMスレで紹介してもらったブログに書かれていたものを NetFront3.3に変更し少し簡素化したものなんですが、コレに 「現在NetFront3.3が起動中であれば、閉じる」という動作を先頭に付け足したいです。 If ( wndExists ( "NetFront v3.3" ) ) Close ( "NetFront v3.3" ) ↑を書き足してみたんですが、上手く動いてないのですが、アドバイス貰えないでしょうか? 書き足す前の、↑のスクリプトはちゃんと動作することを確認しています。 やりたい事は以下です…。 1.回線断 2.NF3.3が起動中であれば閉じる(NFは起動時にレジストリを読むため起動中の場合は書き換わらないため) 3.SoftBank接続を使わないよう設定しVFJP接続で繋ぐ設定に 4.UAを携帯用の物に書き換え、 5.PROXYを使用する設定にレジストリ書き換え 6.VFJP接続 7.NF3.3を起動
>>891 NetFront v3.3を使ってないので自分では試せませんが
チェックポイントとしては以下のようなことだと思います。
・> If ( wndExists ( "NetFront v3.3" ) )
> Close ( "NetFront v3.3" )
のあとにEndIfを忘れていないか確認する
・NetFront起動中に
Message(wndExists ( "NetFront v3.3" ))
という1行スクリプトを走らせて、ウィンドウ名が本当に"NetFront v3.3"なのか確認する
・上がOKな場合、
Close( "NetFront v3.3" )
という1行スクリプトでNetFrontが本当に終了するか確認する
マニュアルにあるとおり、アプリによってはCloseで終了しないものもあるので。
・ウィンドウの認識が上手く行かない場合はProcExists()、
終了しない場合はKill()を使ってみる
>>892 やはりIfから始まった場合はEndIfは必須なんですね、「もしそうでなかった(NF3.3が起動中でない)場合」という意味になると思うのですが
「何もしない」という動作になるんですが、上手い表現(コマンド?)が見つからなかったので
特に何も記述していませんでした。
もしかして、Runwait( "\Program Files\harddial.exe", "-off" ) 〜以下全てを
EndIfで括る形で良いんでしょうか?
ただその場合、NF3.3が起動中だった場合の動作が…
難しいもんですね。
Close( "NetFront v3.3" )
Message(wndExists ( "NetFront v3.3" ))
この2点は問題ありませんでしたので現状で大丈夫なようです。
別な疑問も一つ。
Runwait()は「動作が完了するまで待機」という意味なようですが
この場合、Runwait()で括られた動作が完了するまで、という意味で良いんでしょうか?
RunとRunwaitの違いがいまいち掴めません。
>>893 >やはりIfから始まった場合はEndIfは必須なんですね、「もしそうでなかった(NF3.3が起動中でない)場合」という意味になると思うのですが
それは Else ね。条件に一致しなかった場合の処理が必要ないなら Else は不要。
EndIf は If 文の終わりを表すから必須。
If 条件
条件に一致した場合の処理
Else
条件に一致しなかった場合の処理
EndIf
んで今回の場合はこんな感じでいいかと。
>>892 さんが書いてある通り、 Close で終了しなければ Kill で。
If(wndExists("NetFront v3.3"))
Close("NetFront v3.3")
EndIf
> RunとRunwaitの違いがいまいち掴めません。
ttp://home.att.ne.jp/wave/deox_pop/mortscript.html#9.5.2
> それは Else ね。条件に一致しなかった場合の処理が必要ないなら Else は不要。 完全にElseとEndIfを混同してしまってましたorz If Else EndIf は(本来は)必ずセット利用だと思いこんでいて、 その後のElseの中身が思いつかなかったため 以降全部を省略してしまっていた次第です…。 で、結果なんですが、 教えていただいた通りElseを書き加えただけで希望の動作になりました。 ありがとうございました。
無線LANが起動してるかどうかってどのレジストリキー見ればいいかご存知の人居ますか?
あああ、、、 微妙に誤爆しました。。 ちなみにad esスレです。。
>>898 そのサイトで公開されている、SlowDownというアプリ、興味あるけどDLできないのかな・・
>>898 あ、解決してましたー。
でもありがとうございます。
肝心のスクリプトが思い通りの動きをしてくれないわけですが・・・
レジューム復帰明示用の関数とかあればいいのに。
901 :
1 :2007/12/02(日) 04:49:08 ID:???0
GoogleMaps.exeとnaviClip.exeを使って現在位置近隣の地図を表示する
AutoGMnaviC.mscr v. 12/2/2007 のコード
http://home.att.ne.jp/wave/deox_pop/scripts/AutoGMnaviC.txt Google Maps Mobile(以後、GMM) v2.0.0.11 のスタートアップ画面省略に対応しました。
GMMはこれまで、起動時にいちいちスタートアップ画面が現れて
OKを送る必要があったけど、 v2.0.0.11ではそれが省略されてます。
GMM v2.0.0.11インストール直後に一回だけGMMを手動で起動して
使用条件同意&スタートアップ画面OKしてから使用して下さい。
変更点は、「スタートアップ画面にOKを送る」ブロック内の
SendLeftSoft
Sleep( msec )
の2行をコメントアウトしただけです。
767にのっているdirectMailRDが動きません。 'if' without 'EndIf' Line: if((buf=="")|| というエラーがでます。 mortscriptがnscriptの部分を認識してしまい エラーが出てるようなのですが。。 mortscriptとnscriptの組み合わせに詳しい方おしえてください。
下記のような無線LANの接続ができるまで待つコードをかこうとしてるんだけど これだとWhile部のNOT is_connectedがいつまでたってもTRUEを返してくれなくて常にtimeLimitの方で抜けちゃうんです。 なぜそうなるかご存知の方いらっしゃいましたら教えていただけないでしょうか。 よろしくお願いします。 is_connected = RegRead("HKLM", "System\State\Connections", "Count") If((WifiCheck) AND (NOT is_connected)) RunWait(wifictrl, "on") While((NOT is_connected) OR (timeLimit)) is_connected = RegRead("HKLM", "System\State\Connections", "Count") timeLimit = timeLimit - 1 Sleep(1000) EndWhile EndIf
>>903 > While((NOT is_connected) OR (timeLimit))
ORじゃなくてAND
>>904 While((NOT (wifi_Stat = 19)) AND (timeLimit > 0))
wifi_Stat = RegRead("HKLM", "System\State\Hardware", "Wifi")
該当部と判定をこうかえたらとりあえず無事動きました。
ありがとうございました。
906 :
いつでもどこでも名無しさん :2007/12/03(月) 20:49:57 ID:4AyLM5z70
ファイルサーバーへのデータバックアップ処理を作っています。 大量のファイルをコピーしている間、継続して「処理中」ウィンドウを 表示しておきたいのですが、良い方法はないでしょうか。 今は、処理の途中に、所々 SleepMessage を表示させていますが、 煩雑すぎるので思案しています。
>>906 処理中ウィンドウを表示するだけの別スクリプトを処理開始時に起動して、
処理終了時にKillScriptでその別スクリプトを停止するのは?
908 :
1 :2007/12/04(火) 04:45:18 ID:WukZTG0f0
【緊急連絡】 MortScript v.4.1で WriteFileのcodepageオプションに「utf8」および「utf8-prefix」を指定して ファイル書き込みしようとすると、重大な問題を引き起こす可能性があります。 少なくとも俺のW-ZERO3 WS003SHの場合、 作成されたファイルサイズが見た目0kBであるにもかかわらず 30MBほど空いていた内蔵データ記憶用メモリが食い尽くされ そのファイルを削除したら空き領域は元に戻ったものの 次にリセットした際に何故かフルフォーマットが開始されてしまいました。。。
それはきつい。 家に使ってないesあるから、帰ったら実験するか
910 :
1 :2007/12/04(火) 17:16:25 ID:???0
ファイルシステムがぶっこわれたとしか思えない。
フォーマットついでにもういちど同じ事をやってみたら
今度は大丈夫だった。。なんだったんだろう?
でもutf8でWriteFileは思うような結果が得られないので
いずれにしても現時点ではお薦めしない。
>>909 やってみてーw
>>889 よかったですねえ。
SDカードなんて購入して以来抜き差ししたこと無いから知らなかった…。ためになりました。
(カードは固定だと思っているw)
青空文庫新着ダウンローダー使っている人で何かバグとか要望とかあったら教えてください。
使ってくれている人がいるかが問題だけど…。
>>908 1さんおつです。
コード指定するオプションがあることを知りました。
Rndって初回は必ず0.7付近の値が帰って来る…。
912 :
いつでもどこでも名無しさん :2007/12/05(水) 08:35:24 ID:V/W0/Ixb0
>>907 やはり、それしかないですよね...。
このようにしてみました。
WriteFile( dispScript , "Message(""処理中"",""COPY PROC"")" & "^NL^" , NO )
Run(dispScript)
Advanced/W-ZERO3[es] のタコユーザです。
クレクレ厨なみのお願いは承知の上なのですが
お力をお借りしたく、書き込みさせていただきます。
通常の音声端末では、送信済みのメイルの再送信が簡単にできます。(選択→[発話ボタン]などで)
同じようなこと、つまり「同じ宛先/内容のメイルを作成→送信」を、
MortScriptで自動化することが可能なら、どなたかお作りいただけませんでしょうか…。
お役に立つかは分かりませんが、キーボードマクロ的には
以下のようなプロセスをたどると思います。(見当違いならすいません…)
(1) \windows\stmail.exeを起動
(2) [左ソフトキー]押下 (「メッセージ作成」選択)
(3)「A」押下 (「テキストメイル」選択)
(4) [→]押下 (宛先アドレス欄へフォーカス)
(5)「
[email protected] 」 (宛先アドレスの入力)
(6) [→]を5回押下 (本文欄へフォーカス)
(7)「東陽町通過しました。」 (本文の入力)
(8) [左ソフトキー]押下 (「メッセージ」選択)
(9)「C」押下 (「送信」選択)
>913 その程度はHTMLのmailTo:で わざわざスクリプトにして ややこしくしなくても
>>914 レスありがとうございます。おっしゃるとおりなんですが、
作成から送信までをなるたけ自動化したいんです><、
仕事で現在地、業務内容等の定型メイル(10種類程度)を
毎日ポコポコ送らなければならなくて、、、
>>913 この命令で何とかなるよ。
http://home.att.ne.jp/wave/deox_pop/mortscript.html#9.5.2 ・9.5.2 アプリケーション/文書を開いて実行終了まで待機する(RunWait)
「RunWait( アプリケーション[, 引数 ] )」
これでkeyInputEmulator.exeに引数を喰わせまくればいいんジャマイカ。
(たしかウィンドウタイトルは一定じゃ無かったよね>w-zero3メール)
「特定のウィンドウを前面に表示」「特定の座標を[右|左]クリック」なんて命令もあるので
好きな定形文を好きなだけ追加して頑張れ〜。
SortInchKeyで特定ボタンに関連付けたSimpleMenuの項目として放り込むといいね。
# QMAIL3は開いてるメールを新しく編集とか有るので萌え
# 文字通り書いてみた。KeyInputEmulator.exeの存在が前提。SLEEP値はチューニングお願い。
#(1) \windows\stmail.exeを起動
Run("\windows\stmail.exe")
#(2) [左ソフトキー]押下 (「メッセージ作成」選択)
#(3)「A」押下 (「テキストメイル」選択)
#(4) [→]押下 (宛先アドレス欄へフォーカス)
RunWait("\Program files\KeyInputEmulator\KeyInputEmulator.exe", \
<SLEEP:1000> SoftKey1 <SLEEP:100> a <SLEEP:500> Right)
#(5)「
[email protected] 」 (宛先アドレスの入力)
SetClipText( "xxx.xxx.ne.jp" )
RunWait("\Program files\KeyInputEmulator\KeyInputEmulator.exe", Ctrl+V <SLEEP:100>)
#(6) [→]を5回押下 (本文欄へフォーカス)
RunWait("\Program files\KeyInputEmulator\KeyInputEmulator.exe", Right Right Right Right Right)
#(7)「東陽町通過しました。」 (本文の入力)
SetClipText( "東陽町通過しました" )
RunWait("\Program files\KeyInputEmulator\KeyInputEmulator.exe", Ctrl+V <SLEEP:100>)
#(8) [左ソフトキー]押下 (「メッセージ」選択)
#(9)「C」押下 (「送信」選択)
RunWait("\Program files\KeyInputEmulator\KeyInputEmulator.exe", SoftKey1 <SLEEP:100> c)
# 参照:
http://home.att.ne.jp/wave/deox_pop/mortscript.html#6.3 (6.3 スペース、タブ、改行)
ATOKの制御がまんどくせ
クリップボードを経由してるからIME制御いらないんじゃない? ソフトキーが開いているときは勝手にIME無効になるでしょ。
日本語入力にATOKを使用する
>>917 キーコードはAppCloseから送ったほうがいいよ
というか意味が分からんのだが・・・ 送信済みのメールの再送信、だろ?その通りできるじゃん?
お ま え は な に を 言 っ て い る ん だ
だ ー か ー ら ー 、 送信済みトレイのメールを選択して、返信>送信だろ? って言ってんの。
つか、アドエスでやる意味あるの?業務で使いたいのなら、Linuxサーバでもたてて、Webサーバからメール送るとかやったほうがよくない?
それができる香具師ならここで物乞いしないだろw
913どこいったんだよ
>913の内容的に 車上の業務連絡を03で メーラ起動含めてなるたけ少ない操作でやりたいんじゃないの?
>>921 あ、ほんとだ、AppCloseでも送れるんだね。ありがとう!
930 :
1 :2007/12/07(金) 03:03:37 ID:???0
stmail.exe はわからないんだけど
WM標準のOutlookメール(tmail.exe)なら
Run( "\Windows\tmail.exe", "-service ""送信アカウント名"" -to ""送信先アドレス"" -subject ""題名"" -body ""本文""" )
でメール作成
Run( "\Windows\tmail.exe", "-sync" )
で送受信できるんだけどね。
>>538 のRemoteLoc.mscrなどをご参照のこと。
TimeStamp()で帰って来る値がどうもおかしいような…
>>902 にあるように最新Ver.のMortScriptだと動かないかもしれんけど、directMailRDのようなカスタムを作ればメール送信に関しては簡単にできるはず。履歴は残らないけど、PasteHelper2やnaviclip.exeと連携させるのも面白そうだ。(このスレ的には)
というか、「かえるメール」ってアプリがなかったけか?これは?ツールMEMOさんを確認してみては。
ほんとだ。ファーム1.2。tmail のオプションは効かないね。
935 :
1 :2007/12/18(火) 03:38:39 ID:???0
母艦のHDが飛ぶはアク禁は食らうはでもう大変でした。。
>>933-934 -service -syncも駄目なのか。不便な時代になったものだね。。
たけたけさまの、天気予報のスクリプトを永らく使用させて頂いております ふとした拍子に、更新日時となるところの日にち部分が [Array]と表示されるようになってしまいました 原因として思い当たる節はありません 何かお分かりになる方助言をよろしくおねがいします 正しくは 2007年12月25日 17時発表・・・ 現状 2007年12月[Array]日 17時発表・・・ 宜しくお願いします
937 :
1 :2008/01/05(土) 19:39:26 ID:???0
お疲れさま( ^^) _旦~~
939 :
1 :2008/01/11(金) 03:19:26 ID:???0
皆さん非常にレベル高くてすごいです…。 zero3アドエスにて特定の人に対するzero3メールでの 「手書きメール」作成のやり方がみつからずMortScriptにたどり着きました。 初心者なりに書いてみたのが下のやつです。問題点は単純に起動画面からキー操作を やらせてるだけなので、既にzero3メールが立ち上がっている場合まったくうまくいかないことです。 ツッコミお願いします。 Run("\Windows\スタート メニュー\W-ZERO3 メール.lnk"), Sleep(2000) #ソフトキーから手書きメール作成を選択 SendSpecial("LeftSoft") SendSpecial("down") SendSpecial("cr") Sleep(2000) #あて先にメルアド挿入 SetClipText( "xxxxxx@xxxxx" ) SendCtrlKey("v")
941 :
1 :2008/01/12(土) 02:35:44 ID:???0
>>941 ウィンドウ名は固定で「W-ZERO3メール」です。
943 :
1 :2008/01/12(土) 06:04:35 ID:???0
>>942 ですよねー
-----------
>>941 のまちがい
× CallScriptFunction( "\fullpath\to\MatchRep.mscr", 出力用変数, マッチ検索対象文字列, マッチパターン )
のように呼び出して使って下さい。
○CallScriptFunction( "\fullpath\to\MatchRep41.mscr", 出力用変数, マッチ検索対象文字列, マッチパターン )
のように呼び出して使って下さい。
944 :
いつでもどこでも名無しさん :2008/01/12(土) 10:10:40 ID:ws5bYthu0
1さんいつもありがとう!
>>940 いったん終了させる処理を頭に入れたらどう?(強引)
それか、起動済みの場合はビープ鳴らして終了(ユーザーに終了を促す)するとか。
>>944 強引終了処理入れてみました。
なんとかうまくいっているようです。
#もし立ち上がってたら終了処理
If(WndExists("W-ZERO3メール"))
Close("W-ZERO3メール")
Else
EndIf
Run("\Windows\スタート メニュー\W-ZERO3 メール.lnk"),
WaitForActive("W-ZERO3メール",10000)
#ソフトキーから手書きメール作成を選択
SendSpecial("LeftSoft")
SendSpecial("down")
SendSpecial("cr")
Sleep(2000)
#あて先にメルアド挿入
SetClipText( "xxxxxx@xxxxx" )
SendCtrlKey("v")
この手のスクリプトをUIのエミュレートじゃなくて,直接WM_COMMANDを 投げちゃうっていうのはできないのかな? PostMessage("W-ZERO3メール", 273, 11135, 0) # 273がWM_COMMAND ades持ってないから動作するかは分からないけど.
>>946 何ですかこれは!!!
立ち上がっていようといなかろうと問題なしになりました…。
助言を下さった皆さんありがとうございました。これにて完成ですw
Run("\Windows\スタート メニュー\W-ZERO3 メール.lnk"),
WaitForActive("W-ZERO3メール",10000)
#手書きメール作成画面立ち上げ
PostMessage("W-ZERO3メール", 273, 11135, 0)
#あて先にメルアド挿入
SetClipText( "xxxxxx@xxxxx" )
SendCtrlKey("v")
>>946 同じくMortScriptしか知らない俺も
何ですかこれは、ですね。
もしかしてうまく使えば特定のウィンドゥに
コマンドを投げれるってことですか?
ぜひご教示を!
それと比べたらずいぶんしょぼいネタだけど
「2++」がSendCommandで制御できますね。
SendCommand( "2++", 20013 )
みたいな感じで。
こういうのの一覧とかあればいいなぁ。
ところで1さん、もうすぐ次スレですが
このスレのHTML化とか考えられてます?
すっごい財産なんで何とか残してほしいなぁと。
949 :
1 :2008/01/13(日) 06:03:05 ID:???0
9.7.13 さらに高度なコマンド/メッセージを送る(SendCommand, SendMessage, PostMessage)
に関しては、情報さえあればいろいろ使い出があると思うんだけど
なにせmsdnのページがMacで見るとどんなブラウザでもぐしゃぐしゃで。。
なんでああなんだろうね。いじめか。。
>>948 HTML化はわかんないけど、最低でもdatファイルの保存&うpはするつもりです。
テンプレ案などあったらみなさんよろしくお願いします。
以前に、定型メイルのサクサク送信スクリプトについて質問した者です。
結局、常用のW-ZERO3メールの制御がウマくできず、送信のみQMAILを使っています。
run \QMAIL\Q3U.exe, -c "\QMAIL\雛形\住吉町.txt" -q
run \QMAIL\Q3U.exe, -g -q
しかし、W-ZERO3メールと挙動が噛み合わないのか、
ダイアルアップが正常に行われなかったり、送信失敗後に固まったりと、
いまだ「サクサク送信」には至りません。
できればW-ZERO3メールで、hoge 宛に 本文 xxx の定型メイルを作成後、
ただちに送信したいのですが、お知恵を拝借できませんでしょうか。
(
>>940 さんもお困りだったとおり、stmail.exe の起動中の制御がウマくできずにいます)
(続き)
Run("\Windows\stmail.exe"),
WaitForActive("W-ZERO3メール",5000)
# 左ソフトキー押下:[メッセージ作成]※
SendSpecial("LeftSoft")
# アドレス入力
SetClipText( "hoge" )
SendCtrlKey("v")
# 本文までフォーカス移動
SendSpecial("down")
SendSpecial("down")
SendSpecial("down")
SendSpecial("down")
SendSpecial("down")
# 本文入力
SetClipText( "xxx" )
SendCtrlKey("v")
# 左ソフトキー押下:[送信]※
SendSpecial("LeftSoft")
※下のパッチにより、左ソフトキーの割り当てを変えています。
ttp://lark-andante.seesaa.net/article/78770806.html PostMessageとか、WM_COMMANDとか、魔法みたいなやつご教示くださいで厨(><)
952 :
いつでもどこでも名無しさん :2008/01/18(金) 10:22:35 ID:Vj1D9RCq0
>>950 nPOPはダメかなぁ
「送信箱」にあるメールを再送または
再編集して送信できるけど。
流れを読まずに、KLChgExec用のスクリプトを貼ってみる。 画面Off系 単純Off ToggleDisplay(0) 画面Offの後CPU負荷の低い「実行中のプログラム」へ移動 ToggleDisplay(0) Run( "\windows\ctlpnl.exe" ," cplmain.cpl,4,2 " ) 画面Offの後、20秒たっても画面が同じならSuspend (いきなりSuspendすることでの問題回避。たぶん改良の余地あり) ToggleDisplay(0) X = ActiveWindow Sleep(20000) y = WndActive( x ) If( y = 1 ) #以下の行は適当なサスペンドアプリを指定 Disconnect Run("\Program Files\TaskMgr.exe" , "/s") Else EndIf
上のコメントの位置がちょいおかしかった。 画面On系 単純On ToggleDisplay(1) キーロック設定時に画面Onの後、Todayに移動する問題の対処 x = ActiveWindow() ToggleDisplay(1) show( x ) 逆に、画面Onの後、必ずTodayに移動 SendWin SendWin ToggleDisplay(1)
>>955 >逆に、画面Onの後、必ずTodayに移動
>SendWin
>SendWin
>ToggleDisplay(1)
それだとキーカスタマイズしてた場合
うまくいかない可能性があるから
Show( "Desktop" )
ToggleDisplay(1)
の方がよくね?
957 :
946 :2008/01/18(金) 21:44:42 ID:???0
ボケてました.SendCommandなんてあったのね... > PostMessage("W-ZERO3メール", 273, 11135, 0) は SendCommand("W-ZERO3メール", 11135) と同じです. メニューのコマンドIDが知りたい場合は,母艦にexeを持っていって ResourceHackerで覗くか,DumpRCを使うかが良いと思います
ダイアログ・テキストボックスの練習も兼ねて、URLDL用のDLリスト編集スクリプト。
Elseって省略出来たのか。
機能としてはURLDL.txtの内容をエディットするだけ。
それだけではシンプル過ぎるので、URLDL.exeが存在しなければ起動する機能付き。
起動する度に
http://が行末に付くのは 、エディットで改行が出来ないため。
#以下に""で囲ってURLDL.exeとURL.txtのパスを入れて下さい。#
exe = "\Program Files\URLDL\URLDL.exe"
txt = "\Program Files\URLDL\URLDL.txt"
a = ProcExists( "URLDL.EXE" )
If( a = 0 )
b = Question( "起動しますか?" , "URLDL.EXEが存在しません" , "YesNo" )
If( b = 1 )
Run( exe )
EndIf
EndIf
WriteFile( txt , "^NL^
http:// " , 1 )
x = ReadFile( txt )
y = Input( "URLを追加・編集できます" , "URL.txt" , 0 , 1 , x )
WriteFile( txt , y , 0 )
>>956 実はTodayのウィンドウ名や実行ファイルが分からずやむなしだったので、
そっちのほうが当然良いです。
Suspendは日常的な使用に合った方法が思いつかない。
Suspendさせたい人はKeyLockSuspender併用か・・・。
で、SleepMessage()を絡めようとしたら変な仕様だったのですが、
どなたか宜しければSleepMessage()を有効に使ったサンプルを教えて下さいな。
なんか俺が連投気味でアレなんですがいいのかどうか。
>>960 x = Input( "秒数をどうぞ" , "n秒後に振動します" , 1,0,"10" )
SleepMessage( x , "カウントダウン中" , "n秒後に振動します" , 1)
Vibrate(200)
動かしてみないと面白さが伝わりにくいんで、動かしてほしいんだが、
これでカウントダウン中にダイアログのボタンを押すとカウントダウンを中止するんだよ。
で、次の行に移動する(・・・)
そこまではまだ当たり前なんだが、カウントダウンを中止した場合、という値を返さない。
IfやSubに分岐できない。あれ?どうすりゃいいんだ?どうしようもないじゃん・・・ていう。
あと、Input()ダイアログでキャンセルすると、変数に""というかNullが格納されるんだな。
>>958 の下二行目は
y = Input( "URLを追加・編集できます。キャンセルで全消去" , "URLDL.txt" , 0 , 1 , x )
に修正させて下さい。
たしかに連投気味でアレなんですがいいのかどうかと思ったから聞いてみたんだが 全部当たり前じゃん 関数じゃないものが返り値を返すはずないし 残りレス数も少ないんだから もういっかいマニュアルをよく読んで 次スレになってから来た方がいいんじゃないかな あとTodayのウィンドウ名も知らない初心者なんだったら 何をしたいのかもう少し具体的に書いたほうがいいとおもうよ
いや、「面白かった」という話で、「面白いよね?」と言ってるんだが・・・ 大体、お前の突っ込みはおかしい。 「タイトルもMortScriptで取得-表示できるだろ。やり方を考えろ低脳。」 と言うなら分かるが、知ってる知らないの問題か?
これはイタい
>>963 いや面白くもないし変でもないよ
変なのはおまえだよって言ってるの
じゃあはっきりこう言えばわかる?
Elseの省略もウィンドウ名の取得方法も知らないおまえは
MortScriptだけじゃなくどんなスクリプトも書いたことがない初心者のくせに
マニュアルも過去ログもろくに読んでないことが見え見えだから
もうすこし謙虚に何をしたいのか具体的に書いて教えを乞うか
もういっかいマニュアルをよく読みつつ
半年ROMってから来た方がいいんじゃないかな
「9.7.6 ウィンドウがアクティブかどうかチェックする(WndActive)
…たとえば、Today画面(タイトルは「Desktop」)がアクティブな時…」
http://home.att.ne.jp/wave/deox_pop/mortscript.html#9.7.6
>>965 わかりました先輩。ご高説痛み入ります。反省しきりです。
では、あらためてお伺いします。
・カウントダウンを中断した場合処理を行わないようにするには?
もう一つは簡単なものを。
・カメラのウィンドウのタイトルは何でしょうか?
#
>>965 以外の方は回答しないで下さい。では、お願いします。
>>966 カウントダウン云々じゃなくて、一定秒数経過する以前になにか入力があるか無いかで
処理を変更する分岐がしたいんじゃないの?
俺はマニュアルをよく読んでるから簡単に答えられるけど
>>965 じゃないから答えませんw
俺は965だけど 「カメラのウィンドウのタイトル」って表現があいまいで 初心者まるだしのくせに偉そうなゆとりなので答えませんw
みんな優しいな。
希代稀に見る良スレの残りが30ぐらいだというのに
平気で汚す馬鹿
>>966 は消えろ
ってはっきり言えばいいのに。
1さんのおかげでMortScriptの裾野が広がったのはとても良いことだとおもいますが、
このスレに限らず、未熟で無知な人の傍若無人な振舞いは目に余ります。
このスレの
>>1 に書いてある、
>謙虚に質問しつつ教えてもらいましょう
という一節は、ぜひ次スレのテンプレにも加えてほしいです。
>>969 煙草が切れてたんでカッとなってやった。今では反省している。
そもそもの話は、SleepMessageはどう使うのが良いかってことだったんだが、
・・・喧嘩を売られたんだから仕方無い。
ここで俺が引いたらMortScriptを書いてみよう、掲示板に上げてみようって奴は居なくなる。
そう思ってね。
なら1さんに裁定を仰ぎましょうか。俺は消えるべきか。
>>971 >ここで俺が引いたらMortScriptを書いてみよう、掲示板に上げてみようって奴は居なくなる。
そんなことはたぶんない。あんたが引いても今まで通りだと思う。
それに何か勘違いしてないか?
962は全然喧嘩なんか売ってないぞ。最初に喧嘩腰だったのはあんたの方。
「初心者」って言葉にムカついたのかもしれないが。
あとWindows名を取得するソフトなんかいくらでもある。
そもそもスクリプトで簡単に書けるじゃないか。
Message(ActiveWindow())
みたいなのをどっかのボタンに割り当てておけばいいだけ。
というか962がいうように、もう一回マニュアルを隅から隅まで目を通した方がいい。
973 :
972 :2008/01/20(日) 06:30:13 ID:???0
↑いっこ訂正。 Windows名じゃなくてWindow名ね
>>959 はしのごの言う前に
>>956 にひとことお礼を言うべきだったな
> そっちのほうが当然良いです。
じゃなくてさ。
「知らないんだからしょうがない!」
「自分の思うような機能じゃないものは、変な仕様!」
っていうおまえの態度が問題なんじゃね?
背伸びしてみたい気持ちもわかるが
対等に言い返そうとするのはおまえにはまだ早い。
そいつもキーカスタマイズしてるとSendKeyが通らないとか、 すげぇ大概なこと言ってるぞ。
おまいら大概にしとけよ
>>975 956だが、他は知らないがSortInchKeyでWinキーをカスタマイズしたら
うまく通らない。
978 :
1 :2008/01/20(日) 23:28:56 ID:???0
SleepMessage() は
>>561 の
「2ちゃんの指定スレに新着レスがあったら知らせるスクリプト」
の通知用として使ってます。
このスクリプトを俺は、定時巡回スクリプトの途中で呼び出して使ってるので、
何秒か経ったら勝手に消えて次へ進んでもらわないと困るので。
さて、俺は「裁定」とかはしません。が、見ていて思ったことを以下に箇条書きにしておきます。
・マニュアルはいっしょうけんめい訳したので、熟読してもらえたら俺はうれしいし、
最大限役に立ててもらえたらうれしい。
・コマンドとして用意したものが「戻り値を返さないから変な仕様」と言われたら、
Mortさんはたぶんかなしい。
・Choice()とは別に、いわば「SleepQuestion()」みたいな、小ボックスの手軽な関数があってもいい、
とは思う。
・みんなが気持ちよく教えたり教わったりできたら、スレを立てた俺はうれしい。
・前にも書いたけど、仕様に対する不満や驚きは、好みや経験値によって人それぞれなので、
ここに書いても必ずしも他人の共感が得られるとは限らない。
今有る機能をよく理解して最大限生かす工夫を発表し合えたら、スレは楽しい。
以上です。
久々に「正しい」と思えるレスを見た。
分かりました。このスレにコードを上げてまずいところを見て貰おうとか、
書くことの考え方を学ぼうと思った自分の間違いです。
でも一つだけ。マニュアルを読んでいない訳が無いですよ。
1さんの訳されたマニュアルはもう何度開いたか分からないです。
読んで、書いて、動かして、ようやく読めてきた所です。
というかマニュアル/リファレンスなしで書けるわけがないです。
このスレの最初の方でUnixTimeが使えるのがいい、と言っていたのも、
当時はなんのこっちゃでしたが今なら分かります。以下、自問自答ですが。
x = Input( "秒数をセットして下さい" , "カウント" , 1 , 0 , "10" )
y = TimeStamp() + x
SleepMessage( x ,"カウント中", "カウント" , 1 )
z = y - Timestamp()
If( z = 0 )
Vibrate(200)
EndIf
これで望みの動作。分岐も仕込めます。
(そのまま通知に使うというのも納得しました。)
ちらちらROMを始めたのが300過ぎくらいで、
最初にここに書いたのが
>>631 ですが、そこでは使っても理解していなかったものが、
ようやく機会を得て取り組んで、体系が理解でき、いくらか自由を得た気持ちで、
そろそろ恩返しの一つも出来るかと思ったのですが、残念です。
では、一礼して退くとします。お世話になりました。
・・・なんじゃそら。正直ガックリきた。 あんたは煽られてるとか思ってるのかもしれないけど 実はみんなそれなりに教えてくれてる。 ここの住人は赤ペン先生じゃないんだから マニュアルを理解していないと思われたから それを指摘しただけじゃん。 俺は972だけど、Window名の取得について書いたのに一言も触れてない。 あんた学ぼうと思ったとか書いてるけど 教えても何のリアクションも礼もないじゃん。 974のいう通り、何で礼をいわないの? まぁ礼をいわれるほどのこと書いてるわけじゃないけど ちょっとでもスクリプトを理解してほしい 知識を共有していきたいと思って書いてるのに。 ひとり合点で完結してるけど、そんなんじゃ誰も教えてくれないよ。 長文スマン。あまりにも悲しくてつい。消えます。
982 :
1 :2008/01/21(月) 02:46:17 ID:???0
誰も消えなくていいんじゃね?
>>980 「残念です」と言われると俺も残念なんですが。
あえてあなたへのレスアンカーを付けなかった意味
(=「裁定」でもないし個人に対する否定/肯定でもない。むしろみんなに見てほしい)
を読み取ってほしかった。
「もう来ません」宣言に見えるけど、このスレのログは残すので、いつか読んでもらえると思って書きます。
あなたの
>>980 の工夫は、まさしく俺の書いた「今有る機能をよく理解して最大限生かす工夫」
だと思います。現在時刻にカウントダウン秒数を加算して処理することにより、
カウントダウン完了以前にスクリプトが再開したかしないかによって分岐する。
良いアイディアだと思います。そう思ったから、以下を長々書きます。
(つづく)
983 :
1 :2008/01/21(月) 02:46:50 ID:???0
とはいえ、
>>954-955 を読んだ時点で、あなたが何をしたいのか、よく見えなかったのも事実です。
「KLChgExec」を俺は使っていないので、ググって調べるまで何をするアプリなのかわかりませんでしたし。
>>980 を読んだ今はわかります。キーロック解除して20秒操作が無ければサスペンドする、
というのが狙いですね?
俺はこのスレを立てた奴ってだけで、べつにここの「主」でもないし、ここは俺のブログでもない。
だから、全ての質問に俺が答える義務は無い。
でも、質問にはできれば答えたいんですよ(ad[es]持ってないんで最近限界を感じるが)。
俺自身、このスレの最初のほうで、
>>3 さんにいろいろ教えてもらったし。
>>1 に書いた「いろいろ教えてもらいましょう」は、「まずは俺が」教えてもらいますよ、
という意味だったんです。
たぶんみんな、自分がアドバイス出来ることは極力したい、って思ってると思います。
需要に合ったアイディアをひねり出すのも、スクリプティングの面白さだしね。
だが質問者の狙いがはっきりわからないと、答えられない。
>>962 の「何をしたいのかもう少し具体的に」は、そのへんのジレンマの表現だったんじゃないかな?
その前の1行は少々“2ちゃん的”だったかと思うけどねw
「キーロック解除して20秒操作が無ければサスペンドするスクリプトを考えているんだけど」
って書いてもらえれば、俺だけじゃなくみんなから、いろんなアイディアが出たんじゃないか
と思います。
MortScriptのPowerOffも、実は電源ボタン長押しじゃなく、サスペンド相当だし。
Choiceの「タイムアウト」オプションを使う手もあるし。
20秒後ならRunAt()でNotification Queueを登録できるから(
>>10 参照)、
サスペンドプロセスを一旦登録しておいて、
SleepMessage後にRemoveNotificationsを仕込むとか(20秒以後なら手後れ)。
俺の想像力が足りなかったと言われればそれまでだけど、
こういったアイディアを提示出来なかったことが残念です。
984 :
1 :2008/01/21(月) 02:58:02 ID:???0
ただ残念がっていても生産的じゃないので、 RunAtとRemoveNotificationsを使ったアイディアを貼っときます。 #20秒間、SleepMessageの操作が無ければサスペンドするスクリプト # #「PowerOff.mscr」は、「PowerOff」とただ1行書いてあるスクリプト #このスクリプトと同じフォルダに存在する前提 t = TimeStamp() proc = SystemPath( "ScriptPath" ) \ "PowerOff.mscr" RunAt( t + 20, proc ) SleepMessage( 20, "<message>", "<title>", 1 ) RemoveNotifications( proc ) #End of script#############
1さん乙です。 981だが自分の度量の狭さに泣けてくるw てかあなたが1で本当によかった。 980を越えたので1さん、次スレお願いします。 次スレもあなたが1じゃないとダメだ。
986 :
1 :2008/01/21(月) 19:53:00 ID:???0
987 :
985 :2008/01/21(月) 21:11:59 ID:???0
988 :
1 :2008/01/21(月) 21:27:15 ID:???0
>>987 サンクスです!
2ゲットしておきました
いちおつー!すみませんこれからお世話になると思うのではらせて貰いました〜 (*´∀`)
おぉ!!array[2]になってるんだね