- - PR -
ファイル名に日本語・半角カナを入力している場合はエラーにする方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-26 16:02
そう考えるのは早計かもしれませんよ。 「やりたいことははっきりしている、でも、 それをアルゴリズムにどう落とすのか見当も付かない」 というプログラム初心者は多いです。 見込みのある人だと方法論の概要を伝えればそれで 止まっていた作業が進み始めるのですよ。 方法論が示されたこの後の反応を見てからで遅くはない、と私は思いますよ。 | ||||||||
|
投稿日時: 2006-10-26 16:23
確かにそうかもしれませんね、頑張っているんだっていう熱意はひしひしと伝わってきます。カタナさん、申し訳ありませんでした。 今回の件は発想を変えて「日本語または半角カナ」が含まれているかではなく、じゃんぬねっとさんが書かれている通り「半角英数字」(あと_や.とかもかな)だけのファイル名なのかを調べれば良いと思います。 _________________ 己への戒め 「活動的な馬鹿より恐ろしいものはない」 by ゲーテ | ||||||||
|
投稿日時: 2006-10-26 16:57
皆様ありがとうございます。
皆様の言われるとおり確かに調べ方が足りなかったと思います。 申し訳ありませんでした。 質問すると、即座に正確な答えが返ってくるために甘えていた自分がいました。反省します。 一応、 http://www.atmarkit.co.jp/fdotnet/dotnettips/014strcheck/strcheck.html や http://homepage1.nifty.com/rucio/main/technique/InputChk2.htm を参考にして実行することはできるようになりました。 -------------------------------------------------------- Public Function IsAlphabet(ByVal Value As String) As Boolean '全角ではないか If Me.isHankaku(Value) = False Then Exit Function Dim i As Long For i = 1 To Len(Value) If Mid(Value, i, 1) Like "[ア-ン]" Then Exit Function Next i IsAlphabet = True End Function -------------------------------------------------------- Public Function isHankaku(ByVal str As String) As Boolean Dim sjisEnc As Encoding = Encoding.GetEncoding("Shift_JIS") Dim num = sjisEnc.GetByteCount(str) Return IIf(num = str.Length, True, False) End Function -------------------------------------------------------- しかし、「今回の件は発想を変えて「日本語または半角カナ」が含まれているかではなく、じゃんぬねっとさんが書かれている通り「半角英数字」(あと_や.とかもかな)だけのファイル名なのかを調べれば良いと思います。」 たしかにその通りなので、そのやり方も調べてみます。 本当にありがとうございました。 | ||||||||
|
投稿日時: 2006-10-26 17:12
メタキャラクタ¥w と ¥p{Punct} とファイル名に使えない文字を調べてみるといいと思います(あとはパズルのように組み合わせる)。Windowsの使えない文字は例えばエクスプローラ上でファイル等を作成する際に使用禁止文字(例えば?や/)を入力してみれば分かります。
¥は半角文字です。 _________________ 己への戒め 「活動的な馬鹿より恐ろしいものはない」 by ゲーテ | ||||||||
|
投稿日時: 2006-10-26 21:53
存しております。(私も、わざわざリンクも貼っていますから) 消す方も作成すれば、すっきり解決 (?) でしょうね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |