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 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 >>
■1698  Re[5]: VB.NETの今後について
□投稿者/ ぽぴ王子 -(2007/03/03(Sat) 09:35:06)
>
    > これからVB.NETはどうなるでしょうか?
    > あまり使われなくなるのでしょうか?

    知らない。というか、どうなるかは誰にも予測がつかないのではないでしょうかね。
    今は知らないけれど、今後 VB.NET が .NET の主流になることもあるかもしれないし
    (今でも主流?)全然別の言語が出てくることもあるかもしれないとは思いますが、
    Microsoft 的には VB は VB として残そうとするのではないか、ぐらいしか。

    > 何故、VB.NETよりC#.NET等の他の言語を推すのでしょうか?

    単に C# が好きな人が(この掲示板では)多いということかと。
    言語にはそれぞれ好みもあるし、VB.NET の好きな人が多い場所で質問をすれば
    VB.NET を勧める人の方が多いかもしれません。ただそれだけのことだと思います。


    > 旧バージョンからの移行が楽なようにとの配慮が裏目に出た。ってヤツでしょうかねぇ…

    結果的に旧バージョンからの移行組が一番苦労しているんじゃないかと思ってたり
    するのですが、どうでしょうかね。憶測で書いてるところなので、これは実際の移行組
    の方々の意見を聞きたいところではありますが。

    僕自身も VB6 はバリバリ使っていましたが、VB.NET は VB6 の常識(と思われている
    部分)がなかなか通用しない言語なのではないかと考えています。確かに C# なんか
    に比べると移行はしやすいというか配慮されているとは思うんですが、そこで中途半端
    な配慮のせいで .NET というかオブジェクト指向的なものに慣れられないまま .NET に
    移行せざるを得ない人たちが苦労しているのかなあ、と思ったりしているです。

    自分は VB よりは C# が好きというところもありますが、そういった部分を考えると、これ
    から .NET でプログラミングをするという人に勧めるとしたら C# かなあ、という感じですね。
    逆に「それでも VB.NET がいいよ!」という方もいらっしゃいますし、どちらが正しいという
    ものでもないと思っていますが。
    (なんかうまい具合にまとまった、と思っている)
記事No.1682 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1701  Re[6]: VB.NETの今後について
□投稿者/ HiJun -(2007/03/03(Sat) 11:12:45)
    確かに、VB6.0とVB.NET/VB2005では全然感覚が違いますので
    その辺が移行しずらいというところはあると思いますが...

    私的には、Javaで...(っておい!!!!)

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

■1703  Re[1]: VB.NETの今後について
□投稿者/ オショウ -(2007/03/03(Sat) 11:58:21)
    VB.NETが無くなるかどうか・・・と言うよりは

    .NET Framework に搭載されている全ての機能を使えているか
    と言うことのように思いますが。

    セキュリティー面を含め、VB.NETでは、その一部の機能の使用
    に関し制限されているように見受けられます。
    C#.NETでは全て使えます。

    各言語間の互換性と言う部分で、機能制限がある為・・・
    そういう意味では、私もC#.NETを薦めます。

    以上。

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

■1702  Re[7]: VB.NETの今後について
□投稿者/ 未記入 -(2007/03/03(Sat) 11:55:42)
    言語なんてただの道具。C#ができるならVB.NETもできて当たり前。逆もしかり。
    まったくできないという人はいないでしょう。
    言う人がいたとして、そんな人は実際にはできるといっている言語もあやしいわけ。

    VB.NETがC#に劣っているなんてことはないです。
    ああ、技術者が劣っているというのは多々ありますけどね。
    ってことで、好きなのを好きなように使うでいいと思う。
記事No.1682 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1707  Re[2]: VB.NETの今後について
□投稿者/ aoa -(2007/03/03(Sat) 19:16:03)
    > 各言語間の互換性と言う部分で、機能制限がある為・・・
    > そういう意味では、私もC#.NETを薦めます。

    個人的にInternalsVisibleTo属性がC#でしか使えないのは大きいですね。
    VBの次バージョンでサポートされることを期待します。
    (VB6的な機能がさらに追加されないことを祈ります)
記事No.1682 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1725  Re[2]: VB.NETの今後について
□投稿者/ よねKEN -(2007/03/04(Sun) 12:59:15)
>
    オショウさん
    > セキュリティー面を含め、VB.NETでは、その一部の機能の使用
    > に関し制限されているように見受けられます。

    差はありますが、それほど重要な内容はないのでは?と思います。

    > C#.NETでは全て使えます。

    C#であっても.NET Frameworkに用意されているすべての機能が使えるわけではありません。
    #じゃあ、使えない機能の中で使いたい機能があるかどうかは別として

    aoaさん
    > 個人的にInternalsVisibleTo属性がC#でしか使えないのは大きいですね。

    お、こんなのが.NET2.0に追加されていたのですね。今知りました。
    C#コンパイラがごにょごにょしてくれているんでしょうけど、
    どんなILを吐いているのか気になります。頭の中での想像だけだと
    VBで使えない理由がわからないので、暇なときにでも実験してみたいですね。
記事No.1682 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1411  DataGridのスクロールがグレーアウトする問題について
□投稿者/ yamaP -(2007/02/23(Fri) 20:24:01)

    分類:[VB.NET (Windows)] 

    以下の実装環境でアプリ開発を行っております。

    ********************************************
    OS :Windows XP Professional SP2
    .NET Framework 2.0.50727
    開発言語 :Visual Basic 2005
    ********************************************


    Windows.Forms上で以下の問題が起こっております。

    System.Windows.Forms.DataGridを使用して、DataSetのデータを表示する予定です。
    (System.Windows.Forms.DataGridViewではありません。)
    DataGrid.DataSourceに指定したDataSetに対して、dataを含むDataSetをMergeしたところ、DataGridのスクロールバーがグレーアウトされてしまいます。
    この原因について何かお心当たりがある方がいらっしゃいましたら、ご教授頂けますでしょうか。



    ちなみに、DataGridViewを使用すればこの問題は起きないのですが、使用できない理由として、Grid内のテーブルにトグル表示(階層データを含むため)したいということがあります。
    ですので、DataGridViewでテーブルをトグル表示する方法があれば、それでも解決すると思われます。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■1475  Re[1]: DataGridのスクロールがグレーアウトする問題について
□投稿者/ すけけん -(2007/02/26(Mon) 10:52:13)
>
    同じ環境で

    > DataGrid.DataSourceに指定したDataSetに対して、dataを含むDataSetをMerge

    をしてみたのですが、スクロールバーはグレーアウトしませんでした。

    どのようなソースでスクロールバーがグレーアウトされてしまうのでしょうか。
記事No.1411 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1507  Re[2]: DataGridのスクロールがグレーアウトする問題について
□投稿者/ yamaP -(2007/02/26(Mon) 20:43:29)
    >すけけんさん

    ご回答どうもありがとうございます。

    ソースコードなのですが、セキュリティ上どうしても全てを公開することができません。
    何とか問題部分だけを抜き出してお見せしたいのですが、
    原因が全く掴めていないためそれもうまくいかない状況です。

    もう少し検討してから、問題が起こるようなテストコードを作成することができてから
    もう一度質問させて頂いてよろしいでしょうか。

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

■1510  Re[3]: DataGridのスクロールがグレーアウトする問題について
□投稿者/ すけけん -(2007/02/26(Mon) 21:02:51)
>
    No1507 (yamaP さん) に返信

    > ソースコードなのですが、セキュリティ上どうしても全てを公開することができません。
    > 何とか問題部分だけを抜き出してお見せしたいのですが、
    > 原因が全く掴めていないためそれもうまくいかない状況です。
    >
    > もう少し検討してから、問題が起こるようなテストコードを作成することができてから
    > もう一度質問させて頂いてよろしいでしょうか。

    了解です。自己解決した場合もご一報ください^^
記事No.1411 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1739  Re[4]: DataGridのスクロールがグレーアウトする問題について
□投稿者/ yamaP -(2007/03/05(Mon) 12:20:16)
    No1510 (すけけん さん) に返信
    > ■No1507 (yamaP さん) に返信
    >
    >>ソースコードなのですが、セキュリティ上どうしても全てを公開することができません。
    >>何とか問題部分だけを抜き出してお見せしたいのですが、
    >>原因が全く掴めていないためそれもうまくいかない状況です。
    >>
    >>もう少し検討してから、問題が起こるようなテストコードを作成することができてから
    >>もう一度質問させて頂いてよろしいでしょうか。
    >
    > 了解です。自己解決した場合もご一報ください^^

    >すけけんさん
    上記の件、解決致しました。
    どうやらアプリケーション全体のフォームに対して
    Me.Enable = False
    としている中でDataGridの表に項目を追加していたことが原因のようです。
    最後に
    Me.Enable = True
    としても、DataGridの中には反映されず、Enable = falseのままとなっているのでしょうか。

    ご高察頂きまして誠にありがとうございました。
記事No.1411 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1741  ActiveReport フッタの固定
□投稿者/ うぃー -(2007/03/05(Mon) 12:42:11)

    分類:[VB.NET (ASP.NET)] 

    ASP.NET + ActiveReport で開発を行っているのですが、
    合計行の出力位置が固定のレポートを作成していて、フッタ
    の出力位置が固定出来ずに困っています。

    ページフッタにサマリーで出力したら、値が正常に集計されません。

    フッタの出力位置を固定する、ページフッタでの設定の方法何でも
    かまいませんので、実現する方法をご存知の方がいましたら、ご教授
    お願いします。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■1652  データにBindingしているTextコントロールについて
□投稿者/ ゆき -(2007/03/01(Thu) 17:08:05)

    分類:[VB.NET (Windows)] 

    次のようなコントロールをフォーム上に配置しています。

    kb(Text)
    nm(text)
    ds(DataSet)
    bs(BindingSource)
    vTESTTableAdapter(TableAdapter)

    TextコントロールのDataBindingsプロパティでそれぞれ
    kb → Tag:なし Text:bs - 区分
    nm → Tag:なし Text:bs - 名称
    と設定してテーブルとバインドしています。
    これを実行すると、データは正しく表示されるのですが
    既存データの更新が行えるかテストしてみたところ
    どちらのTextコントロールも入力した値がds.vTESTに
    反映されていませんでした。
    更新処理には下記のようなことを書いているのですが
    Me.bs.EndEdit()の前後でvTESTのデータを調べてみたところ
    入力した値が反映されてこず困っています。
    dr.RowStateもUnchangedのままです。
    Modifiedになってほしいのですが・・・
    このような問題が生じた場合、どの辺りを注意して確認したら
    よいのでしょうか?
    アドバイスよろしくお願いします。

    更新処理
    Me.Validate()
    Me.bs.EndEdit()
    For Each dr As DataRow In Me.ds.vTEST
    Select Case dr.RowState
    Case DataRowState.Added
    dr(cst登録日付) = Format(Now, "yyyy/MM/dd")
    dr(cst登録時間) = Format(Now, "HH:mm:ss")
    Case DataRowState.Modified
    dr(cst更新日付) = Format(Now, "yyyy/MM/dd")
    dr(cst更新時間) = Format(Now, "HH:mm:ss")
    End Select
    Next
    Me.vTESTTableAdapter.Update(ds.vTEST)

    悩みに悩んで書いたのですが、非常に解かりにくい質問文に
    なってしまいました(涙
    足りない情報等ございましたらお知らせください。

    開発環境等
    VB歴1ヶ月
    VS2005(言語VB)
    SQL Server 2005
    OS Win2K SP4
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■1718  Re[1]: データにBindingしているTextコントロールについて
□投稿者/ はつね -(2007/03/04(Sun) 01:58:11)
>
    No1652 (ゆき さん) に返信
    > 更新処理
    > Me.Validate()
    > Me.bs.EndEdit()
    > For Each dr As DataRow In Me.ds.vTEST
    > Select Case dr.RowState
    > Case DataRowState.Added
    > dr(cst登録日付) = Format(Now, "yyyy/MM/dd")
    > dr(cst登録時間) = Format(Now, "HH:mm:ss")
    > Case DataRowState.Modified
    > dr(cst更新日付) = Format(Now, "yyyy/MM/dd")
    > dr(cst更新時間) = Format(Now, "HH:mm:ss")
    > End Select
    > Next
    > Me.vTESTTableAdapter.Update(ds.vTEST)

    これ、クライアント側で実装するとクライアントの時刻依存で全クライアントの時刻を合わせておく必要とか、だれか意図的に日時を変更して使うと嘘の日時が設定できてしまいますから、クライアントで実装せずにSQL Serverのトリガーとかで実装して、サーバの時刻で一元化した方が良いかと思います。

    その問題をおいておくとして、このコードが意図したとおりに動くようにするためには、End SelectとNextの間にdr.EndEditが必要だと思います。「Me.bs.EndEdit()」の行がありますから、drを書き換えてからdr.EndEditを行わないとどういう状況になるかはご理解いただけると思います。
記事No.1652 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1742  Re[2]: データにBindingしているTextコントロールについて
□投稿者/ ゆき -(2007/03/05(Mon) 13:08:18)
    返信遅くなってしまいました、申し訳ありません。
    はつね様、アドバイスありがとうございます。

    > これ、クライアント側で実装するとクライアントの時刻依存で全クライアントの時刻を合わせておく必要とか、
    > だれか意図的に日時を変更して使うと嘘の日時が設定できてしまいますから、
    > クライアントで実装せずにSQL Serverのトリガーとかで実装して、サーバの時刻で一元化した方が良いかと思います。

    なるほど〜、おっしゃる通りですね。
    早速サーバー側で実装するよう改良したいと思います。

    > その問題をおいておくとして、このコードが意図したとおりに動くようにするためには、
    > End SelectとNextの間にdr.EndEditが必要だと思います。
    > 「Me.bs.EndEdit()」の行がありますから、drを書き換えてからdr.EndEditを行わないとどういう状況になるかは
    > ご理解いただけると思います。

    登録日付等の項目は、ユーザーに入力してもらう項目ではないので
    内部で値をセットするようにしたのですが、このような場合はdr.EndEditを使い
    変更を反映するということですね。勉強になりました。
記事No.1652 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1747  C#の日付リテラル
□投稿者/ aoa -(2007/03/05(Mon) 15:27:49)

    分類:[C# (Windows)] 

    基本的なことで申し訳ありませんが、
    VBで
    Dim d As Date = #3/5/2007#
    と同じことをC#で書くにはどうしたらよいでしょうか?

    調べても見つからなかったのですが、
    C#ではこのような書き方はなく
    DateTime d = new DateTime(2007,3,5);
    のように書く、ということですか?
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■1749  Re[1]: C#の日付リテラル
□投稿者/ 魔界の仮面弁士 -(2007/03/05(Mon) 15:45:19)
    No1747 (aoa さん) に返信
    > C#ではこのような書き方はなく

    VB は、言語仕様レベルで Date 型をサポートしますが(.NET では System.DateTime 構造体にマッピングされます)、
    C# の組み込み型には日付型が存在しません。ですから、日付リテラル自体もサポートされていないということで。

    ≪組み込み型の一覧表 (C#)≫
    http://msdn2.microsoft.com/ja-jp/library/ya5y69ds%28VS.80%29.aspx


    > DateTime d = new DateTime(2007,3,5);
    > のように書く、ということですか?
    ですます。
記事No.1747 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1752  Re[2]: C#の日付リテラル
□投稿者/ aoa -(2007/03/05(Mon) 15:52:19)
    分かりました。
    ありがとうございました!
記事No.1747 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1728  非同期コールバックについて
□投稿者/ Hirotow -(2007/03/04(Sun) 22:06:46)
>

    分類:[C# (Windows)] 

    次のようなコード

    // using ディレクティブ省略

    namespace Application
    {
    class DownloadItem
    {
    // フィールド・プロパティ宣言省略。

    /// <summary>
    /// ダウンロードを開始します。
    /// </summary>
    /// <param name="resume">リジュームを試行する場合は true、さもなければ false。</param>
    public void Start(bool resume)
    {
    //==============================
    // 状態更新
    //==============================
    MyState = DownloadState.Download;

    //==============================
    // 初期化
    //==============================
    MyTotalBytes = 0;
    MyRecievedBytes = 0;
    MyRecieveSpeed = 0;

    MyStopWatch.Reset();

    CallStatusChanged();

    //==============================
    // リクエスト生成
    //==============================
    try
    {
    MyRequest = (HttpWebRequest)WebRequest.Create(MyUrl);
    }
    catch
    {
    MyState = DownloadState.Failure;
    CallStatusChanged();

    return;
    }

    //==============================
    // リジュームフィールド追加
    //==============================
    if (resume)
    {
    FileInfo locinfo = new FileInfo(MyLocation);

    if (locinfo.Exists)
    {
    long length = locinfo.Length;
    if (length > 0)
    {
    MyRequest.AddRange((int)length);
    string etag = GetETag();
    if (etag != null)
    MyRequest.Headers.Add("If-Range", etag);
    }
    }
    }

    //==============================
    // 全般フィールド追加
    //==============================
    MyRequest.KeepAlive = false;
    MyRequest.Headers.Add("Pragma", "no-cache");
    MyRequest.Headers.Add("Cache-Control", "no-cache");

    //==============================
    // リクエスト送信
    //==============================
    MyRequest.BeginGetResponse(new AsyncCallback(GetResponseCallback), null);
    }

    private void GetResponseCallback(IAsyncResult ar)
    {
    MyResponse = null;

    //==============================
    // レスポンス取得
    //==============================
    try
    {
    MyResponse = (HttpWebResponse)MyRequest.EndGetResponse(ar);
    }
    catch
    {
    MyState = DownloadState.Failure;
    CallStatusChanged();

    return;
    }

    //==============================
    // エンティティタグ保存
    //==============================
    string etag = MyResponse.GetResponseHeader("ETag");
    if (!string.IsNullOrEmpty(etag))
    SetETag(etag);

    //==============================
    // ストリーム取得
    //==============================
    MyGetStream = MyResponse.GetResponseStream();
    MyOutStream = File.Open(MyLocation, FileMode.OpenOrCreate, FileAccess.Write);

    //==============================
    // 保存ストリームシーク処理
    //==============================
    long pos = 0;

    if (MyResponse.StatusCode == HttpStatusCode.PartialContent)
    {
    string crstr = MyResponse.GetResponseHeader("Content-Range");
    Match rm = Regex.Match(crstr, @"bytes\s+(?:(?<first>\d*)-(?<last>\d*)|\*)/(?:(?<len>\d+)|\*)");
    if (int.TryParse(rm.Groups["first"].Value, out pos))
    pos = first;
    else
    pos = 0;

    }

    MyOutStream.SetLength(pos);
    MyOutStream.Position = pos;

    //==============================
    // 全体バイト数取得
    //==============================
    MyTotalBytes = MyResponse.ContentLength;

    //==============================
    // 受信開始
    //==============================
    MyBuffer = new byte[4096];
    MyGetStream.BeginRead(MyBuffer, 0, MyBuffer.Length, new AsyncCallback(BeginReadCallBack), null);

    MyStopWatch.Start();
    }

    private void BeginReadCallBack(IAsyncResult result)
    {
    int len = MyGetStream.EndRead(result);

    //==============================
    // 受信終了
    //==============================
    if (len == 0 || MyCancelationPending)
    {
    MyCancelationPending = false;

    MyOutStream.Close();
    MyGetStream.Close();

    if (MyResponse.ContentLength > 1000000)
    MyState = DownloadState.Complete;
    else
    MyState = DownloadState.Failure;

    CallStatusChanged();

    return;
    }

    //==============================
    // 受信
    //==============================
    MyOutStream.Write(MyBuffer, 0, len);

    //==============================
    // 状態更新
    //==============================
    MyRecievedBytes += len;
    MyRecievedParcentage = (double)MyRecievedBytes / (double)MyTotalBytes;
    double ms = MyStopWatch.Elapsed.TotalSeconds;
    MyRecieveSpeed = (long)((double)len / (ms - MyLastRecieved));
    MyLastRecieved = ms;

    CallStatusChanged();
    }

    /// <summary>
    /// 保存されているエンティティタグからこのダウンロードに一致するものを取得します。
    /// </summary>
    /// <returns>一致したエンティティタグ、または null。</returns>
    private string GetETag() //省略

    /// <summary>
    /// 受信したエンティティタグを保存します。
    /// </summary>
    /// <param name="etag">エンティティタグ</param>
    /// <returns>エンティティタグが上書きされた場合は true、新規登録された場合は false。</returns>
    private bool SetETag(string etag) //省略

    /// <summary>
    /// ダウンロードを停止します。
    /// このメソッドの実行には数秒かかることがあります。
    /// </summary>
    /// <returns>現在ダウンロードが実行されていなければ true、さもなければ false。</returns>
    public bool Cancel()
    {
    if (MyState == DownloadState.Download)
    {
    if (MessageBox.Show(string.Format("{0} のダウンロードを停止しますか?", Title), "中断確認", MessageBoxButtons.YesNo) == DialogResult.No)
    return false;

    MyCancelationPending = true;
    while (MyState == DownloadState.Download) ;
    }

    CallStatusChanged();

    return true;
    }

    public bool StandBy()
    {
    if (Cancel())
    {
    MyState = DownloadState.StandBy;
    CallStatusChanged();
    }
    }

    public bool Suspend()
    {
    if (Cancel())
    {
    MyState = DownloadState.Suspend;
    CallStatusChanged();
    }
    }

    // 以下省略
    }
    }

    のCancel()メソッドが怖いのですが、安全かつ確実に処理を停止させるにはマルチスレッドで実行したほうがよいのでしょうか?
    どなたかご教授願います。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■1730  Re[1]: 非同期コールバックについて
□投稿者/ シャノン -(2007/03/05(Mon) 09:15:40)
    No1728 (Hirotow さん) に返信
    > Cancel()メソッドが怖いのですが、安全かつ確実に処理を停止させるにはマルチスレッドで実行したほうがよいのでしょうか?
    > どなたかご教授願います。

    怖いとはどのように?
記事No.1728 のレス /過去ログ10より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 >>

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

パスワード/

- Child Tree -