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

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

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

全過去ログを検索

<< 0 >>
■2577  Re[2]: ASP.NETでのデータグリッド上のスクロールバー
□投稿者/ がるむ -(2006/02/17(Fri) 14:55:04)

    分類:[ASP.NET] 


    ありがとうございます。

    うまく思う通りにいきました。
記事No.2573 のレス / END /過去ログ3より / 関連記事表示
削除チェック/

■34641  Re[3]: VBで.movファイルを開かないで再生時間を取得したい
□投稿者/ Azulean -(2009/04/04(Sat) 11:01:24)
    No34615 (hs さん) に返信
    > つまり、動画ファイルをOpenせず、再生もさせることなく動画ファイルの再生時間を取得したいと考えています。
    > やはり無理なのでしょうか?

    対象のファイルを全く開かないとなると、その再生時間の情報を別ファイルに保存しておいて読み出すぐらいになりますね。
    ただ、同期が取れない等の問題を生む可能性が高いので、お薦めはしませんが…。

    独自の暗号化フォーマットであるならば、ファイルのヘッダー部分に動画ファイルの情報を埋め込んでおいて、一覧表示する際はそのヘッダーだけ読んで、復号しないで情報を得るぐらいはできそうですけど。
    この場合は、ファイル全体を復号する手間がないので、そこまで気にしなくても済むぐらいのスピードは維持できるのではないでしょうか。
記事No.34474 のレス /過去ログ60より / 関連記事表示
削除チェック/

■45952  Re[5]: Inset後にID取得
□投稿者/ みきぬ -(2010/01/22(Fri) 09:52:38)
    >>mdbファイルがこわれるので運用に耐えられないと思います。
    > とはどういことでしょうか??
    >

    この話よく聞くけど、ちゃんとした根拠は知らないんだよねえ。
    私も知りたい。


    ↓とりあえず探してみた。

    http://support.microsoft.com/kb/303528/ja

    「ネットワーク環境におけるその他の推奨事項」のところに、こういう記述があった。

    > Microsoft Jet は、高い負荷がかかるサーバー アプリケーション、多くのプロセスによって
    > 同時に使用されるサーバー アプリケーション、毎日 24 時間無停止で実行されるサーバー
    > アプリケーションでの使用は想定されていません。

    > インターネット インフォメーション サービス (IIS) のように高い負荷がかかるアプリケーションで
    > Microsoft Jet を使用すると、次のいずれかの問題が発生する可能性があります。
    > ・データベースの破損
    > ・IIS がクラッシュする、動かなくなるなどの安定性の問題
    > ・IIS サービスの再起動を必要とする、有効なデータベースへのドライバの突発的または恒久的な接続障害

    単に共有フォルダに置いて使うようなやり方については、特にダメとか非推奨とかいった資料は見つけられなかった。
    やり方は↓に載ってたけど。

    http://office.microsoft.com/ja-jp/access/HP051882881041.aspx?pid=CH062526671041
記事No.45814 のレス /過去ログ78より / 関連記事表示
削除チェック/

■47897  Re[4]: Graphicsを返すコード教えてください。。
□投稿者/ lavender -(2010/03/17(Wed) 16:21:05)
    No47872 (魔界の仮面弁士 さん) に返信
    魔界の仮面弁士さん、丁寧なご返信ありがとうございます!

    それだと文法エラーになるはずなので、実際は
    >  oj.Line (x, y)-(x + 10, y + 10)
    > ですよね? (VB6 の描画系メソッドは構文が特殊なので)
    >
    はい、ごめんなさい。2008で起動した時にVB5から2008へアップグレードが走って、それが自動で変えちゃったみたいです。

    >>に出来たらとっても楽ちんだな♪と安易に考えたのです。
    >>でも今のObjectタイプが何か判断してからGraphicsをインスタンス化しないとダメですよね??
    > その方向性では駄目だと思いますよ。
    > 呼び出される側だけではなく、呼び出し側にも手を加えてください。

    あぅぅ…ダメですか…。

    >
    > まず VB6 の場合、PictureBox/Form に対する描画処理は「Paint イベント」に記述することになっています。
    > このパターンで実装されたものに関しては、VB.NET でも『処理の流れ』は大して変わらないはずです。
    > VB.NET の場合も同様に、Paint イベントを使えば OK です。

    正しくはvb5で、Paintイベントは使用していません。

    > また、「Paint イベントは使わないし、AutoRedraw も False のまま」という場合は、
    >   Dim g As Graphics = PictureBox1.CreateGraphics()
    > で得た Graphics クラスに対して描画していくこともできます。

    AutoRedrawはFalseですから、そっか!
    CreateGraphicsで問題ないですね!あ〜目からうろこが落ちました。

    >
    >
    > 続いて「Printer オブジェクト」の場合。
    >
    > これについては、VB6 互換の Printer オブジェクトを使うという選択肢があります。
    > http://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.powerpacks.printing.compatibility.vb6.printer.aspx
    >

    当初はこれを利用しようと思いましたが、PictureBoxの描画処理とかなり違ってきますし、
    何よりこんぱちって互換のためだけに残されたオブジェクトですよね?いつかはなくなるんじゃないかと。。。
    そう思ってやめました。

    > もし、プリンタへの出力に対しても Graphics クラスを利用して描画したいのであれば、
    > No47752 で紹介された、PrintDocument クラスを使った処理方法を使う必要があります。
    > この場合は処理の流れが大きく変わるため、プログラム全体を見直す事になるかと。

    ささっと書いてみました。動作未確認ですけど、
    Public Class Form1
    Dim PictureBox1 As New PictureBox
    Dim oj As Object
    Dim Cnt As Integer
    Public Pic As PictureBox
    WithEvents Btn As Button
    WithEvents PrintDoc As Printing.PrintDocument

    Private Sub PBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PBtn.Click
    Cnt = IIf(Cnt >= 2, 0, Cnt + 1)
    SetObject()
    Make_Line(100, 100)
    If Cnt = 0 then PrintDoc.Print
    End Sub
    Private Sub SetObject()
    Select Case Cnt
    Case 0
    oj = PrintDoc
    Case 1
    oj = PictureBox1
    Case 2
    oj = Me
    End Select
    End Sub
    Private Sub Make_Line(ByVal X As Integer, ByVal Y As Integer)
    Dim G As Graphics = AutoG(oj)
    G.DrawLine(Pens.Black, 0, 0, X, Y)
    End Sub
    Public Function AutoG(ByVal Oj As Object) As Graphics
    If TypeOf Oj Is PictureBox Then
    Pic = Oj
    Pic.Size = Oj.size
    If Pic.Image Is Nothing Then Pic.Image = New Bitmap(Pic.Width, Pic.Height)
    ElseIf TypeOf Oj Is Form Then
    Dim Frm As Form = Oj
    Frm.BackgroundImage = New Bitmap(Frm.ClientRectangle.Width, Frm.ClientRectangle.Height)
    Return Graphics.FromImage(Frm.BackgroundImage)
    ElseIf TypeOf Oj Is Printing.PrintDocument Then
    Pic = New PictureBox
    Pic.Size = New Size(1169, 827) 'A4
    Pic.Image = New Bitmap(Pic.Size.Width, Pic.Size.Height)
    End If
    Return Graphics.FromImage(Pic.Image)
    End Function

    Private Sub PD_PrintPage(ByVal sender As Object, ByVal e As Printing.PrintPageEventArgs) Handles PrintDoc.PrintPage
    e.Graphics.DrawImage(Pic.Image, 0, 0)
    End Sub
    End Class

    あ、でもこれだとImage出力するからかなり荒くなってしまう問題がある。。。
    やっぱり無理か(>_<)
    どうしてもこの方法が諦めきれなくて、作りましたが別の方法をクライアントと相談してみます。。。
記事No.47744 のレス /過去ログ81より / 関連記事表示
削除チェック/

■52576  Re[1]: Listviewの複数選択状態について
□投稿者/ Azulean -(2010/08/15(Sun) 23:04:03)
    No52566 (らーめんまん さん) に返信
    掲示されているコードは、ロジックとして正しいのでしょうか?

    ・YKR の開始値 Ken と終了値 Saku はどういった数値を取り得るのでしょうか?
    ・SubItems に YKR を指定して比較しているのに、部分一致している場合は ListView1.Items に YKR を指定していますが、合っていますか?
     (一致する SubItems がある決まった値しかないのであれば、検索結果として選択されるのは常に決まったものになると予想されます)
    ・Selected = True にする対象はもしかして、Hzc では?
記事No.52566 のレス /過去ログ88より / 関連記事表示
削除チェック/

■68378  Re[3]: テキストボックスの文字をスクロールさせるには?
□投稿者/ 魔界の仮面弁士 -(2013/10/17(Thu) 14:35:04)
    No68375 (たいち さん) に返信
    > VBが全く分かりません。
    
    言語そのものは分からずとも、それ以外の部分について、たとえば
     ・Timer の使い方を把握しているか、あるいは全く分からないのか
     ・TextBox から先頭の文字を削りとる文字列操作をコーディングできるのか
     ・表示に Label を用いてみるのはどうか
     ・TextBox に ToolTip を使う代案が使えるかどうか
    といった点に対して言及するぐらいの事はできるのでは…?
    第一、ムドーさんの回答には、C# での説明も紹介されているのですし。(^_^;)
    
    
    とりあえず、先の MarqueeLabel を C# 版に翻訳してみました。
    
    
    using System;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Windows.Forms;
    
    public sealed class MarqueeLabel : Label
    {
        private IContainer components;
        private Timer timer;
        private float location = 0.0f;
    
        public MarqueeLabel()
        {
            base.UseCompatibleTextRendering = true;
            timer = new Timer(components = new Container());
            timer.Interval = 50;
            timer.Tick += delegate 
            {
                if (location > (float)Width)
                {
                    location = -(float)Width;
                }
                else
                {
                    location += speed / 10.0f;
                }
                Invalidate();
            };
            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
            SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            base.AutoSize = false;
            timer.Start();
        }
    
        [DefaultValue(false)]
        public override bool AutoSize
        {
            get { return base.AutoSize; }
            set { if (!DesignMode) base.AutoSize = value; }
        }
    
        /// <summary>流れるスピードを指定します。</summary>
        [Description("流れるスピードを指定します。")]
        [Category("Action"), DefaultValue(20.0f)]
        public float Speed
        {
            get { return Math.Max(0.0f, Math.Min((float)Width, speed)); }
            set
            {
                if (value < 0.0f)
                {
                    throw new ArgumentOutOfRangeException("Speed", value, "0以上の値を指定してください。");
                }
                speed = Math.Min((float)Width, value);
                if (value == 0.0f)
                {
                    timer.Stop();
                    if (DesignMode) ResetPosition();
                }
                else
                {
                    timer.Start();
                }
            }
        }
        private float speed = 20.0f;
    
        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.TranslateTransform(-location, 0.0f);
            base.OnPaint(e);
        }
    
        public void ResetPosition()
        {
            location = 0.0f;
            Invalidate();
        }
    
        [DebuggerNonUserCode]
        protected override void Dispose(bool disposing)
        {
            try
            {
                if (disposing && components != null) { components.Dispose(); }
            }
            finally
            {
                base.Dispose(disposing);
            }
        }
    }
記事No.68362 のレス /過去ログ116より / 関連記事表示
削除チェック/

■79657  Re[1]: フォームに該当するタブコントロールを使用したい
□投稿者/ C#初心者 -(2016/04/27(Wed) 01:28:24)
    No79656 (C#初心者 さん) に返信
    > 2016/04/27(Wed) 00:39:49 編集(投稿者)
    >
    > 初めまして
    > VisualC#2010Expressを利用して
    > C#によるプログラミングを行っていますが
    >
    > フォームに該当するタブコントロールを使用したいのですが
    > よく分かりません。
    > this.tabControl1.TabPages.Countを
    > frm.tabControl1.TabPages.Countにしても上手くいきません。
    >
    > どのようにすれば良いのでしょうか
    > 分かる方がいれば教えてください。
    >


    すいません、解決しました。
    > //// クラスのインスタンスを生成する。フォームをキャストすること。
    > Form frm = (Form)System.Activator.CreateInstance("コテスト.Form2");
    >
    > //全タブの全コントロールの値をCSV文字列にセット
    > //i:タブページ番号
    > for (int i = 1; i <= this.tabControl1.TabPages.Count; i++) //⇒ ここにインスタンスで作成したForm2のtabcontol1にしたい
    > {
    > Control ctrl = this.tabControl1.TabPages[i - 1];
    > }
    >
記事No.79656 のレス / END /過去ログ135より / 関連記事表示
削除チェック/

■85133  Re[1]: コミット中に無線切断
□投稿者/ ぶなっぷ -(2017/09/12(Tue) 12:48:24)
    コミットが成功せずに、トランザクションが消滅した場合は、常に
    ロールバック扱い。
    コミットが成功したということは、すでにDBに保存されていること
    が保証される。
    これは、データベースを名乗るために必須の事項。
    
    以下、トランザクション処理のWiki
    > トランザクション処理システムは、1つのトランザクション内の
    > 全操作がエラー無しに成功するか、全操作が実行されないことを
    > 保証する。
    
    これで、知りたいこと全てになるのかな?
    
記事No.85126 のレス /過去ログ145より / 関連記事表示
削除チェック/

■88104  Re[8]: C#でのwaveファイルの波形表示
□投稿者/ akaveco -(2018/08/02(Thu) 21:19:22)
    No88103 (魔界の仮面弁士 さん) に返信

    > 他のソフトで「正しい」波形を見た場合も、最初のデータは
    > 94,814 (0x1725E) 付近としてレンダリングされたということでしょうか?
    > 6,189,569 (0x5E7201) ではなく。

    他のソフトというのは、ただの音楽プレイヤーなので、おそらくデータの確認はできないと思います。

    > グラフに描くサンプル数(データの個数)は 8054 個でしょうか。
    > (再生時間としては 182.6 ミリ秒程度?)

    そうです。あってます。
    以下はデータを出力したものです。
    https://drive.google.com/file/d/1jQGRPR-jEBi0kYJlkTOKh4BmT_JnH4Kk/view?usp=sharing

    ちなみに元の音声ファイルはこれです。
    https://drive.google.com/file/d/11AbCl98GOLgzrQHbRKWIDFB8JFgd1caZ/view?usp=sharing

    > 試しに、ビッグエンディアンとして読み取ってみたら、どうなりますか?

    すみません。わからなくて…、どうやるんでしょう?
記事No.88011 のレス /過去ログ151より / 関連記事表示
削除チェック/

■88138  Re[9]: C#でのwaveファイルの波形表示
□投稿者/ 魔界の仮面弁士 -(2018/08/04(Sat) 00:54:26)
    No88104 (akaveco さん) に返信
    > data4[3] = (byte)((data[n + 2] > 0xF) ? 0xff : 0x00);
    
    原因判明!!
    投稿時に盛大な転記ミスしてました。ごめんなさい。
    
    正しくは
     data4[3] = (byte)((data[n + 2] > 0x7F) ? 0xff : 0x00);
    ですね…。
    
    
    > 以下はデータを出力したものです。
    > https://drive.google.com/file/d/1jQGRPR-jEBi0kYJlkTOKh4BmT_JnH4Kk/view?usp=sharing
    > 73
    > value : FF2B68DF
    > 74
    > value : FF7FFFFF
    > 75
    > value : FF52600D
    
    ということで、符号処理でミスってました。申し訳ない。
    3〜4文字目が 80〜FF の時は、1〜2 文字目が FF になり、
    3〜4文字目が 00〜7F の時は、1〜2 文字目が 00 でなければなりません。
    
    …ということで、上記は、
    #73 が 0x002B68DF
    #74 が 0x007FFFFF
    #75 が 0x0052600D
    となるべきでした。#74 は24bit整数の最大値を指していますね。
    
    
    
    > 他のソフトというのは、ただの音楽プレイヤーなので、おそらくデータの確認はできないと思います。
    
    私自身も、Wave フォーマットに詳しいわけではないので、
    ひとまず Sazanami というソフトをインストールして確認してみました。
    
    下図は、最初から 90 サンプル(2.041ミリ秒弱)までを拡大表示してみたところです。
    74 番目のサンプルが、最大値(1.0)を指していることがわかります。
    
    http://www.vb-user.net/junk/replySamples/2018.08.04.00.51/90.png
    
    
    前後の値も、最大値に対する割合で算出してみると、
    
    #73 は 0x2B68DF で 0.3391379522249642 相当
    #74 は 0x7FFFFF で 1.0000000000000000 相当
    #75 は 0x52600D で 0.6435563139386551 相当
    
    …ということになり、上記波形図と合致しますね。
    
    
    > 0
    > value : 1725E
    0x1725E ÷ 0x7FFFFF = 94814 ÷ 8388607 ≒ 0.0113027109268559
    
    波形の #0 も 0.113 付近だったので、大きくズレてはいなさそう。
    http://www.vb-user.net/junk/replySamples/2018.08.04.00.51/0.png
    
    
    
    次に確認するべきは負数領域。
    これは冒頭の #1〜#3 のサンプルが使えます。
    
    > 1
    > value : FFFEA120
    > 2
    > value : FFFA2DA9
    > 3
    > value : FFFF2443
    
    #1 は 0xFFFEA120 =  -89824 で、約 -0.0107
    #2 は 0xFFFA2DA9 = -381527 で、約 -0.0455
    #3 は 0xFFFF2443 =  -56253 で、約 -0.0067
    
    これも正しいようです。
    http://www.vb-user.net/junk/replySamples/2018.08.04.00.51/1_3.png
    http://www.vb-user.net/junk/replySamples/2018.08.04.00.51/2.png
記事No.88011 のレス /過去ログ151より / 関連記事表示
削除チェック/

■101186  Re[8]: タスクトレイ常駐アプリにおいて多重起動を禁止しアクティブ化
□投稿者/ KT -(2023/01/16(Mon) 23:57:20)
    ↑編集かけたら連投になってしまいました。
記事No.101173 のレス /過去ログ176より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -