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 >>
■56335  Re[7]: 日付の表示をyyyy/mm/ddに戻したい
□投稿者/ shu -(2011/01/10(Mon) 22:33:19)
    No56333 (Azulean さん) に返信
    > ■No56332 (shu さん) に返信
    >>Label1.Text = dtTmp.ToString("yyyy/MM/dd") '<--- mmではない。
    >
    > "/" という文字も実行環境によって依存するはずです。
    > 書式指定子に "/" がある点をご確認ください。
    > http://msdn.microsoft.com/ja-jp/library/8kb3ddd4.aspx

    短い形式を変更するとそれに従ってしまうという事ですね。
    そうしたら 『/』 => 『\/』にした方が依存がなくなるということかな?
記事No.56327 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56341  Re[8]: 日付の表示をyyyy/mm/ddに戻したい
□投稿者/ 魔界の仮面弁士 -(2011/01/11(Tue) 11:06:29)
    No56335 (shu さん) に返信
    >>> Label1.Text = dtTmp.ToString("yyyy/MM/dd") '<--- mmではない。
    >>"/" という文字も実行環境によって依存するはずです。
    > そうしたら 『/』 => 『\/』にした方が依存がなくなるということかな?

    まだ不足です。この場合、引数にカルチャも含めておいた方が良いでしょう。

    そうしないと、OS の地域設定によって
     (西暦の)2011/01/11
     (日本/和暦の)23/01/11
     (韓国/檀紀の)4344/01/11
    といった揺れが生じる可能性があります。

    OS の地域設定で日付を和暦モードにして、アプリが正常に稼働するか確認しておくことをお奨めします。
記事No.56327 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56344  Re[9]: 日付の表示をyyyy/mm/ddに戻したい
□投稿者/ shu -(2011/01/11(Tue) 13:02:21)
    No56341 (魔界の仮面弁士 さん) に返信
    > ■No56335 (shu さん) に返信
    > >>> Label1.Text = dtTmp.ToString("yyyy/MM/dd") '<--- mmではない。
    > >>"/" という文字も実行環境によって依存するはずです。
    >>そうしたら 『/』 => 『\/』にした方が依存がなくなるということかな?
    >
    > まだ不足です。この場合、引数にカルチャも含めておいた方が良いでしょう。
    >
    > そうしないと、OS の地域設定によって
    >  (西暦の)2011/01/11
    >  (日本/和暦の)23/01/11
    >  (韓国/檀紀の)4344/01/11
    > といった揺れが生じる可能性があります。
    >
    > OS の地域設定で日付を和暦モードにして、アプリが正常に稼働するか確認しておくことをお奨めします。
    なるほど、そこまで考慮するといっそのこと
    String.Format("{0:0000}\/{1:00}\/{2:00}", dtTmp.Year, dtTmp.Month, dtTmp.Day)
    としてしまうのも1つの手かも?
記事No.56327 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56351  tabキー移動とリセットしたラジオボタンについて
□投稿者/ nagaポン -(2011/01/11(Tue) 16:48:25)

    分類:[VB.NET/VB2005 以降] 

    グループボックス内に複数のラジオボタンが設置してあり、ボックス外のリセットボタンで
    全てのラジオボタンのCheckedをFalseにすることで
    全てのラジオボタンのチェックをはずすようにしています

    リセットボタンを押す前はタブオーダーで設定したラジオボタンにタブが移動していたのですが
    リセットボタンを押した後のtabキー移動ではどのラジオボタンにもタブが移動しません

    リセットボタンを押した後もラジオボタンにTabキーでタブを移動させられるようにできないでしょうか
    よろしくお願いします
親記事 /過去ログ94より / 関連記事表示
削除チェック/

■56353  Re[1]: tabキー移動とリセットしたラジオボタンについて
□投稿者/ 魔界の仮面弁士 -(2011/01/11(Tue) 17:10:30)
    No56351 (nagaポン さん) に返信
    > リセットボタンを押した後もラジオボタンにTabキーでタブを移動させられるようにできないでしょうか

    Checked = False にした後、いずれかの(あるいはすべての)ラジオボタンの
    TabStop プロパティを True にしてみては如何でしょう。
記事No.56351 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56355  Re[2]: tabキー移動とリセットしたラジオボタンについて
□投稿者/ nagaポン -(2011/01/11(Tue) 17:25:44)
    No56353 (魔界の仮面弁士 さん) に返信
    返信ありがとうございます

    >>リセットボタンを押した後もラジオボタンにTabキーでタブを移動させられるようにできないでしょうか
    >
    > Checked = False にした後、いずれかの(あるいはすべての)ラジオボタンの
    > TabStop プロパティを True にしてみては如何でしょう。

    無事タブが移動してくるようになりました
    ありがとうございました
記事No.56351 のレス / END /過去ログ94より / 関連記事表示
削除チェック/

■56352  Re[1]: tabキー移動とリセットしたラジオボタンについて
□投稿者/ shu -(2011/01/11(Tue) 17:02:54)
    No56351 (nagaポン さん) に返信

    やりたいことと少し違いますが、ラジオボタンの状態がまったくなくなってしまうのは
    見た目分かりにくいので、状態不定を表すボタンを一個追加した方がよいかと思います。

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

■56354  Re[2]: tabキー移動とリセットしたラジオボタンについて
□投稿者/ nagaポン -(2011/01/11(Tue) 17:23:07)
    No56352 (shu さん) に返信
    返信ありがとうございます

    > やりたいことと少し違いますが、ラジオボタンの状態がまったくなくなってしまうのは
    > 見た目分かりにくいので、状態不定を表すボタンを一個追加した方がよいかと思います。

    最初はそうしようと思っていたのですが、形通りにしてくれと言われてしまい、断念していました
記事No.56351 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56336  ピクチャボックスへの再描画
□投稿者/ anny -(2011/01/11(Tue) 02:48:59)

    分類:[C#] 

    開発環境
    Windows 7
    Visual C# 2008

    いつもお世話になっております.

    ピクチャボックスの最初の状態を記憶しておく→そのピクチャボックスにマウスイベントで描画する
    →ボタンを押すと最初の状態に戻る

    という処理をしたいのですが,ボタンを押しても最初の状態に戻りません.
    以下の bmp=new Bitmap(pictureBox01.Image); という部分で初期状態を記憶しているつもりなのですが,実際にはできていない気がします.
    どうすればうまくいくでしょうか?

    以下ソースコードです.よろしくお願いします.
    grfxに対してマウスイベントで描画していますが,その部分は省いてあります.

    Bitmap bmp;
    public static Graphics grfx;
    protected void Orig_Load(object sender, EventArgs e)
    {
    pictureBox01.Image = new Bitmap(Screen.PrimaryScreen.WorkingArea.Width,Screen.PrimaryScreen.WorkingArea.Height);
    grfx = Graphics.FromImage(pictureBox1.Image) ;
    bmp=new Bitmap(pictureBox01.Image);
    }

    private void paint(Graphics g)
    {
    g.DrawImage(bmp, 0, 0);
    }

    private void button13_Click_1(object sender, EventArgs e)
    {
    this.paint(grfx);
    }

    private void pictureBox01_Paint(object sender, PaintEventArgs e)
    {
      this.paint(e.Graphics);
    }
親記事 /過去ログ94より / 関連記事表示
削除チェック/

■56337  Re[1]: ピクチャボックスへの再描画
□投稿者/ Azulean -(2011/01/11(Tue) 07:01:51)
    No56336 (anny さん) に返信
    > 以下ソースコードです.よろしくお願いします.
    > grfxに対してマウスイベントで描画していますが,その部分は省いてあります.

    とりあえず、このコードで感じた問題点を列挙しておきます。

    ・grfx が static になっていますが、static である必要はないのでは?

    ・ボタンを押したときも、pictureBox01 が再描画されるとき(Paint イベント)も、bmp で上書きしています。
     マウスイベントで pictureBox01 に対して Refresh したときも同じ場所を通っているはずですので、ブレークポイントで確認してください。
     (今の元に戻らない問題をなおしたときに、線が描けないバグになりますよ)

    ・Load イベントで作成した Bitmap は透明な状態です。
     透明な状態の Bitmap を上書きで DrawImage しても、やはり透明なので何も起きません。


    単純に内容を消したいだけなら、g.Clear(Color.Transparent) をした後に Refresh あたりで何とかなるかどうか。
    ある時点のバックアップにはなりませんが。
記事No.56336 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56338  Re[1]: ピクチャボックスへの再描画
□投稿者/ shu -(2011/01/11(Tue) 08:02:41)
    No56336 (anny さん) に返信

    > ピクチャボックスの最初の状態を記憶しておく
    最初とはどんな状態?

    >→そのピクチャボックスにマウスイベントで描画する
    何を描画する?


    ピクチャボックスに表示するImageが2つあってそれを切り替えるなら
    Image型のprivate変数を2つ用意してそれをImageプロパティにそれぞれの
    イベントにて設定すればいい気がする。
記事No.56336 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56361  Re[2]: ピクチャボックスへの再描画
□投稿者/ anny -(2011/01/11(Tue) 22:06:04)
    Azulean様,shu様,回答ありがとうございます.
    
    最初の状態という曖昧な表現をして申し訳ありません.
    あるBitmapが表示された状態を最初の状態と呼んでいます.
    
    頂いたアドバイスを元に書き直したところ,自分のやりたいように動かすことができました.
    
    
    初期状態で描画しておきたい図をBitmap型の変数に格納.
     Bitmap temp = new Bitmap(CurrentDir+"\\Image01.jpg");
    
    上書き用のBitmapも作成.
     Bitmap temp2 = new Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
     for (int x = 0; x < Screen.PrimaryScreen.WorkingArea.Width; x++)
      {
             for (int y = 0; y < Screen.PrimaryScreen.WorkingArea.Height; y++)
             {
                  temp2.SetPixel(x, y, Color.White);    //透明ではなく白に
             }
      }
    
    ボタンのクリックイベントで
     grfx.DrawImage(temp2, 0, 0);
      grfx.DrawImage(temp, 10, 10);
    
    としました.
    上書き用のBitmap作成部分ですべてのピクセルをWhiteに設定しているのですが,もう少しスマートにならないでしょうか?
記事No.56336 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56363  Re[3]: ピクチャボックスへの再描画
□投稿者/ shu -(2011/01/11(Tue) 22:27:09)
    No56361 (anny さん) に返信

    >
    > としました.
    > 上書き用のBitmap作成部分ですべてのピクセルをWhiteに設定しているのですが,もう少しスマートにならないでしょうか?
    Azuleanさんの返信内容にもありますがGraphicsにはClear(<Color>)というメソッドがあります。
    この場合
    grfx.Clear(Color.White);
記事No.56336 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56364  Re[4]: ピクチャボックスへの再描画
□投稿者/ anny -(2011/01/11(Tue) 22:41:25)
    Azulean様,shu様,再度回答ありがとうございます.

    >(私の先の投稿で存在を示唆していますが)Graphics.Clear のヘルプを読みましたか?

    ヘルプを読んだ時点では今回のケースとの関係性に気づけませんでしたが,お二人の今回のアドバイスでやっと繋がりました.
    非常に助かります.ありがとうございました.
記事No.56336 のレス / END /過去ログ94より / 関連記事表示
削除チェック/

■56362  Re[3]: ピクチャボックスへの再描画
□投稿者/ Azulean -(2011/01/11(Tue) 22:22:14)
    No56361 (anny さん) に返信
    > 上書き用のBitmap作成部分ですべてのピクセルをWhiteに設定しているのですが,もう少しスマートにならないでしょうか?

    (私の先の投稿で存在を示唆していますが)Graphics.Clear のヘルプを読みましたか?
記事No.56336 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56346  フォルダの作成とファイルの移動
□投稿者/ neika -(2011/01/11(Tue) 14:58:51)

    分類:[.NET 全般] 

    VB全くの初心者です。

    YYYYMMDD9999999+_p.csv の名前のファイルがあります。

    YYYMMDDHHMMSSYYYYMMDD9999999というファイル名の前に作成日時を付加したフォルダを作成し、
    そのフォルダ内に移動させたい。
    また、その後、作成したフォルダ内に
    YYYYMMDD9999999+_k.csv(0バイト) 
    YYYYMMDD9999999+_ng_im.csv(0バイト)
    YYYYMMDD9999999+_ng_it.csv(0バイト)
    のファイルを自動的に作成したい。(必ず計4つのファイルが1つのフォルダに存在するように)

    VB6.0 で作成したいと思います。
    よろしくお願いいたします。
親記事 /過去ログ94より / 関連記事表示
削除チェック/

■56348  Re[1]: フォルダの作成とファイルの移動
□投稿者/ 魔界の仮面弁士 -(2011/01/11(Tue) 15:49:29)
    No56346 (neika さん) に返信

    掲示板の利用規約には、
     『半角カナは使用しないでください。文字化けの原因になります。』
    と書かれていますよ。

    また、投稿時の分類に [.NET 全般] が選択されていますが、
    VB6 をお使いなのですから、[VB6 以前]を選択すべきだったかと。


    > VB6.0 で作成したいと思います。
    ここの掲示板トップにある、[C# と VB.NET 入門]のリンク先の
    「Visual Basic 6.0 (VB6)」サンプルが参考になるかと。


    > YYYYMMDD9999999+_p.csv の名前のファイルがあります。
    9999999 は固定値ですか? それとも連番か何か?


    > YYYMMDDHHMMSSYYYYMMDD9999999というファイル名の前に
    YYYYMMDD が 2 回ですか?


    > フォルダを作成し、
    MkDir ステートメント、もしくは CreateFolder メソッドを使います。
    http://jeanne.wankuma.com/tips/vb6/directory/create.html
    (上記 URL ではMkDir 関数と書かれていますが、実際にはステートメントです)
    http://homepage1.nifty.com/rucio/main/Samples/vbsample001.htm


    > そのフォルダ内に移動させたい。
    移動には Name ステートメントを使います。
    もしくは、MoveFolder / MoveFile メソッドでも OK です。
    http://jeanne.wankuma.com/tips/vb6/file/move.html
    http://jeanne.wankuma.com/tips/vb6/directory/move.html


    > また、その後、作成したフォルダ内に
    > YYYYMMDD9999999+_k.csv(0ハ゛イト) 
    > YYYYMMDD9999999+_ng_im.csv(0ハ゛イト)
    > YYYYMMDD9999999+_ng_it.csv(0ハ゛イト)
    > のファイルを自動的に作成したい。(必ず計4つのファイルが1つのフォルダに存在するように)
    空のファイルは、Open ステートメントで For Output を指定すれば作成できます。
    もしくは CreateTextFile メソッドで、第二引数(上書き指定)に True を指定すれば OK です。


    また、現在の年月日等を含んだ文字列を作りたい場合は、
     s = Format(Now, "yyyyMMdd")
     s = Format(Now, "yyyyMMddHHNNSS")
    などのように書けますし、既存の文字列を切り出したいなら Mid 関数を使う事ができます。
    http://jeanne.wankuma.com/tips/vb6/string/substring.html
    http://homepage1.nifty.com/rucio/main/Samples/vbsample021.htm
記事No.56346 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56356  Re[2]: フォルダの作成とファイルの移動
□投稿者/ neika -(2011/01/11(Tue) 17:39:47)
    No56348 (魔界の仮面弁士 さん) に返信
    > ■No56346 (neika さん) に返信
    >


    魔界の仮面弁士さん、早速の回答ありがとうございました。

    ファイルの移動、フォルダの作成は既存のVB(何かで使用していましたVB)を編集していけました。

    >>YYYYMMDD9999999+_p.csv の名前のファイルがあります。
    > 9999999 は固定値ですか? それとも連番か何か?

    YYYYMMDD9999999は固定値です。

    >>YYYYMMDD9999999+_k.csv(0ハ゛イト) 
    >>YYYYMMDD9999999+_ng_im.csv(0ハ゛イト)
    >>YYYYMMDD9999999+_ng_it.csv(0ハ゛イト)
    >>のファイルを自動的に作成したい。(必ず計4つのファイルが1つのフォルダに存在するように)
    > 空のファイルは、Open ステートメントで For Output を指定すれば作成できます。
    > もしくは CreateTextFile メソッドで、第二引数(上書き指定)に True を指定すれば OK です。

    何かサンプル的なものがあれば教えてください。

    ちなみに既存のVBです。できましたら下記のVBで一括でできると幸いです。
    わがままいいますが、よろしくお願いいたします。

    Dim FPath1, FPath2, FName
    Application.ScreenUpdating = False
    FPath1 = Range("A1").Value & "\"
    FName = Dir$(FPath1 & "*.*")
    Do While FName <> ""
    Select Case InStr(FName, "_")
    Case Is > 0
    FPath2 = Format(Now, "yyyyMMddHHNNSS") + Left(FName, 15)
    Case Else
    FPath2 = Format(Now, "yyyyMMddHHNNSS") + Left(FName, 15)
    End Select
    On Error Resume Next
    MkDir$ FPath1 & FPath2
    On Error GoTo 0
    FileCopy FPath1 & FName, FPath1 & FPath2 & "\" & FName
    Kill FPath1 & FName
    FName = Dir$
    Loop
    Application.ScreenUpdating = True
記事No.56346 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56357  Re[3]: フォルダの作成とファイルの移動
□投稿者/ 魔界の仮面弁士 -(2011/01/11(Tue) 18:14:46)
    ですから、半角カナは禁止なんですってば。(^_^;)

    No56356 (neika さん) に返信
    > ファイルの移動、フォルダの作成は既存のVB(何かで使用していましたVB)を編集していけました。
    提示されたコードを見る限り、これは VB6 ではなく、Excel VBA のようですね。
    VBA のまま実装したいのでしょうか。それとも VB6 に移植したいのでしょうか?

    > 何かサンフ゜ル的なものがあれば教えてください。
    提示されたキーワードをヘルプファイル(ランゲージ リファレンス)で調べると、
    使用例が掲載されていますので、それを手掛かりにしてみてください。

    それでも分からないようであれば、ヘルプ記載の内容のどの部分が分からないのかを
    書いてもらえれば、その部分について解説しますよ。


    > ちなみに既存のVBです。できましたら
    できると思いますよ。頑張ってみてください。

    提示された既存コードでは FileSystemObject が用いられておらず、
    従来のファイル入出力ステートメントおよび関数によるファイル処理が
    行われているようなので、それに準じた実装にした方が統一性がとれそうですね。


    > よろしくお願いいたします。
    折角なので、既存の Excel VBA コードにもツッコミを入れておきます。

    > Dim FPath1, FPath2, FName
    Dim FPath1 As String, FPath2 As String, FName As String
    のように、それぞれに型を明示した方が良いでしょう。

    > FPath1 = Range("A1").Value & "\"
    できれば、パスの末尾が "\" であるかどうかを検証した方が良いかと思います。
    たとえばルートディレクトリの場合、既に "\" が付いているのが普通ですし("C:\" のように)。

    > FName = Dir$(FPath1 & "*.*")
    第2引数を省略した場合には、不可視属性やシステム属性のついたファイルは列挙されないので、
    その点、注意が必要です。


    > Select Case InStr(FName, "_")
    > Case Is > 0
    > FPath2 = Format(Now, "yyyyMMddHHNNSS") + Left(FName, 15)
    > Case Else
    > FPath2 = Format(Now, "yyyyMMddHHNNSS") + Left(FName, 15)
    > End Select
    Case ブロックと Else ブロックの内容がまったく同一なので、
    これでは判定文の意味がありません。Select Case 〜 End Select まで、
     FPath2 = Format(Now, "yyyyMMddHHNNSS") & Left(FName, 15)
    というコードと同じ意味になってしまっていますよ。

    なお、文字列連結には(+ 演算子ではなく) & 演算子を使う事が推奨されています。


    > MkDir$ FPath1 & FPath2
    「MkDir ステートメント」が「MkDir$ ステートメント」になってしまっていますよ。
    一応、$ や # や % を付けてもコンパイルは通ってしまいますが、そのような記法は本来誤りです。
記事No.56346 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56369  Re[4]: フォルダの作成とファイルの移動
□投稿者/ shu -(2011/01/12(Wed) 07:53:44)
    No56357 (魔界の仮面弁士 さん) に返信
    > ですから、半角カナは禁止なんですってば。(^_^;)
    >
    もしかしたら半角カナが分からないのかも。
    ≫neikaさん、『バイト』『サンプル』が細い字で打たれてますがそのことですよ。 
記事No.56346 のレス /過去ログ94より / 関連記事表示
削除チェック/

<前の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 >>

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

パスワード/

- Child Tree -