DOWN LOAD BBS

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

■183 / 親記事)  140 清書ユーティリティ 第2.1版 登録 
  
□投稿者/ @管理人 3回-(2003/06/01(Sun) 08:28:02)
    桐ver8 清書ユーティリティ 第2.1版 を、登録致しました
    桐V9の方も読み込むだけで、そのまま使用できます。

    >■ソフトの内容
    >
    >・Win桐のイベント処理( .kev )と一括処理( .cmd )を清書します。
    >・Dos桐の一括処理( .cmd )を清書します。
    >・Win桐のトレースウィンドウの出力結果を見やすく整形します。
    その他、詳細は、添付ファイルを参照下さい。

    ONnojiさん、いつもありがとうございます。
    みなさんよろしくお願い致します

引用返信 [メール受信/OFF] 削除キー/
■184 / ResNo.1)  Re[1]: 140 清書ユーティリティ 第2.1版 登録 
□投稿者/ たゆー 1回-(2003/06/01(Sun) 10:45:54)
    ONnojiさん
    おはようございます。さっそく動かさせていただきました。

    そこで、1つだけ確認させて下さい
    清書ユーティリティで、ファイル読み込みを行うとファイル名がないと
    エラーになります。ご確認いただけませんか。
    症状は、ファイル名に「全角英文字を複数使用」のときです
    例:「ABC亜井宇.kev」みたいなものです

    「utx_list2.kev」を拝見させて頂きました。
    623 &mFileName = #initcap( #lc( &mFileName ) )
    この行をコメントにすれば読み込み可能ですが、どこかに影響でますか

    それとも別問題かもしれませんが、よろしくお願い致します


引用返信 [メール受信/OFF] 削除キー/
■185 / ResNo.2)  Re[2]: 140 清書ユーティリティ 第2.1版 登録 
□投稿者/ ONnoji 1回-(2003/06/02(Mon) 11:14:06)
    >清書ユーティリティで、ファイル読み込みを行うとファイル名がないと
    >エラーになります。ご確認いただけませんか。
    >症状は、ファイル名に「全角英文字を複数使用」のときです
    >例:「ABC亜井宇.kev」みたいなものです

    【多遊】さん、こんにちは。

    お知らせを受けてから
    Windows2000、Windows NT4.0
    桐ver8.sp5、桐ver8.sp6、桐ver.9、桐ver.9 sp1
    という具合にいろいろな環境と組み合わせで試してみたのですが、
    ABC亜井宇.kev でも ABCD.kev でも清書ユーティリティに読み込めました。

    【多遊】さんのところで再現できるのに、私のところでは再現できないということなので厄介ですね。

    そこで以下の流れのどこで引っかかっているか調査していただきたいのですが…(^^ゞ

    cmdEnterFilenameClick
    └ txtFileButton::ソース値更新


    手続き定義開始 cmdEnterFilenameClick( )
     &mFileNameBak = &mFileName
     &mFileButtonSupportMode = 1
     変数宣言 自動,文字列{ &filename, &dummyWfm }
     変数宣言 自動,整数{ &hdl, &WinMaximize = 0 }
      :
     途中省略
      :
     &filename = #ファイル名( &mFileName, 5 ) + "*." + #ファイル名( &mFileName, 4 )
     ファイル名入力  初期値 = &filename ,プロンプト = "読み込むファイルを選んでください イベント (*.kev) 一括 (*.cmd) テキスト (*.txt) K3ファイル (*.k3)" ,&mFileName
      :
     途中省略
      :
     &mFileName = #initcap( #lc( &mFileName ) )
     &mFileButtonMode = #cond( &mFileName, 1, 1, 0)
    ┌if ( &mFileButtonMode )
    │ メソッド呼び出し @cmdEnterFilename.フォーカス設定()
    │ 手続き実行 txtFileButton::ソース値更新()
    ├else
    │ &mFileName = &mFileNameBak
    └end
    手続き定義終了


    手続き定義開始 txtFileButton::ソース値更新()
     変数宣言 自動,文字列{&filename, &extention, &title, &msg, &path}
     変数宣言 自動,数値 {&ans, &kind}
     &filename = #ファイル名( &mFileName , 3 ), &path = #INITCAP( #文字置換( #ファイル名( &mFileName , 5 ), "\","\\") )
     &extention = #lc( #ファイル名( &mFileName , 4 ) )
     &title = "読み込み"
     メソッド呼び出し  @フォーム.更新モード設定( 0 )
     
    ┌if (&mFileButtonMode .and &mFileButtonSupportMode .or #lc( &mFileName ) <> #lc(&mFileNameBak) )
    │┌if ( #ファイル検索(&mFileName,1)<>#u )
    ││
    ││┌if ( #対応番号( &mExtentionList, &extention ) <> 0 )
    │││ &msg = " " + "ファイル: " + &filename
    │││ 条件 ( #桁数(&msg)< 100) &msg = #sstr( &msg , 1 , 50)
    │││ &msg = " " + "フォルダ: " + &path + "\n\n" + &msg + "\n\n 読み込みます。よろしいですか?"
    │││ メッセージボックス &title, &msg, ボタン指定=2, 制御文字展開 = する, &ans
    │││┌if (&ans = 1)
    ││││ &kind = #対応番号( &mExtentionList, &extention )
    ││││ 条件 ( &kind = 1 .or &kind = 2 ) 手続き実行 prcLoadKevCmd( &mFileName )
    ││││ 条件 ( &kind = 3 .or &kind = 4 ) 手続き実行 prcLoadTxtK3( &mFileName )
    │││├else
    ││││ &mFileName = &mFileNameBak, &mHistory = &mHistoryBak
    │││└end
    ││├else
    │││ &msg = "拡張子 ." + #全角(&extention) + " のファイルは読み込めません  "
    │││ 条件 ( &extention ) メッセージボックス &title, &msg, アイコン=i, ボタン指定=1
    │││ &mFileName = &mFileNameBak, &mHistory = &mHistoryBak
    ││└end
    │├else
    ││ &msg = "フォルダ: " + &path + "\n\n" + &filename + "\n\nファイルが見つかりません"
    ││ メッセージボックス &title, &msg, アイコン=i, ボタン指定=1, 制御文字展開 = する ← ここに行きますか?
    ││ &mFileName = &mFileNameBak, &mHistory = &mHistoryBak
    │└end
    ├else
    │ メソッド呼び出し @フォーム.更新モード設定( 0 )
    │ メソッド呼び出し @txtLine.フォーカス設定()
    └end
    手続き定義終了

    ここがポイントなのですが…

    &msg = "フォルダ: " + &path + "\n\n" + &filename + "\n\nファイルが見つかりません"
    メッセージボックス &title, &msg, アイコン=i, ボタン指定=1, 制御文字展開 = する

    【多遊】さんの場合、この部分のメッセージボックスが表示されているとすれば(仮定ですが…)、

    if ( #ファイル検索(&mFileName,1)<>#u )

    の行で、#ファイル検索(&mFileName,1) の値が 偽になっていると思われます。
    つまり、#ファイル検索("d:\path\abc亜井宇.kev",1) が返す値が未定義値であると思われます。

    お手数ですが、#ファイル検索("d:\path\abc亜井宇.kev",1) が返す値を調査していただけないでしょうか。

    >「utx_list2.kev」を拝見させて頂きました。
    >623 &mFileName = #initcap( #lc( &mFileName ) )
    >この行をコメントにすれば読み込み可能ですが、どこかに影響でますか

    ファイル名の英字を小文字で統一しているだけですので直接的な問題は起こりません。
    ヒストリーの一覧でファイル名が重複する可能性があるだけです。
    実用上の問題はありません、と思います。(^^ゞ

引用返信 [メール受信/OFF] 削除キー/
■186 / ResNo.3)  Re[3]: 140 清書ユーティリティ 第2.1版 登録 
□投稿者/ ONnoji 2回-(2003/06/02(Mon) 12:55:33)
    【多遊】さん、こんにちは。

    DOSのころファイル名が全角文字の場合には区別されていましたね。
    曖昧な記憶だったので骨董品のMS-DOS ver3.3 で確かめてみました。

    ABC亜井宇.txt が存在したとして…

    >dir abc亜井宇.txt

    ファイルが見つかりませんというメッセージが出ます。

    ところが、Windowsでは…

    エクスプローラでABC亜井宇.kev をコピー&貼り付けすると、コピー 〜 ABC亜井宇.kev というファイルが出来ますが、
    この コピー 〜 ABC亜井宇.kev をabc亜井宇.kev に変更しようとすると…

    コピー 〜 ABC亜井宇.kev の名前を変更できません。指定されたファイルは既に存在します。別の名前をしていしてください。

    どうやら、ABC亜井宇.kev と abc亜井宇.kev を同じ物と認識するような反応を示します。

    ツーことは、Windowsのファイル名は 全角の英字に関しては大文字小文字を区別しないのかな〜なんて思いました(自信なし)。

    ならばと、次のように試すと…

    *--------------------------------------*
    変数宣言 固有,文字列{ &fileName }

    &fileName = "F:\form\input\INF_library_beta\ABC亜井宇.kev"
    確認 #ファイル検索( &fileName, 1 )
    &fileName = "F:\form\input\INF_library_beta\abc亜井宇.kev"
    確認 #ファイル検索( &fileName, 1 )
    *--------------------------------------*

    どちらも、ABC亜井宇.kev という文字列が返されます。
    ※フォルダ名に同じように全角英字を使っても問題ありませんでした。

    ウ〜ン、実は #lc( )関数が全角の英字まで対象にしていたなんて…忘れてました。(^^ゞ
    ツーワケで、今まで私( ONnoji )はこのようなことを全く気にしないで英大文字→英小文字変換を行っていたのですが、
    運良くWindows環境では問題とならなかっただけなのかもしれませんね。

    外しているかもしれませんが…
    【多遊】さんの ABC亜井宇.kev はどんな環境のディスクに保存されているのでしょうか興味がありますね。
    あるいは、ABC亜井宇.kev はどんな環境からコピーしたファイルなのかとか…

    しかし、ホントの原因はよく分からないですね。
    もっとも原因が分かっていれば、よく分からないとも思わないわけですね。
引用返信 [メール受信/OFF] 削除キー/
■187 / ResNo.4)  Re[4]: 140 清書ユーティリティ 第2.1版 登録 
□投稿者/ たゆー 1回-(2003/06/02(Mon) 20:42:12)

    No186に返信(ONnojiさんの記事)
    ご返事ありがとうございます。私も気になってたのですが・・・

    > DOSのころファイル名が全角文字の場合には区別されていましたね。
    > 曖昧な記憶だったので骨董品のMS-DOS ver3.3 で確かめてみました。
    >
    > ABC亜井宇.txt が存在したとして…
    >
    > >dir abc亜井宇.txt
    >
    > ファイルが見つかりませんというメッセージが出ます。
    >
    > ところが、Windowsでは…

    3行のcmdでテストしてみました

    &選択ファイル名="ABC亜井宇.kev"
    確認 #文字列(#FSIZE(&選択ファイル名))
    確認 #文字列(#FSIZE(#lc(&選択ファイル名)))
    最初の確認は、「65321」でしたが、2個目の確認は「-1」です

    また、上記の方法を確認しておきます。

引用返信 [メール受信/OFF] 削除キー/
■188 / ResNo.5)  Re[5]: 140 清書ユーティリティ 第2.1版 登録 
□投稿者/ ONnoji 3回-(2003/06/02(Mon) 21:24:38)
    > ご返事ありがとうございます。私も気になってたのですが・・・
    >>DOSのころファイル名が全角文字の場合には区別されていましたね。
    >>ところが、Windowsでは…
    > 3行のcmdでテストしてみました
    >
    > &選択ファイル名="ABC亜井宇.kev"
    > 確認 #文字列(#FSIZE(&選択ファイル名))
    > 確認 #文字列(#FSIZE(#lc(&選択ファイル名)))
    > 最初の確認は、「65321」でしたが、2個目の確認は「-1」です
    >
    > また、上記の方法を確認しておきます。

    なるほど、#ファイルサイズ( )関数でも判定結果は "なし" ですね。
    それならば、#ファイル検索( )関数でも駄目なのも変に納得できますね。

    "ABC亜井宇.kev" が保存されているドライブ名とフォルダ名は関係ありますかね〜?

    "ABC亜井宇.kev" はファイルサーバに置いてあるのでしょうか?

    "ABC亜井宇.kev" はMOですか?まさかFD?

    分からないですが・・・

    駄目な方をばかり追いかけないで、新規に作成したファイルでOKなケースは見つからないでしょうか?

    ノートンさんも関係ありでしょうかね??
引用返信 [メール受信/OFF] 削除キー/
■189 / ResNo.6)  Re[6]: 140 清書ユーティリティ 第2.1版 登録 
□投稿者/ たゆー 3回-(2003/06/02(Mon) 21:55:47)

    > 駄目な方をばかり追いかけないで、新規に作成したファイルでOKなケースは見つからないでしょうか?

    すみません。別に小出しするつもりでもないのですが、
    フォームのオブジェクト属性のイベントタブのイベントファイル名も
    小文字にすると、エラーがでます。

    したがって、ONnojiさんのユーティリティの関係では無いようです。
    どうも失礼な事を質問致しまして申し訳ございませんでした




引用返信 [メール受信/OFF] 削除キー/
■190 / ResNo.7)  Re[7]: 140 清書ユーティリティ 第2.1版 登録 
□投稿者/ たゆー 4回-(2003/06/02(Mon) 23:22:27)

    もしかして
    >お知らせを受けてから
    >Windows2000、Windows NT4.0
    >桐ver8.sp5、桐ver8.sp6、桐ver.9、桐ver.9 sp1
    >という具合にいろいろな環境と組み合わせで試してみたのですが、
    ここに、98SEが有りませんよね。本体の掲示板に書きましたが、98SEの
    問題の様ですね。
    私も「Windows2000」でテストしてエラーがでたと報告しましたが、そのとき
    98のドライブを見てますと書けばもっと早く解ったのにと思いました
    本当にどうもご迷惑おかけ致しました。


引用返信 [メール受信/OFF] 削除キー/
■191 / ResNo.8)  Re[8]: 140 清書ユーティリティ 第2.1版 登録 
□投稿者/ ONnoji 4回-(2003/06/03(Tue) 13:20:11)
    > もしかして
    > >お知らせを受けてから
    > >Windows2000、Windows NT4.0
    > >桐ver8.sp5、桐ver8.sp6、桐ver.9、桐ver.9 sp1
    > >という具合にいろいろな環境と組み合わせで試してみたのですが、
    > ここに、98SEが有りませんよね。本体の掲示板に書きましたが、98SEの
    > 問題の様ですね。
    > 私も「Windows2000」でテストしてエラーがでたと報告しましたが、そのとき
    > 98のドライブを見てますと書けばもっと早く解ったのにと思いました
    > 本当にどうもご迷惑おかけ致しました。

    【多遊】さん、こんにちは。

    いえいえ、こちらこそうっかりミスをしておりました。
    どうもご迷惑をおかけ致しました。m(__)m

    いいわけになりますが…

    ・私( ONnoji )は Windows 9x系 をほとんど使っていなかった。
    ・Windows NT系 では問題にならなかったので見過ごしてしまった。
    ・フォルダ名やファイル名に全角英字を使う習慣がなかった。
    ・#lc2( )関数を使うべきところを #lc( )関数を使ってしまった。←これが一番の原因

    いやはや、全角の英字を大文字→小文字変換するつもりは当初からなかったのですよ。
    うっかり #lc( )関数を使ってしまったのが間違えでした。
    【多遊】さんからご指摘を受けるまで「知らぬがなんとやら」でちっとも気が付かなかったんですね〜。(^^ゞ

    そこでさっそく問題の箇所(複数見つかりました)を #lc2( )関数 に置き換えて、
    #initcap( )関数を使う止めにして問題点をすべて改修いたしました。

    本日夕方に差し替えのファイルをお送りいたしますのでよろしくお願いいたします。

    <追伸>

    なお、修正パッチ情報を公開しようと思いましたが、修正箇所が多すぎて無理でした。(^^ゞ
    これでスッキリ解決すると思います。


引用返信 [メール受信/OFF] 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -