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

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

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

全過去ログを検索

<< 0 >>
■6335  Re[5]: VBで可変長textファイルを読む方法について
□投稿者/ 片桐 -(2007/08/08(Wed) 00:50:23)
>
    DIM WRHXXF_Item AS String

    Open C:\DATA.TEXT For Random As #W_FILNO
    Get #W_FILNO, , WRHXXF_Item

    ↑このロジックはVB6でしょうか?

    VB6の場合だと、for input でOPENしてからLine input して、
    取ってきた文字列をsplitして加工してください

    VB4だと split命令が使えないので、instr とmid を使って文字列をぶった切ります

    .NETなら、Hijunさんのロジックが参考になりますですよ
記事No.6312 のレス /過去ログ17より / 関連記事表示
削除チェック/

■38579  Re[1]: 複数のオブジェクトの操作
□投稿者/ やじゅ -(2009/07/19(Sun) 15:55:01)
>
    No38577 (aion さん) に返信
    
    PictureBoxのクリックイベントを生成して、PictureBoxのクリックイベントで色を変える
    
    Me.Controls.Add(pic(i))の↓に追加
    AddHandler pic(i).Click, AddressOf PictureBox_Click
    
    Private Sub PictureBox_Click(ByVal sender As Object, ByVal e As System.EventArgs)
         'senderに、クリックしたPictureBoxがセットされている。
         DirectCast(sender,PictureBox).BackColor = Color.Red
    End Sub
    
    あ、未検証です。
記事No.38577 のレス /過去ログ66より / 関連記事表示
削除チェック/

■43459  Re[1]: vbでxml出力
□投稿者/ 魔界の仮面弁士 -(2009/11/10(Tue) 23:56:58)
    No43454 (まきお さん) に返信
    > コード
    
    Instruction(命令) が Introduction(導入)になっていたり、
    「version="1.0" encoding="utf-8"」が
    「version="1.0",encording="utf-8"」になっていたり、
    引用符が一致していなかったり、
    MSXML2 が MAXML2 になっていたり、
    xmlNode.appendChild とするべき場所で
    xmlDoc.appendChild と書いていたり、
    xmlString が宣言されていない(xmStr ならある)など、
    他にもいろいろと間違っているようです。
    
    
    > xmlAttr.NodeValue = "http://www.・・・"   ←ここでエラーがでます
    
    名前空間を指定するなら、createNode メソッドの方が楽かと。
    
    Set xmlNode = xmlDoc.appendChild(xmlDoc.createNode(NODE_ELEMENT, "root", "http://www.example.com/"))
    Set xmlNode = xmlNode.appendChild(xmlDoc.createNode(NODE_ELEMENT, "child", "http://www.example.com/"))
    xmlNode.Text = "test"
記事No.43454 のレス /過去ログ74より / 関連記事表示
削除チェック/

■44675  Re[3]: VBの置換について。ひとつだけ置換は・・・できない??
□投稿者/ 魔界の仮面弁士 -(2009/12/15(Tue) 17:16:56)
    No44672 (やまり さん) に返信
    > MSDNも眺めたのですが、Count:= でなんばんめ、というのが取れるのを読み取れませんでした・・・
    「Replace(Src, "これ", "あれ", Count:=1)」の代わりに、
    「Replace(Src, "これ", "あれ", , 1)」や
    「Replace(Src, "これ", "あれ", 1, 1)」と書く事もできます。
    
    それと先ほど
    >> 汎用的にするなら、gtk2k さんの方法かな。
    と書きましたが、下記のようにする必要がありそうです。
    
    Dim ms As MatchCollection = Regex.Matches(strSrc, Regex.Escape(strMatch))
    Dim strDst As String
    If ms.Count = 0 Then
      strDst = strSrc
    Else
      Dim idx As Integer = rnd.Next(ms.Count)
      strDst = strSrc.Substring(0, ms(idx).Index) & strReplace & strSrc.Substring(ms(idx).Index + strMatch.Length)
    End If
    
    Regex.Escape は、文字列に『(』などが含まれていた場合への備え、
    If 判定は、一回もヒットしなかった場合に対応したものです。
    
    
    >> Start:=x で、検索開始位置を調整することもできます。
    > そんなこともできるんですね。これも使えそうですね。
    Start 引数は、(検索回数ではなく)文字位置を表す引数なので、今回の用途では
    ここに指定すべき数値を調べるためのコードが、別途必要になりますけれどね。
    
    
    >> Function(sz) If(Interlocked.Add(n, 1) = 3
    > これがちょっとどういう意味かわからないので、
    VB のラムダ式では代入文を記述できないので、「n += 1」に相当するコードを、
    Interlocked.Add メソッドで代用しています。
    
    
    ラムダ式だと分かりにくいようであれば、先の Regex.Replace の部分を、
     matchedCount = 0
     ret = Regex.Replace("これとこれとこれとこれ", "これ", AddressOf Matched)
    という記述に読み替えてみてください。
    
    これは、
      文字列中に "これ" が見つかるたびに、Matched メソッドが呼び出され、
      その箇所が Matched メソッドの戻り値によって置換される
    という処理を表しています。
    
    ここでいう matchedCount や Matched は、たとえば下記のように実装されます。
    
     Module Foo
      Public matchedCount As Integer = 0
      Public Function Matched(ByVal m As Match) As String
       matchedCount += 1
       If matchedCount = 3 Then
        Return "あれ"
       Else
        Return "これ"
       End If
      End Function
     End Module
    
    
    そして上記をラムダ式を使って短く記述したものが、先の
     n = 0
     ret = Regex.Replace("これとこれとこれとこれ", "これ", Function(x) If(Interlocked.Add(n, 1) = 3, "あれ", "これ"))
    というわけです。
記事No.44652 のレス /過去ログ76より / 関連記事表示
削除チェック/

■62710  ライセンスやプロダクトキーについて
□投稿者/ まけ -(2011/10/29(Sat) 14:10:16)

    分類:[雑談] 

    2011/11/15(Tue) 07:30:44 編集(投稿者)


    昔ここで商売敵を叩いていたのがいるサイトです。
    こいつらのせいでライセンスは壊れてしまいました。


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

■86501  Re[2]: LIST内容をファイル出力したい
□投稿者/ ぶなっぷ -(2018/02/07(Wed) 09:45:44)
    もうほとんどできてるので、頑張ってというのは774RRさんも
    おっしゃっている通り。
    なので、そことは別の部分でアドバイス。
    分かりやすいプログラミングみたいな話かな。
    
    今の処理構造はおおざっぱに以下のような感じですよね。
    (行数減らすために改行位置変えてます)
    while (true)
    {
        if (menu == "e") {
            (いろいろ処理1)
            break;
        } else {
            (いろいろ処理2)
        }
    }
    
    このうち、(いろいろ処理2)は実際にwhileのループで行いたい
    処理であり、(いろいろ処理1)はこの処理を行ったらbreakで
    ループを抜けます。
    
    > Console.WriteLine("終わるにはeを入力");
    のコメント風に言うなら、
    (いろいろ処理1)は終わった後にやりたい処理なわけです。
    
    なので、直感的に書くなら、
    while (true)
    {
        if (menu == "e") {
            break;
        } else {
            (いろいろ処理2)
        }
    }
    (いろいろ処理1)
    
    とするだけで、読みやすいコードとなります。
    
記事No.86494 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86503  Re[3]: LIST内容をファイル出力したい
□投稿者/ kirin -(2018/02/07(Wed) 10:07:41)
    ぶなっぷさん

    ありがとうございます。
    参考にさせていただきます。


    No86501 (ぶなっぷ さん) に返信
    > もうほとんどできてるので、頑張ってというのは774RRさんも
    > おっしゃっている通り。
    > なので、そことは別の部分でアドバイス。
    > 分かりやすいプログラミングみたいな話かな。
    >
    > 今の処理構造はおおざっぱに以下のような感じですよね。
    > (行数減らすために改行位置変えてます)
    > while (true)
    > {
    > if (menu == "e") {
    > (いろいろ処理1)
    > break;
    > } else {
    > (いろいろ処理2)
    > }
    > }
    >
    > このうち、(いろいろ処理2)は実際にwhileのループで行いたい
    > 処理であり、(いろいろ処理1)はこの処理を行ったらbreakで
    > ループを抜けます。
    >
    >>Console.WriteLine("終わるにはeを入力");
    > のコメント風に言うなら、
    > (いろいろ処理1)は終わった後にやりたい処理なわけです。
    >
    > なので、直感的に書くなら、
    > while (true)
    > {
    > if (menu == "e") {
    > break;
    > } else {
    > (いろいろ処理2)
    > }
    > }
    > (いろいろ処理1)
    >
    > とするだけで、読みやすいコードとなります。
    >
記事No.86494 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86504  Re[4]: LIST内容をファイル出力したい
□投稿者/ kirin -(2018/02/07(Wed) 10:51:06)
    解決済みが外れたようなので再投稿。


    No86503 (kirin さん) に返信
    > ぶなっぷさん
    >
    > ありがとうございます。
    > 参考にさせていただきます。
    >
    >
    > ■No86501 (ぶなっぷ さん) に返信
    >>もうほとんどできてるので、頑張ってというのは774RRさんも
    >>おっしゃっている通り。
    >>なので、そことは別の部分でアドバイス。
    >>分かりやすいプログラミングみたいな話かな。
    >>
    >>今の処理構造はおおざっぱに以下のような感じですよね。
    >>(行数減らすために改行位置変えてます)
    >>while (true)
    >>{
    >> if (menu == "e") {
    >> (いろいろ処理1)
    >> break;
    >> } else {
    >> (いろいろ処理2)
    >> }
    >>}
    >>
    >>このうち、(いろいろ処理2)は実際にwhileのループで行いたい
    >>処理であり、(いろいろ処理1)はこの処理を行ったらbreakで
    >>ループを抜けます。
    >>
    > >>Console.WriteLine("終わるにはeを入力");
    >>のコメント風に言うなら、
    >>(いろいろ処理1)は終わった後にやりたい処理なわけです。
    >>
    >>なので、直感的に書くなら、
    >>while (true)
    >>{
    >> if (menu == "e") {
    >> break;
    >> } else {
    >> (いろいろ処理2)
    >> }
    >>}
    >>(いろいろ処理1)
    >>
    >>とするだけで、読みやすいコードとなります。
    >>
記事No.86494 のレス / END /過去ログ148より / 関連記事表示
削除チェック/

■91067  Re[2]: 自作クラスだとGetPropertyでnullが返ってくる
□投稿者/ NNN -(2019/05/24(Fri) 07:22:49)
    回答ありがとうございます。

    No91066 (魔界の仮面弁士 さん) に返信
    > ■No91065 (NNN さん) に返信
    >>例えば以下のように標準?のクラスを使用すればPropertyInfoは取得出来るのですが
    >>Point p = new Point();
    >
    > 上記が System.Drawing.Point のことだとすれば、
    > それは「クラス」ではなく「構造体」ですよ。
    > https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.point

    失礼しました。自作クラスの方がPointのdouble型だったので類似のものを合わせて書いてしまいました。
    実際動作させているものはSystem.Windows.Forms.TextBoxのText等を取得しようとしています。

    >>以下のように自作のクラスの場合だとPropertyInfoにnullが返ってきます
    >>public class PointD {
    >>  double x;
    >>  double y;
    >>}
    >
    > この場合の x は、「プロパティ」ではなく「フィールド」だからです。
    > GetPropery ではなく、GetField で取得するようにするか、
    > もしくは PointD のメンバーをプロパティ宣言に変更しましょう。

    「メンバー変数」と一括りに考えていて「プロパティ」「フィールド」という区別がなかったのでとても助かります。
    そのあたり踏まえて改めて検索して調べようと思います。
    「プロパティ宣言に変更」というのはget/setを付けるという意味になるのでしょうか?

    > それと、現状の PointD のメンバーにはアクセス修飾子が無いため、
    > private 扱いとなっています。
    > https://ufcpp.net/study/csharp/oo_conceal.html
    >
    > もし、非公開メンバーをリフレクションで取得するのであれば、
    > GetField や GetProperty メソッドを呼び出す際に、
    > 引数に BindingFlags を指定可能なオーバーロードを利用せねばなりません。

    こちらも申し訳ありません。C言語の構造体のように扱っているので正しくは
    public class PointD {
    public double x;
    public double y;
    }
    と記載しております。BindingFlagsを指定していなかったので正確に指定して理解を深めていこうと思います
記事No.91065 のレス /過去ログ157より / 関連記事表示
削除チェック/

■102046  Re[8]: 別タブで開くaタグのリンクについて
□投稿者/ ???? -(2023/06/12(Mon) 01:38:22)
    2023/06/12(Mon) 01:39:49 編集(投稿者)

    ※送信ミスの為削除
記事No.102031 のレス /過去ログ178より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -