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 | 16 | 17 >>
■776  外部ファイル(XML)を含むプロジェクトのデバッグについて
□投稿者/ ken -(2005/07/01(Fri) 00:11:46)

    分類:[.NET 全般] 


    分類:[.NET 全般] 

    こんにちは。

    また少し質問させてください。

    VB.NETで、設定ファイルとして用意したXMLファイルを
    読み込むようなプログラムを作成しています。

    質問は、そのプログラムのデバッグ実行の時のことです。

    XMLファイルをDOMで読み込む(Load)のですが、そのときに
    XMLファイルのパス(厳密にはカレントパスでしょうか)
    が、ビルドして配置したアセンブリを実行したときと、
    ソースデバッグ実行の時とで違うのです。

    配置の時にはアセンブリと同一階層にXMLファイルを置くので
    問題なく扱えます。しかしデバッグの際は、プロジェクトフォルダの
    bin以下にXMLファイルがないのでエラーになります。

    以上少し長くなりましたが、デバッグ実行、配置後通して実現したいことは

    @XMLファイルのパス等、意識することなくデバッグ実行ができる。
    デバッグ実行の際のカレントパスにファイルをコピーして、実行
    できるようにする等の対応はしない。XMLファイルの複製を作ると、
    XMLを修正した時に、コピーしなおさなくてはならないため。

    A<#if DEBUG Then>や属性は使わない。またそれらの代替となるコードも
    書かない。

    BXMLファイルの置き場所を固定せず、必ずそのXMLファイルを
    使用するプロジェクトのプロジェクトフォルダにファイルを作成し、
    管理する。それ以外の場所への作成は行わない。

    CXMLファイルのパスをレジストリに持つ等しない。

    Dアプリケーション構成ファイルではなく、XMLファイルを使用する。

    EプロジェクトにXMLファイルを追加しただけで参照できること。

    F 上記@〜Eの条件をすべて満たす方法がなければ、
    <#if DEBUG Then>を使用して、デバッグの際のパスを指定する。
    ただしファイルを作成する場所は、使用するプロジェクトの
    プロジェクトフォルダとする。デバッグ時のパスは、
    べた書きするのではなく、プロパティやメソッドで取得したい。
    ただし、XMLファイルを含むプロジェクトはクラスライブラリプロジェクト
    もあり、Executepath等ではだめだった。理想としては、そのクラスの
    ソースがあるフォルダへのパスを返すメソッド等があればよいのですが。

    あと、もうひとつの質問なのですが、
    ソリューションエクスプローラにて、項目の追加で
    XMLファイルを追加すると、プロジェクトの中に追加したファイルが
    表示されますが、何か意味はあるのでしょうか?
    単純に追加表示されているだけで、「使っている」ということ
    を示す程度か、「埋め込まれたリソース」に変更できリソースに
    含めることができる程度でしょうか?
    例えば、プロジェクトの項目として追加することにより、あるメソッドで
    ファイル名やパスを指定しなくても参照できるとかないですよね?

    以上、乱文をお許しください。
    よろしくご教授お願いいたします。
親記事 /0過去ログ1より / 関連記事表示
削除チェック/

■2017  Re[4]: FormのEnabledプロパティについて
□投稿者/ ろん -(2005/11/29(Tue) 11:07:22)

    分類:[C#] 

    返信、ありがとうございます!
    なかなかコメントがつかなくて、あきらめていたのですが、
    この方法でできそうです
記事No.1911 のレス / END /過去ログ2より / 関連記事表示
削除チェック/

■2017  Re[4]: ActiveDirectoryユーザーパスワードの変更
□投稿者/ Kozoo -(2007/03/13(Tue) 15:47:25)
    No2013 (Pandora さん) に返信
    Pandoraさん
     ご返信ありがとうございます。

     >ADSI は、ディレクトリ・サービスを統一して扱うことができるように設計されたものです。
     >ので、System.DirectoryServices のクラス群は、このインタフェースを.net的に簡易に使えるように
     >しているだけなので、下位層ではADSIを使用しています。
      なるほど。実際にはADSIを利用したアクセスという事なのですね。
      ADSIに関しての勉強を進めたいと思います。

     >下記のサイトが参考になるのではないでしょうか?
     >http://support.microsoft.com/kb/306273/ja
     >パスワードの変更は、Invoke("SetPassword",new object[]{"新しいパスワード"}) で可能です。
      わざわざサイトまでご紹介頂きありがとうございます。
      Invokeという初めて見るメソッドもありますので、まずはサンプルを見て一つ一つ確認してみたいと思います。
記事No.1989 のレス /過去ログ11より / 関連記事表示
削除チェック/

■2073  Re[5]: ActiveDirectoryユーザーパスワードの変更
□投稿者/ Kozoo -(2007/03/16(Fri) 18:30:16)
    No2017 (Kozoo さん) に返信
    
    以下のソースで解決する事ができました。
    アドバイスをして下さった方、ありがとうございました。
    
        string adsPath = @"LDAP://domainname/CN=cnname,OU=ouname,DC=domainname,DC=co,DC=jp";
        string strPassword = @"1234567890";
    
        DirectoryEntry dEntry = new DirectoryEntry(adsPath);
        dEntry.Invoke("SetPassword", new object[] { strPassword });
    
        dEntry.CommitChanges();
    
    ソース上はadspathを直接指定していますが、実際に行う場合は
    SAMAccountNameからadspathを引っ張って変更するのが簡単だと思います。
    
記事No.1989 のレス / END /過去ログ11より / 関連記事表示
削除チェック/

■5799  Re[3]: ImmSetCompositionFontでフォントを設定
□投稿者/ 魔界の仮面弁士 -(2007/07/23(Mon) 23:42:39)
    No5792 (倉田 有大 さん) に返信
    > this.Font.ToLogFont(logFont);
    > ここで、取得してくれなくなっちゃいますね。
    
    struct の場合は、
        object obj = logFont;
        this.Font.ToLogFont(obj);
        logFont = (LOGFONT)obj;
    のようにすれば取得できるかと思います。
    (VB の場合は、Class にしないと取得できませんけど)
    
    
    で、LOGFONT が class でも struct でも取得したいのであれば、
      #pragma warning disable 183
      if (logFont is ValueType)
    で判定とか。
記事No.5789 のレス / END /過去ログ16より / 関連記事表示
削除チェック/

■8909  Re[3]: 共通DLLの配置ディレクトリ
□投稿者/ 七曜 -(2007/10/13(Sat) 00:08:38)
    web.configの<probing> 要素を指定する事で、追加で検索されるAssemblyのディレクトリを指定する事ができます。
    http://msdn2.microsoft.com/ja-jp/library/823z9h8w(VS.80).aspx
    (Referenceは、.NET Fx2.0のものですが.NET Fx1.1でもだいたい同じだったはずです。)
    ただし、probingで指定できるのは"アプリケーションフォルダのサブフォルダのみ"であるため期待する様な
    "アプリケーションフォルダとは別のフォルダをAssmblyの検索対象にする"事は出来ません。
    
    これは確か、セキュリティ上の問題で、
     サーバー上の物理或いは論理フォルダ構造をたどる場合、
     アプリケーション自身の上位フォルダやその他のフォルダを検索対象にしない事になっているから、
    だったかと思います。
    
    
    実際問題としては、期待するようなフォルダ構成での配置は出来ませんので
    (1)確実に複数のアプリケーションで共有したいのであれば、GACに登録する。
    (2)共通ではあるものの、使用されるアプリケーションによってバージョンが異なる場合が想定される場合には、
      アプリケーションフォルダ配下のbinに格納しておく。
    のいずれかの運用になるかと思います。
    
記事No.8876 のレス /過去ログ21より / 関連記事表示
削除チェック/

■10389  Re[3]: ソケット通信方法?
□投稿者/ れい -(2007/11/16(Fri) 17:29:23)
    No10387 (ここ さん) に返信
    >>一歩ってなんでしょうか?
    >>開発環境か何か?
    >
    > 開発環境です。

    一歩というのがなんだか知りませんが、

    >>デバイスアプリケーションとは何でしょうか?
    >>モバイルデバイス?
    >
    > そうです。

    私のところではSocketでもTcpClientでも普通に接続できています。

    Pingが通るなら。

    ポートが開いてるかどうか、
    接続後送信接続は切れていないかどうか、
    ポートスキャナやTelnetで調べたら良いでしょう。


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

■11777  Re[11]: 質問の削除の方針は?
□投稿者/ επιστημη -(2007/12/21(Fri) 10:49:49)
>
    > 猫シリーズは、皆様はどう評価されていますか?

    再度スレッドを立ててはいかがでしょ。
記事No.11682 のレス / END /過去ログ26より / 関連記事表示
削除チェック/

■12017  Re[3]: LGPL及びMPL1.1に関して
□投稿者/ まぐねしうむ -(2007/12/27(Thu) 11:14:45)
    チェックし忘れてました。
記事No.11973 のレス / END /過去ログ26より / 関連記事表示
削除チェック/

■13548  Re[8]: object 同士の比較
□投稿者/ OGAKUZU -(2008/01/31(Thu) 08:47:56)
    一応「解決済み」にさせていただきます。
    みなさん、ありがとうございました。
記事No.13104 のレス / END /過去ログ28より / 関連記事表示
削除チェック/

■13542  Re[1]: 6.0→VB.NET 変換 RtlMoveMemory
□投稿者/ よねKEN -(2008/01/30(Wed) 23:09:16)
    > VB.NET-------------------------------------------------
    > Public Declare Sub RtlMoveMemory Lib "kernel32" (ByRef Destination As BITMAPINFOHEADER, ByVal Source As IntPtr, ByVal Length As Integer)
    >
    > Dim bmf As BITMAPFILEHEADER
    > Dim bmi As BITMAPINFOHEADER
    > Dim handle_Renamed As Long
    >
    > handle_Renamed = GlobalLock(dib)
    >
    > 'BITMAPINFOHEADERの取得
    > RtlMoveMemory(bmi, handle_Renamed, Len(bmi))
    > -------------------------------------------------
    >
    > このような変更でよいのでしょうか?

    Dim handle_Renamed As Long
    がまずいと思います。ポインタを扱うならAs LongではなくAs IntPtrを使いましょう。
    (それにあわせてGlobalLockのDeclareも修正がたぶん必要になるでしょう)

    ちなみにVB6のLongは32bit、.NETのLongは64bitです。

    > また、上記の変更でこの部分はうまくいくようになったのですが、同じことを他の部分にやろうとすると、エラーが起こります。
    > Public Declare Sub RtlMoveMemory Lib "kernel32" (ByRef Destination As Byte, ByRef Source As Integer, ByVal Length As Integer)
    > Public Declare Sub RtlMoveMemory Lib "kernel32" (ByRef Destination As Byte, ByRef Source As Short, ByVal Length As Integer)
    > Public Declare Sub RtlMoveMemory Lib "kernel32" (ByRef Destination As Byte, ByVal Source As IntPtr, ByVal Length As Integer)
    >
    > error BC30203: 識別子が必要です。
    > error BC30519: 縮小変換しないで呼び出される、アクセス可能な 'RtlMoveMemory' がないため、オーバーロードの解決に失敗しました:

    先の提示コードと同じような形であればhandle_RenamedがLong型だから、
    ぴったりのオーバーロードが見つからないためでしょう。
記事No.13532 のレス /過去ログ28より / 関連記事表示
削除チェック/

■13549  Re[2]: 6.0→VB.NET 変換 RtlMoveMemory
□投稿者/ セイン -(2008/01/31(Thu) 09:06:02)
    No13542 (よねKEN さん) に返信
    なるほど!型違いですか!
    たしかにLong型をIntPtrに変換できるので、動くには動いていたが、
    ぴったり一致ではなかったので、変なエラーが出てたんですね。

    ありがとうございました。
記事No.13532 のレス / END /過去ログ28より / 関連記事表示
削除チェック/

■13551  Re[3]: 6.0→VB.NET 変換 RtlMoveMemory
□投稿者/ よねKEN -(2008/01/31(Thu) 10:03:00)
    先の投稿で書き忘れましたが、今回の内容ならWindows APIを使う代わりに
    Marshalクラスが使えると思います。参考までに。

    Marshalクラス
    http://msdn2.microsoft.com/ja-jp/library/system.runtime.interopservices.marshal_members(VS.80).aspx

    今回の内容なら以下のメソッドでしょうか。
    Marshal.Copyメソッド/Marshal.StructureToPtr メソッド/Marshal.PtrToStructure メソッド
    Marshal.AllocHGlobalメソッド/Marshal.FreeHGlobalメソッド
記事No.13532 のレス / END /過去ログ28より / 関連記事表示
削除チェック/

■13550  Re[5]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ 魔界の仮面弁士 -(2008/01/31(Thu) 09:42:32)
    No13517 (ryu さん) に返信
    > progress = Request.Form("progress")
    > 〜省略〜
    > <td align="left" id="progress" name="progress"><%= Replace(progress,vbCrLf,"<br>") %></td>
    > Replaceでやってみたところ、問題なくできました。

    コードの一部が省略されているため、正確な判断はできませんが、これだと問題があるように思えます。
    下記のような場合に正しく処理できているか、もう一度確認してみてください。


    (1) 『ボタンを作るには<input type=button>と書きます。』という文章が渡された場合に、
     タグが(HTMLのボタンではなく)タグのまま表示できていますか?

    (2) 「タブ文字」「連続した空白」などが渡された場合、次画面での表示時に、
     それらの空白を維持して表示できていますか?
記事No.13457 のレス /過去ログ28より / 関連記事表示
削除チェック/

■13554  Re[6]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ Mr.T -(2008/01/31(Thu) 11:20:20)
    Mr.Tです、こんにちは。

    No13550 (魔界の仮面弁士 さん) に返信
    > ■No13517 (ryu さん) に返信
    >>progress = Request.Form("progress")
    >>〜省略〜
    >><td align="left" id="progress" name="progress"><%= Replace(progress,vbCrLf,"<br>") %></td>
    >>Replaceでやってみたところ、問題なくできました。
    >
    > コードの一部が省略されているため、正確な判断はできませんが、これだと問題があるように思えます。
    > 下記のような場合に正しく処理できているか、もう一度確認してみてください。
    >
    >
    > (1) 『ボタンを作るには<input type=button>と書きます。』という文章が渡された場合に、
    >  タグが(HTMLのボタンではなく)タグのまま表示できていますか?
    >
    > (2) 「タブ文字」「連続した空白」などが渡された場合、次画面での表示時に、
    >  それらの空白を維持して表示できていますか?

    追記として、魔界の仮面弁士さんが、最初に書いたサンプルをもう一度
    見直してみたらよいと思います。
    渡されたデータを表示する際に、Replaceでは処理していません。
    それは、上記のようなケースに対応できないことに
    なりかねないからです。

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

■13556  monthcalender操作
□投稿者/ しほちゃん☆★ -(2008/01/31(Thu) 11:50:50)

    分類:[VB.NET/VB2005] 

    環境 vb2005 windowsアプリを作成しています。

    このアプリケーションはマウスを使用しません。

    Private Sub calNyukaD_DateSelected(ByVal sender As Object, ByVal e As
            System.Windows.Forms.DateRangeEventArgs) Handles calNyukaD.DateSelected

         Me.txtNyukaD.Text = Format(calNyukaD.SelectionStart, "yyyy/MM/dd")
    Utility.onFocusSet(Me.txtKeijyoD)                   ・・・@

    End Sub

    カレンダーが表示されたときにこのソースだとマウスではtextに値がはいるのですが
    →で移動して選択したときに値がはいりません。

    private sub   〜  Handles calNukaD.Enter 内に@を書いてもカレンダー自体がselectされません。

    @内のselectionstartをselectionendに変えましたが見当違いでした

    gogooleでvb2005 monthcalender Enter で検索しましたがそれらしきはものがみつかりません。
    なにかヒントをいただけませんか?^^;
親記事 /過去ログ28より / 関連記事表示
削除チェック/

■13558  Re[1]: monthcalender操作
□投稿者/ ダッチ -(2008/01/31(Thu) 12:33:18)
    2008/01/31(Thu) 12:36:23 編集(投稿者)

    しほちゃん☆★ さん、こんにちは
    ダッチです。

    > →で移動して選択したときに値がはいりません。
    これはどういうことを言っているのでしょうか?

    MonthCalendar(calNyukaD) にフォーカスがあるときに「→」キーを入力したときのことですか?
    それとも TextBox にフォーカスがあるときに「→」キーを入力したときのことですか?

    新規にフォームを作成して、MonthCalendar と TextBox をフォームに貼り付けて
    次のコードを記載すれば、MonthCalendar にフォーカスがある状態でカーソルキー(→など)を入力すれば
    TextBox に日付が入りますよ。

    Private Sub MonthCalendar1_DateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged
    Me.TextBox1.Text = Me.MonthCalendar1.SelectionStart.ToString
    End Sub

    投稿してから気づきました。
    DateSelected イベントではなく
    DateChanged イベントを使用すればいいのではないでしょうか。

    DateSelected イベントは MSDN を見ていただければわかると思いますが、
    マウスを使用したときに発生するイベントです。

    DateChanged イベントは日付が変わった時に発生するイベントです。
記事No.13556 のレス /過去ログ28より / 関連記事表示
削除チェック/

■13559  Re[2]: monthcalender操作
□投稿者/ しほちゃん☆★ -(2008/01/31(Thu) 12:55:09)
    No13558 (ダッチ さん) に返信
    > 2008/01/31(Thu) 12:36:23 編集(投稿者)

    タッチさんこんにちわ
    早速の書き込みありがとうございます^^

    >>→で移動して選択したときに値がはいりません。
    > これはどういうことを言っているのでしょうか?

    これはカーソルで日付の指定するといゆ意味です。
    その状態でエンターを押すので

    > MonthCalendar(calNyukaD) にフォーカスがあるときに「→」キーを入力したときのことですか?
    > それとも TextBox にフォーカスがあるときに「→」キーを入力したときのことですか?

    MonthCalendar(calNyukaD)にカーソルがあるときです。

    > Private Sub MonthCalendar1_DateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged
    > Me.TextBox1.Text = Me.MonthCalendar1.SelectionStart.ToString
    > End Sub
    >
    DateChanged イベントを使用すると一回のカーソル操作で値がはいってしまいます
    マウスを使わないでカーソルで指定してenterを押したときに値をいれたいのです。

    さきほどはわかりにくいレスでごめんなさい
記事No.13556 のレス /過去ログ28より / 関連記事表示
削除チェック/

■13560  Re[3]: monthcalender操作
□投稿者/ ダッチ -(2008/01/31(Thu) 13:08:08)
    Enter キーを入力したときに TextBox に日付を入れたかったのですね。
    であれば MonthCalendar の KeyDown イベントについて調べてみてください。
    MonthCalendar にフォーカスがあるときにキーを入力するとイベントが発生します。
    そこで Enter キーが入力されたかどうかを判定して、
    Enter キーが入力されたときだけ TextBox に日付を入れればいいと思います。
    
        Private Sub MonthCalendar1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MonthCalendar1.KeyDown
            If e.KeyData = Keys.Enter Then ' ここで Enter キーが入力されたか判定する
                Me.TextBox1.Text = Me.MonthCalendar1.SelectionStart.ToString
            End If
        End Sub
    
記事No.13556 のレス /過去ログ28より / 関連記事表示
削除チェック/

■13563  Re[4]: monthcalender操作
□投稿者/ しほちゃん☆★ -(2008/01/31(Thu) 13:46:16)
    No13560 (ダッチ さん) に返信


    だっちさんありがとうございます。

    求めている動きができました。
    keydownイベントについて調べてます。

    ほんとうにありがとうございました。レベルが低くてごめんなさい ;;)
記事No.13556 のレス /過去ログ28より / 関連記事表示
削除チェック/

次の20件>

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

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

パスワード/

- Child Tree -