C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 >>
■2179  SQL SERVER一回目は更新しない
□投稿者/ まさ -(2005/12/21(Wed) 10:26:25)

    分類:[C#] 


    分類:[C#] 

    お世話になります。

    ひとつボタンを作って、このボタンを押したら、SQL SERVERのテーブルなかのレコードを更新するプログラムです。

    int iPosition; // 現在の位置
    int iCount; // 全レコード数

    this.oleDbDataAdapter1 .Fill (dataSet11,"Company");
    iCount = BindingContext[dataSet11,"Company"].Count - 1; // 全レコード数を取得
    iPosition = BindingContext[dataSet11,"Company"].Position; // 現在の位置を取得
    this.BindingContext[dataSet11,"Company"].AddNew ();
    this.oleDbDataAdapter1.Update (dataSet11,"Company");

    なぜ、一回目は更新しないのでしょうか。二回目になったら、ちゃんと更新されていますが。

    ご教授ください。
親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2192  Re[3]: 検索した結果をDataGridに表示したいです。
□投稿者/ けんじ -(2005/12/22(Thu) 17:08:44)

    分類:[VB.NET] 

    特攻隊長まるるうさんご返信ありがとうございました.
    まずデータベースに何を使っているか表記していなかったことをお詫びいたします.
    ACCESSのテーブルを使ってDataGridに表示しています.
    初心者で全くわからないので,教本をサンプルコードとして作成していまして,具体的にどのようにプログラムを組めばいいのか分かっていません.本来なら知識があってからプログラムを組まないといけなと思っているのですが,諸事情で年内にデータベース開発しないといけなくなり投稿させていただきました.
    特攻隊長まるるうさんご指摘の通り”*”に変え,[testt condition]ともいたしました.しかし最初の投稿通りOleDbDataAdapter1.Fill(DataSet11, "testt condition")の部分でハンドルされていない例外...なるものが出てきてエラーがでます。これはプログラムがおかしいのでしょうか?知識不足を大変申し訳なく思います.
記事No.2176 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■2176  検索した結果をDataGridに表示したいです。
□投稿者/ けんじ -(2005/12/20(Tue) 23:56:23)

    分類:[VB.NET] 


    分類:[VB.NET] 


    はじめまして。超初心者のものです。全くプログラムを組んだことないのですが、わけあって今月からVB.NETを使用しデータベースを作らされています。知識不足を承知で質問させていただきます。

    現在フォームに OleDbDataAdapter1 OleDbConnection1 DataSet11 TextBox1 Button1
    が配置されております。DataGrid1ではテーブル表示ができています。

    今回質問したい内容は、TextBox1に検索したい文字を書き込み、Button1を押すとそれにヒットするものだけがDataGridに表示されるようにしたいと思っております。

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim filterString As String

    '入力された条件の前後に"%"を付けて、絞り込み条件を部分一致にする
    filterString = "%" & TextBox1.Text & "%"

    'SQL文の定義
    OleDbDataAdapter1.SelectCommand.CommandText = "SELECT * FROM testt condition " & "WHERE 02継手形式コード LIKE '" & filterString & "'"

    'データセットを初期化して、データアダプタからデータを読み込む
    DataSet11.Clear()
    OleDbDataAdapter1.Fill(DataSet11, "testt condition")
    End Sub

    というようなコードを本を参考に作成してみましたが
    OleDbDataAdapter1.Fill(DataSet11, "testt condition")の部分でハンドルされていない例外...なるものが出てきてエラーがでます。上記したコードで検索機能を作成できているかもいまいちわかりません。もっといいコードがあれば参考にさせていただきたいと思います。エラーの原因を解決するにはどのようにすればいいか教えていただけるとうれしいです。初心者ですが、よろしくお願いいたします。

親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2188  Re[3]: Shift-JISのビットマップフォントをUnicodeに変換するには
□投稿者/ 魔界の仮面弁士 -(2005/12/21(Wed) 14:36:32)

    分類:[VB.NET] 

    > Label.Text = Hex(AscW(TextBox.Text))
    > 上記のプログラムですと、例えばTextBoxに"あ"と入力すると、
    > Labelに"あ"のUnicodeが表示されますよね?
    > ということをやりたいだけなのです。(^^;

    フォントとの関連性がわかりません。

    Label や TextBox の Font を変更したところで、
    Textプロパティが持つ String が変化するわけでも無いですよね?


    > 私が現在やろうとしていることは、BMPファイルにフォントが埋め込まれているのですが、
    ビットマップフォントファイル(*.fon)ではなく、
    画像としてのビットマップファイル(*.bmp)なのですか?


    > そのBMPファイルをOpenFileDialogで読み込み文字コード(Unicode)を取得させようとしています。
    すみません、まだ話が見えません……。

    そのBMPというファイルの中には、「Shift_JIS で表現可能な文字列」が
    何らかの形式で含まれているのですよね。それは、どのようなバイナリで
    保持されているのでしょうか? また、Unicode 変換とは何の話なのでしょうか?

    そしてそれを、どのような文字列として、TextBox/Label に
    表示したいのでしょうか?

    幾つか、具体的な例を示していただけると助かります。



    例えば、そのBMPのある位置に、82,A0 というバイナリデータがあって、
    それを Shift_JIS でデコードすると、『あ』の文字を示しているから、
    TextBox には "あ" の文字を表示させておき、Label のほうには、
    それを Unicode(UTF-7) でデコードした結果を、"2B-4D-45-49-2D" という
    文字列で表示させたい……とか。


    > Uni = Filename
    > Filename = OpenFileDialog.FileName
    > Uni = Filename
    > TextBox.Text = Hex(AscW(Uni))
    これって、得られたのが「C:\A.TXT」というファイル名だったら、
    ファイルパスの先頭の "C" が AscW されて &H0043 になるので、
    TextBoxには単に、"43" という文字が表示されますね。
記事No.2175 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■2177  Re[1]: Shift-JISのビットマップフォントをUnicodeに変換するには
□投稿者/ 魔界の仮面弁士 -(2005/12/21(Wed) 10:00:01)

    分類:[VB.NET] 

    > Shift-JISで表現されているビットマップフォントがあるのですが、
    > そのビットマップフォントを読み込んだ時にUnicodeに変換して、
    > UnicodeをTextBoxに表示させたいのです。

    すみません。上記質問中の「Shift-JISで表現されたフォント」ですとか、
    「フォントをUnicode変換して読み込む」ですとか、あるいは
    「UnicodeをTextBoxに表示させる」といった意味がわかりませんでした。

    (フォントのバイナリ解析の話なのでしょうか?)


    たとえば、『あ』という文字についてみると、
     Shift_JIS では 82,A0 というバイナリ
     Unicode(UTF-7) では 2B,4D,45,49,2D というバイナリ
     Unicode(UTF-8) では E3,81,82 というバイナリ
     Unicode(UTF-16LE) では 42,30 というバイナリ
    になりますが、それはあくまでバイナリとしてエンコードとした表現であって、
    単に文字として見れば、いずれも『あ』という文字なわけですから、
    TextBox に表示させる分には、TextBox1.Text = "あ" にしかならない気がします。

    # "82-A0" といった文字列として表現したいだけならば、
    # ビットマップフォントとは関係の無い話でしょうし……。


    できれば、具体的な変換例をあげて、別の表現で再質問して頂けると助かります。
記事No.2175 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■2170  リトライ処理について
□投稿者/ ろん -(2005/12/20(Tue) 15:40:49)

    分類:[C#] 


    分類:[C#] 


    こんにちわ

    現在、C#を用いて、DBにアクセスする処理を作成しています。
    そのDBとの接続が切れた場合にはリトライをするのですが、DBにアクセスするクラスは複数あり、メソッドも複数あります。下記のような感じです。
    例) AAAクラス
        aaaメソッド(string arg1, string arg2);
    aabメソッド(int arg1);
    BBBクラス
        bbaメソッド();
    bbbメソッド(string arg1);
    メソッドはすべて、DBにアクセスする処理を持ちます

    そこで、接続が切れた場合のリトライ処理を、AAAクラスとBBBクラスの継承元クラスに持ちたいのですが、各メソッドの引数の個数や、型が異なるため、デリゲート?を使ってもできそうにありません。

    普通はどのような方法でリトライを行っていますか?
    なにか良い方法がありましたら、よろしくお願いします。
親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2165  セッションタイムアウト設定が効かない?
□投稿者/ ミジンコ -(2005/12/20(Tue) 11:18:01)

    分類:[C#] 


    分類:[C#] 

    はじめまして。
    C#でWindowsアプリケーションの開発を行っています。
    Web.ConfigのsessionStateの個所にtimeoutの設定を20としているですが、
    お客様より偶に5,6分でタイムアウトしてしまうと報告があり調査しております。
    行き詰まってしまい、質問がございます。
    web.configで設定するtimeout時間よりもタイムアウトが短くなるような現象の報告などはございますでしょうか?(IISやDBによって、強制的に切断されてしまうなど)

    ご教授のほどよろしくお願い致します。

親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2162  C#.NETでSQLクエリ実行問題
□投稿者/ まさ -(2005/12/19(Mon) 18:06:21)

    分類:[C#] 


    分類:[C#] 

    こんばんわ。
    初めて、この掲示板に書き込むので、よろしくお願いいたします。
    近頃、私はMCPをがんばって、試験を受けたいのです。
    C#.NETでSQL SERVER 2000との接続プログラムを作っています。
    問題があったので、ちょっと聞かせてください。

    フォームにボタンを追加して、このボタンのソースは以下になります。
    sqlConnection1.Open ();

    MessageBox.Show ("SQL SERVER 2000 has oppenned");

    sqlInsertCommand1.CommandText = @"INSERT INTO Company (ID, CompanyName, CompanyNameShort, EnglishName, PostalCode, City, addressDetail, Tel1, Tel2, Fax, ContactPsName, ContactPsTitle, ContactPsTel, ContactPsEmail, status, representativeName, representativePhone, representativeTitle, website) VALUES (@ID, @CompanyName, @CompanyNameShort, @EnglishName, @PostalCode, @City, @addressDetail, @Tel1, @Tel2, @Fax, @ContactPsName, @ContactPsTitle, @ContactPsTel, @ContactPsEmail, @status, @representativeName, @representativePhone, @representativeTitle, @website); SELECT ID, CompanyName, CompanyNameShort, EnglishName, PostalCode, City, addressDetail, Tel1, Tel2, Fax, ContactPsName, ContactPsTitle, ContactPsTel, ContactPsEmail, status, representativeName, representativePhone, representativeTitle, website FROM Company WHERE (ID = @ID)";

    sqlInsertCommand1.ExecuteNonQuery ();
    --------------------------------------------------------------------------

    フォームにいろんなTextBoxを付いていて、ユーザーが入力したら、登録ボタンを押すと、SQL SERVER 2000に新たなレコードをInsertしたいと思います。

    sqlInsertCommand1.ExecuteNonQuery ();
    を実行したら、「システム エラーです」というメッセージが出てしまいました。

    データベースの接続確認と、データセットも設定済みです。
    写真もアップロードさせていただきます。

    もし、エラー原因がご存知でしたら、ご教授ください。
    よろしくお願いいたします。
親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2151  VB6.0によるイベントログ取得
□投稿者/ 仁志 -(2005/12/17(Sat) 18:31:48)

    分類:[VB6以前] 


    分類:[VB6以前] 

    初めましてです。

    自分は仁志と申します。さっそく質問なんですが
    現在VB6.0でWindowsイベントログを取得しようと奮闘しています。
    ですが、イベントログの説明の部分が上手く取れません。
    それ以外の部分はうまく取れているのですが。。。。

    -------------------------------------------------------------------------
    Windows上より取ってきたイベントログ説明(システム)
    システムは次の設定のネットワーク アダプタを登録できませんでした:
    アダプタ名 : {F5104CA0-4DD4-4BCC-A8FC-5ED4EBCA97A8}

    プログラムより取得してきた説明部分
    \Device\NetBT_Tcpip_{F5104CA0-4DD4-4BCC-A8FC-5ED4EBCA97A8}
    -------------------------------------------------------------------------

    と上記のようになってしまいます。

    ソースの一部を公開いたしますのでご教授いただければ幸いです。

    -------------------------------------------------------------------------
    動作環境
    OS Windows2000
    言語 Visual Basic6.0
    -------------------------------------------------------------------------

    Public Function GetLog()
    Dim hEventLog As Long
    Dim typLogRec As EVENTLOGRECORD
    Dim lngRet As Long
    Dim lngBytesRead As Long
    Dim lngMinNumberOfBytesNeeded As Long
    Dim bytBuf() As Byte
    Dim lngLen As Long
    Dim bytEdit() As Byte
    Dim intEdit As Integer
    Dim strString As String

    Erase bytBuf
    ReDim bytBuf(0)
    ReDim bytBufA(0)

    '-- 必要なバッファサイズを取得する
    lngRet = ReadEventLog(hEventLog, EVENTLOG_SEQUENTIAL_READ Or EVENTLOG_BACKWARDS_READ, _
    0&, bytBuf(0), 0, lngBytesRead, lngMinNumberOfBytesNeeded)
    If lngRet = 0& Then

    lngLen = lngMinNumberOfBytesNeeded
    ReDim bytBuf(lngLen - 1)

    '-- イベントログレコードの取得
    lngRet = ReadEventLog(hEventLog, EVENTLOG_SEQUENTIAL_READ Or EVENTLOG_BACKWARDS_READ, _
    0&, bytBuf(0), lngLen, lngBytesRead, lngMinNumberOfBytesNeeded)

    CopyMemory typLogRec, bytBuf(0), LenB(typLogRec)

    With typLogRec
    '-- イベントログレコードの取得
    Erase bytEdit
    ReDim bytEdit(.DataOffset - .StringOffset)
    CopyMemory bytEdit(0), bytBuf(.StringOffset), UBound(bytEdit)
    strString = StrConv(bytEdit, vbUnicode)
    End With

    End With;

    END Function



    API、EventLogRecordなどの表記もしてあるのですが、上手くいきません。
    これは自分の見解なのですが、
    取得できるイベントログ説明文は上記のものが限界なのかもしれないと、考えております。
    以上になりますが、なにかお分かりのことや、ご指摘していただけることがあればご教授ください。

    宜しくお願いします。



親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2087  Re[1]: 配列について。。。
□投稿者/ |ω・`) -(2005/12/08(Thu) 21:07:23)
    > //COMポートオープン
    > private void button1_Click(object sender, System.EventArgs e)
    > {
    〜略〜
    > }
    確かにポートを開いていると思います。

    > //受信プログラム
    >  private void com_OnComm(object sender, System.EventArgs e)
    > {
    〜略〜
    > }
    確かに受信していると思います。

    なので、↓は出来ていますよね?
    > COMポートから受信した数字richTextBoxに表示させて、それを配列にしたいと思ってます。

    (richTextBox2.Textに入っている)文字列を配列にしたいなら、
    一番妥当なのはchar型ではないでしょうか?

    …何に使うのかさっぱり見えてこないので、別に配列にしなくてもいい気もしますが。
記事No.2086 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■2074  DataGridViewで全選択
□投稿者/ 抑・ -(2005/12/07(Wed) 10:27:52)

    分類:[C#] 


    分類:[C#] 

    DataGridViewでボタンを押したらセルを全選択したいのですが

    private void aButton1_Click(object sender, EventArgs e)
    {
    int i;
    for (i = 0;i < aDataSet1.Tables"テーブル名"].Rows.Count; i++)
    {
           //セルを選択する方法
    }

    }
    Gridを上からみて最後までループして1行ずつ選択すればできると思う

    のですが上記のセルを選択する方法がわかりません;;

    DataGridならIsSelectedがあるみたいなのですが・・・


親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2071  Re[2]: File.COPY について
□投稿者/ アスク -(2005/12/06(Tue) 17:57:58)

    分類:[.NET 全般] 

    はじめまして。

    いばさんが書かれていたとおり

    'ファイル作成
      File.Create("C:\テスト2\test.txt")
    を削除すればいけました。

    もしソースの残すのであれば

    If Directory.Exists("C:\テスト2") Then
    '同じディレクトリが存在したら、削除する
    Directory.Delete("C:\テスト2", True)
    End If
    'ディレクトリ作成
    Directory.CreateDirectory("C:\テスト2")

    '--追加分----------------------------
    ' 戻り値を格納する変数を宣言する
    Dim hStream As System.IO.FileStream
    '--追加分----------------------------

      'ファイル作成
    '--変更箇所--------------------------
    '  File.Create("C:\テスト2\test.txt")
    hStream = File.Create("C:\テスト2\test.txt")
    '--変更箇所--------------------------

    '--追加分----------------------------
    ' 作成時に返される FileStream を利用して閉じる
    If Not hStream Is Nothing Then
    hStream.Close()
    End If
    '--追加分----------------------------

    'ファイルコピー
      File.Copy("C:\テスト\test.txt","C:\テスト2\test.txt", True)

    にすればとおります。

    参考になりますでしょうか?
記事No.2069 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■2069  File.COPY について
□投稿者/ nana -(2005/12/06(Tue) 17:12:11)

    分類:[.NET 全般] 


    分類:[.NET 全般] 

    @コピー元ファイル:「C:\テスト\test.txt」
    Aコピー先ファイル:「C:\テスト2\test.txt」

    File.Copyを行おうとすると、
    エラーメッセージ:『このファイルは別のプロセスが使用中です。』
    が出て、コピーができません。。

    行っていることは、
    コピー先のディレクトリや、コピー先のファイル名が存在しない場合
    ファイル・ディレクトリを作成してから、コピー処理を行っています。

    If Directory.Exists("C:\テスト2") Then
    '同じディレクトリが存在したら、削除する
    Directory.Delete("C:\テスト2", True)
    End If
    'ディレクトリ作成
    Directory.CreateDirectory("C:\テスト2")
      'ファイル作成
      File.Create("C:\テスト2\test.txt")
    'ファイルコピー
      File.Copy("C:\テスト\test.txt","C:\テスト2\test.txt", True)

    すいませんが教えてください


親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2068  デザイン時のプロパティを連動して表示させたい
□投稿者/ がはもこそ -(2005/12/06(Tue) 15:56:15)

    分類:[C#] 


    分類:[C#] 

    はじめまして、がはもこそといいます。
    最近になって.NETの開発を始めました。
    (2003,Framwork1.1)

    色々なサイトを探し回ったところ、このサイトを見つけ
    じゃんぬねっと様のExTextBoxを拝見させていただきました。
    テキストボックスの入力制限をかけるためにカスタムコントロールを作成中で、
    動作等を参考にさせていただいております。

    そこでご教示していただきたい点が…。
    あるプロパティをデザイン上で変更した際に
    他のプロパティ値を変更したいのですが、
    seterで値を変えてやっても、デザイン上、直後に画面に反映されません。
    (プロパティ変更後に他のプロパティにフォーカスがあたったタイミングで反映されます)

    ExTextBoxでいうところの
    AvailableTypeをDateに変更したタイミングで
    Formatが"yyyy/MM/dd"に初期設定される、といった事が出来ません。

    なにかコツが必要なのでしょうか?
    アドバイスをいただけたら幸いです。
    よろしくお願いいたします。

親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2075  Re[2]: フォームリサイズ中・・・
□投稿者/ メモリクンロク -(2005/12/07(Wed) 22:26:42)

    分類:[VB6以前] 

    あれ?
    うまく返信できてなかった、、、
    すみません。

    フォームのリサイズが終了するまでコントロールの大きさを変えない
    http://dobon.net/vb/dotnet/form/preventcontrolresize.html

    VB,netはここです。

    Windows設定で設定できるようですが、ソフトは見栄えがいいほうが
    イイかなと思っています。

記事No.2059 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■2059  フォームリサイズ中・・・
□投稿者/ メモリクンロク -(2005/12/06(Tue) 05:39:52)

    分類:[VB6以前] 


    分類:[VB6以前] 

    ども、メモリ96です。
    またお世話になります!w

    フォームリサイズ中にフォーム内のコントロールを非表示にして
    リサイズが終了したら表示するようにしたいのですが、
    やり方がわかりませんでした
    VB,NETではやり方等が載っていたのですが
    VB6.0では実現は難しいのでしょうか?

    よろしくお願いします!

    (これがやりたい理由)
    フォームサイズにあわせてコントロールもリサイズされるようにしたのですが
    フォームを激しく動かしたりすると表示の仕方がおかしくなる、
    動作には問題が無いのですが見栄えが悪いため。
親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2057  Re[1]: 生データをビットマップに変換するには?
□投稿者/ |ω・`) -(2005/12/05(Mon) 21:56:56)

    分類:[C#] 

    > 例えば・・・
    > byte配列に、16ピクセル分(3バイト/ピクセル)のデータを作成し、
    > 4×4の画像としてビットマップに表示したいのですが、
    > どの関数を使えばいいのでしょうか?
    普通にBitmap.SetPixel()で色を描くとか。
    またはBitmap.LockBits()を使って直接ビットマップを操作する、とかかな?
    ちなみに、24BitRGBで"3×3"ビットマップに対する、
    byte配列のイメージは横12,縦3と成るはずです。
記事No.2056 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■2049  データグリッドの非表示の列のデータ取得
□投稿者/ 山崎 -(2005/12/01(Thu) 14:58:54)

    分類:[C#] 


    分類:[C#] 

    現在C#.NETで作成しているのですが、データグリッドの更新ボタン押下時、
    変更されたデータをDBに更新する時のキーを複数持ちたいのです。
    しかしDataKeyFieldはキーが一つしか設定できない様なので
    データグリッドの列の定義でVisible属性をfalseに設定し、
    非表示の列をデータとして使用するようにしています。
    しかし非表示にするとデータの中身が空で取得してしまいます。

    どうにか非表示のデータを取得できないでしょうか?

    データの更新ボタンが押下されると

    private void DgAne_UpdateCommand(object source,DataGridCommandEventArgs e)
    {
    // 非表示列
    string A = ((TextBox)e.Item.Cells[5].Controls[0]).Text.ToString().Trim();
    // 表示列(テンプレート列)
    string B = ((TextBox)e.Item.FindControl("EditST")).Text.ToString().Trim();
    }

    Aは空、Bはデータが取得できています。
    Aを表示させると取得できます。

    どうにか非表示で取得するか、ほかのDB登録時のキーを複数取得する方法はないでしょうか?
    よろしくお願いします。

親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2045  Re[7]: 半角カタカナかどうか判別したい
□投稿者/ いば -(2005/11/30(Wed) 21:06:48)

    分類:[C#] 

    ありがとうございます。だいぶ理解できました。

    >たとえば、下記はいずれも同じ内容『C#』を意味します。
    >string a = "C#";
    >string b = "\u0043\u0023";
    >string c = "\x43\x23";
    >string d = "\x0043\x0023";

     エスケープシーケンスとは、特殊な意味を表す、文字列の並びに過ぎないんですね。
     ネット上には、メタ文字、エスケープシーケンス、メタキャラ等色々な用語が使われていますが、
     結局のところ同じような意味で、特定の文字並びを意味のある記号として各ソフトウェアが解釈
     してるだけのことなんですよね。

     例えば、Perlの\nと、Cの\nが同じ意味なのは、そうなるようにPerl.exeとCコンパイラが作られ
     ているから、というだけの話なんですね。

     そういう意味で言うと、\u,\xというのは、Perlで用意された正規表現のエスケープシーケンスで
     はなく、C#で用意された、Unicodeを意味するエスケープシーケンスなのですね。

    >一方、先頭に @ を付けた場合には、エスケープされる事なく、「\」を含んだ
    >そのままの文字列が渡されます。ここまではよろしいでしょうか。

     はい、それは大丈夫です。パス指定の際にもよく使いますので。

    >で、正規表現の場合に話を戻すと、こうなります。
    >Regex r1 = new Regex("\\u0043\\u0023");
    >Regex r2 = new Regex(@"\u0043\u0023");
    >Regex r3 = new Regex("\u0043\u0023");
    >Regex r4 = new Regex("C#");
    >Regex r5 = new Regex(@"C#");
    >いずれも、『C#』という文字列に対して一致する正規表現ですが、
    >r1 と r2 には、「\u0043\u0023」という文字列が指定されていて、
    >r3, r4, r5 には「C#」という文字列が指定されている事になります。

     はい、この点は完全に理解できました。ありがとうございます。

    ># 簡易的に調べるだけなら、Windows アクセサリの「文字コード表」で、
    ># 検索ボックスに「Halfwidth」と入れてみると、関連文字がヒットします。

     これ使いました!すごく便利ですね。こんな身近に良いツールがあったなんて・・。
     [検索する文字の名前]というテキストボックスに[Halfwidth]と打ち込んだらバッチリ半角カナが
     出てきました。

     度重なる質問に最後までお答え頂きまして本当にありがとうございました。

記事No.2021 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■2037  Re[6]: 半角カタカナかどうか判別したい
□投稿者/ 魔界の仮面弁士 -(2005/11/30(Wed) 16:45:48)

    分類:[C#] 

    > という事で、C#における¥Uは、
    "¥U" → "\u" ですね。
    C#は大文字小文字を区別する言語ですが、半角全角も
    同様に区別されます。正しく使い分けましょう。

    > という事で、C#における¥Uは、エスケープシーケンスなのか(多分これだと考えてます)、正規表現のメタ文字なのか、それともエスケープシーケンス=メタ文字なのか、とても混乱しています。

    たとえば、下記はいずれも同じ内容『C#』を意味します。
    string a = "C#";
    string b = "\u0043\u0023";
    string c = "\x43\x23";
    string d = "\x0043\x0023";

    一方、先頭に @ を付けた場合には、エスケープされる事なく、「\」を含んだ
    そのままの文字列が渡されます。ここまではよろしいでしょうか。
    string A = @"C#";
    string B = @"\u0043\u0023";
    string C = @"\x43\x23";
    string D = @"\x0043\x0023";


    で、正規表現の場合に話を戻すと、こうなります。
    Regex r1 = new Regex("\\u0043\\u0023");
    Regex r2 = new Regex(@"\u0043\u0023");
    Regex r3 = new Regex("\u0043\u0023");
    Regex r4 = new Regex("C#");
    Regex r5 = new Regex(@"C#");
    いずれも、『C#』という文字列に対して一致する正規表現ですが、
    r1 と r2 には、「\u0043\u0023」という文字列が指定されていて、
    r3, r4, r5 には「C#」という文字列が指定されている事になります。


    > 勉強のつもりでUnicodeコンソーシアム(http://www.unicode.org/charts/)へ行き
    > Unicodeの半角カタカナを含む文字コード表を見ようとしたのですが、どこを見れ
    > ば良いのか分かりませんでした。
    既に見つけられたようですが、一応貼っておきます。

    (半角・全角形ブロック)
    http://www.unicode.org/charts/PDF/UFF00.pdf
    (東アジアのエンコーディング群と文字集合との変換表)
    http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/
    (文字幅プロパティに関する情報)
    http://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt

    # 簡易的に調べるだけなら、Windows アクセサリの「文字コード表」で、
    # 検索ボックスに「Halfwidth」と入れてみると、関連文字がヒットします。
記事No.2021 のレス /0過去ログ2より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 >>

ヒット件数が多いので過去ログ1〜3 までの検索結果 / 過去ログ4からさらに検索→

パスワード/

- Child Tree -