[ 掲示板に戻る ]

過去ログ閲覧モード

UWSC.ini、StopForm=1について / いけだ
お世話になります。
UWSC Ver 5.0.3に切り替えてみました。

気になる点が1件ありましたので連絡いたします。

UWSC.iniの
[SET]
StopForm=1
が有効になっていないようです。

どのような過程でこの機能を使いようになったかは不明なのですが、当該指定で“完全に”UWSCウィンドウを非表示に出来ると嬉しいです。
当該指定の復活を望みます。よろしくお願いいたします。

No.103 2014/09/07(Sun) 14:34:40
文字列の中から月日を抜き出したくて / sen
いつもお世話になっております。
文字列の中から月日を抜き出したくて作成してみたのですが、
どう見てもイマイチな感じです。
何か良いのがあれば、ご教授願えませんでしょうか?


dim 入力 = "吉田聡子様 10/5施工"
msgbox(P月日(入力))

FUNCTION P月日(var 入力 )
 入力 = STRCONV(入力,SC_HALFWIDTH)
 位置 = pos("/",入力)
 ifb 位置 = 2 then
  月 = copy(入力,位置-1,1)
  月 = replace(format(val(月),2)," ",0)
  ifb CHKNUM(copy(入力,位置+2,1)) = true then
   日 = copy(入力,位置+1,2)
  else
   日 = copy(入力,位置+1,1)
  endif
  日 = replace(format(val(日),2)," ",0)
 else
  ifb CHKNUM(copy(入力,位置-2,1)) = true then
   月 = copy(入力,位置-2,2)
  else
   月 = copy(入力,位置-1,1)
  endif
  月 = replace(format(val(月),2)," ",0)
  ifb CHKNUM(copy(入力,位置+2,1)) = true then
   日 = copy(入力,位置+1,2)
  else
   日 = copy(入力,位置+1,1)
  endif
  日 = replace(format(val(日),2)," ",0)
 endif

 GetTime(0)
 工事日 = G_TIME_YY4+"/"+月+"/"+日
 for i = 0 to 120
  Gettime(i-30)
  存在する年月日 = G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2
  ifb 工事日 = 存在する年月日 then
   Result = 工事日
  endif
 next
fend

No.26 2014/08/25(Mon) 21:30:01

Re: 文字列の中から月日を抜き出したくて / なま
//何がイマイチかは知りませんが……

dim 入力 = "吉田聡子様 10/5施工"
msgbox(P月日(入力))

FUNCTION P月日(var 入力 )
 入力 = STRCONV(入力,SC_HALFWIDTH)
 位置 = pos("/",入力)

 月 = copy(入力,位置-2,2)
 月 = replace(月,"/","") //顧客名なし&1桁月対応
 ifb !CHKNUM(月)
  月 = copy(月,2,1)
 endif
 月 = replace(format(val(月),2)," ",0)
 日 = copy(入力,位置+1,2)
 ifb !CHKNUM(日)
  日 = copy(日,1,1)
 endif
 日 = replace(format(val(日),2)," ",0)

 GetTime(0)
 工事日 = G_TIME_YY4+"/"+月+"/"+日
 for i = 0 to 120
  Gettime(i-30)
  存在する年月日 = G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2
  ifb 工事日 = 存在する年月日 then
   Result = 工事日
  endif
 next
fend

//基本的な考え方は一緒です。

No.34 2014/08/26(Tue) 15:17:53

Re: 文字列の中から月日を抜き出したくて / stuncloud
文字列の解析を正規表現で、正しい日付かどうかのチェックはtryとgettimeでやってみました
日付が見つからなかったり不正な日付だった場合は空文字列を返します

function P月日2(str, y = 0)
 result = ""
 if y = 0 then
  gettime()
  y = G_TIME_YY4
 endif
 str = strconv(str, SC_HALFWIDTH)
 // 正規表現で m/d を探す
 re = createoleobj("VBScript.RegExp")
 re.pattern = "(\d{1,2})/(\d{1,2})"
 match = re.Execute(str)
 if match.count then
  if match.item[0].SubMatches.count = 2 then
   // 見つかったら yyyy/mm/dd 形式の文字列を生成
   mm = replace(format(val(match.item[0].SubMatches[0]), 2), " ", "0")
   dd = replace(format(val(match.item[0].SubMatches[1]), 2), " ", "0")
   date = y + "/" + mm + "/" + dd
   try
    // gettimeの基準日として渡す
    // 存在しない日付だったらエラーになる
     gettime(0, date)
   except
    // エラーになったら抜ける
    exit
   endtry
   // 日付を返す
   result = date
  endif
 endif
fend

No.36 2014/08/26(Tue) 21:05:20

Re: 文字列の中から月日を抜き出したくて / sen
ありがとうございます。

なま様

//何がイマイチかは知りませんが……
特別、変な考えではなかったのですね。
「!」を使ってのスッキリしているところが、勉強になります。

stuncloud様

//文字列の解析を正規表現
正規表現だと、1桁月と2桁月の部分が場合分けせずにチェックできて素敵です。
応用も利きそうです。

No.102 2014/09/07(Sun) 13:50:19
削除するには… / まっつん
下記の箇所を削除するにはどのようにすれば良いでしょうか?

どうぞよろしくお願いします。

-----------------------------------

<a href="http://abcd">AAA</a>

※ 毎回URL、AAAは異なるURL、文字になります。


AAA以外を削除して、AAAのみを取り出したいのです

-----------------------------------

No.78 2014/09/04(Thu) 22:22:51

Re: 削除するには… / しゅん
url = "<a href=<#DBL>http://abcd<#DBL>>AAA</a>;"
MSGBOX("元の文字列<#CR>" + url)

MSGBOX("betweenstrを使う<#CR>" + BETWEENSTR(url, ">", "<"))

// 正規表現を使う
// 不要なタグを消去する方向
DIM regexp = CREATEOLEOBJ("VBScript.RegExp")
regexp.Pattern = "<[^>]*>;?"
regexp.Global = TRUE
MSGBOX("Replaceを使う<#CR>" + regexp.Replace(url, ""))

// aタグの中のみ取り出す方向
regexp.Pattern = "<a\s[^>]*>([^<]*)</a>"
m = regexp.Execute(url)
IF m.Count THEN MSGBOX("Executeを使う<#CR>" + m.Item(0).SubMatches.Item(0))

No.79 2014/09/04(Thu) 23:33:35

Re: 削除するには… / まっつん
しゅんさん、ありがとうございました。
No.86 2014/09/05(Fri) 15:18:03
RecIEで取得したOleEvent / koh

RecIEで取得したOleEventについて教えてください

IEを開いて閉じてを3回ほどするのですが、その度に

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
setOleEvent()
//色々作業
OleEvent(IE); IE.Quit()

としているのですが、ちょこちょこ下記のようなエラーがでます。

KansuCall:Could not convert variant of type ($002F) into type (Dispatch)
D:\ONETIME\WEBCAMERA.UWS: 78行目: OLEEVENT(IE)

で、思ったのですが、

CreateOLEObjを3回するとしても、setOleEvent()を1回目のCreateOLEObjの時だけに
 OleEvent(IE)は3回めIE.Quit()の時だけにでもいいのでしょうか?

それとも、毎回するのが正しいのでしょうか?

No.77 2014/09/04(Thu) 17:39:14

Re: RecIEで取得したOleEvent / umiumi
>KansuCall:Could not convert variant of type ($002F) into type (Dispatch)
確認しました。
修正します。

基本的には CreateOLEObjする毎に setOleEvent()は必要です。

No.83 2014/09/05(Fri) 03:10:23

Re: RecIEで取得したOleEvent / koh
>基本的には CreateOLEObjする毎に setOleEvent()は必要です。
  了解しました

修正お願い致します

No.84 2014/09/05(Fri) 04:13:39
MODULE化のヘルプ / ミリアム
UWSCのヘルプファイルの<MODULE化>の項に以下のような記述があるのですが。
CONST のところは 定数 ではないでしょうか?


<MODULE化>
 // MODULE化定義をします
 MODULE モジュール名
     CONST 変数        // モジュール名.変数 にて外部からアクセス可
     PUBLIC 変数        // モジュール名.変数 にて外部からアクセス可
     DIM 変数         // 外部からアクセス不可
     PROCEDURE モジュール名  // コンストラクタ
     PROCEDURE 関数名()
     FUNCTION 関数名()
 ENDMODULE

No.82 2014/09/05(Fri) 01:00:12
定数の定義の方法について / ミリアム
定数の定義の方法についての質問が2つあります。


?@
a = Random(10)
CONST b = a

こうすると「変数: A が定義されていません」というエラーが出て失敗するのに

PUBLIC a = Random(10)
CONST b = a

こうするとエラーにならずに成功します。
これは仕様なのでしょうか?


?A
CONST a=1, b=2
という風に","で区切って連続して定義ができないのですが、1つ1つ定義するしかないのでしょうか。

No.75 2014/09/03(Wed) 16:20:30

Re: 定数の定義の方法について / umiumi
仕様です。
No.76 2014/09/04(Thu) 02:00:38

Re: 定数の定義の方法について / ミリアム
仕様でしたか。ちょっと不便ですね…。

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

No.81 2014/09/05(Fri) 00:57:43
KansuCallエラーについて / Hashi
DATE:2014/8/21(Thu) 10:18 No.5509
のKansuCallエラーと同じエラーが出ました。発生頻度はまれに起こる程度です。

本問題の回避方法についてご確認をお願いします。
記事No.5509にある確認用のuwsc_d5022.zipは、本エラーの解決版なのでしょうか?
本問題の解決版である場合、次期バージョンで、本問題は起こらないと考えて
良いのでしょうか?

どうぞよろしくお願い申し上げます。

No.69 2014/09/02(Tue) 20:35:41

Re: KansuCallエラーについて / umiumi
正式な修正版は近々に出すつもりです。
No.72 2014/09/03(Wed) 03:44:45

Re: KansuCallエラーについて / Hashi
次期リリース版待たせていただきます。
ご回答ありがとうございました。

No.73 2014/09/03(Wed) 09:06:50
テキストファイルの更新日 / Nagatani
テキストファイルの更新日を取得したいのですが過去のログを試させていただきましたが
作成日と更新日が同じになってしまいます。
Excelファイルなどであれば正常に動作するのですがテキストのプロパティを見ても作成日と更新日は正常なのですがアクセス
日時が作成日と同じになっています。テキストファイルの更新日を取得する方法をお教えください。

o_Fs = CreateOleObj("Scripting.FileSystemObject")
s_file = "C:\Users\Documents\201409.txt"
o_file = o_Fs.GetFile(s_file)

s = o_file.DateCreated
s = s +"<#cr>"+ o_file.DateLastAccessed
msgbox(s)

No.59 2014/09/01(Mon) 22:21:18

Re: テキストファイルの更新日 / Liners
更新日は o_file.DateLastModified なのでは?[未確認]
No.62 2014/09/02(Tue) 07:47:38

Re: テキストファイルの更新日 / Nagatani
お世話になります!
ご指摘の通りでした!
ありがとございました!

No.67 2014/09/02(Tue) 19:55:46
Exe作成について / Anon
Exe作成をした後に起動をするとプロセスが2つ立ち上がり
毎回同じ動作を2度繰り返してしまいます。プロセスを検知し
抑制する他に対処方法はありませんでしょうか。

宜しくお願い致します。

ソースコード
----------------------------------------
msgbox( "1" )
----------------------------------------

Exe作成時のオプションは、全てチェックを外した場合から
1つずつチェック入れた場合全て試してみました。

Windows7 64bit
UWSC Pro v5.0.2

No.54 2014/09/01(Mon) 03:59:13

Re: Exe作成について / なま
UWSCの問題というより、起動方法の問題のように思えます。
exeファイル名と起動方法は公表可能ですか?

「1つずつチェック入れた場合」とのことですので「多重起動を許さない」は試されていると思います。
それで防止できていないということは1つ目のプロセスが終了した後に2つ目のプロセスが起動しているのではないかと。

ひとまず「ファイル名を指定して実行」から直接起動してみてはいかがでしょうか?

No.55 2014/09/01(Mon) 12:41:43

Re: Exe作成について / Anon
なま様

Exeのファイル名はタスクマネージャーから確認しやすいように「a.exe」としています。
起動方法はフォルダを開きダブルクリックで起動していました。

「多重起動を許さない」設定の方も試しています。
タスクマネージャーで挙動を見ていると、ダブルクリックで起動した際に2つのプロセスが同時に立ち上がり1プロセスづつ処理されいるようです。

「ファイル名を指定して実行」の方から試してみましたが結果はダブルクリックの時と同じでした。

No.57 2014/09/01(Mon) 16:00:25

Re: Exe作成について / routa
タスクマネージャーのタスク数で言えば2つで正常だとおもいます。
多分メイン+ダイアログによるウィンドウで2つ。
2回実行されるのは意味不明ですが、セキュリティのサンドボックスの実行ではないですよね。

No.60 2014/09/01(Mon) 22:23:20

Re: Exe作成について / Anon
なま様、routa様

つい数日前までは特に問題はなかったはずだったのですが、
Avastのファイルシステムシールド検知に引っ掛かったのが原因でした。

本日、UWSC本体を起動使用としたら起動ファイル毎削除されてしまい、
原因の特定する事が出来ました。

Avastは現在無料版を利用してサンドボックスの項目が無くなっていた気がしますが、ファイルシステムシールドを止めて実行したら正常に1度のみ実行されるようになりました。

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

No.61 2014/09/02(Tue) 03:22:33
doscmdでlhaplus / sasa
DOSCMDを利用してLhaplusをコマンドラインから動かそうとしています。

CMDSTR = "lhaplus" 
DOSCMD(CMDSTR)
※パスは通してあります。

では駄目みたいなのですが、DOSCMDは標準コマンドのみ利用ですか?

No.51 2014/08/30(Sat) 21:32:54

Re: doscmdでlhaplus / なま
execを使用しては?
doscmdは基本的にCUIアプリケーション用と考えた方が良いかと。

No.56 2014/09/01(Mon) 14:25:26
全1170件 [ ページ : << 1 ... 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 >> ]