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 >>
■57064  クリスタルレポートでの帳票作成について
□投稿者/ こんぽ -(2011/02/10(Thu) 15:41:47)

    分類:[C#] 

    現在、Microsoft Visual C# 2008+Crystal Reports Basic for Visual Studio 2008で
    Windowsアプリの開発をしております。

    事前に以下のようなレポートを作成し、アプリから印刷処理を行うと
    出力フィールドのデータが少ない時は、正常に出力されますが
    出力フィールドのデータが多い時(ページをまたいだ場合)に、最終ページの線オブジェクトが
    レポートフッターを突き抜けて、ページフッターの
    開始位置まで拡張されて困っております。

    何か、確認する点や回避する方法など、ありますでしょうか。

    ○帳票レイアウト

    ページヘッダーa:           <帳票タイトル>
    ページヘッダーb:省略
    詳細a     :---------------------------------------------------------------
    (続き)    :|質問1           |質問2             |
    詳細b     :---------------------------------------------------------------
    (続き)    :|回答1           |回答2             |
    レポートフッター:---------------------------------------------------------------
    ページフッター :            <ページ数(N/M)>

    ※質問1,2、回答1,2は出力フィールドです。

    ○オブジェクトの設定情報
     質問1:複数行に出力
     質問2:複数行に出力
     回答1:複数行に出力
     回答2:複数行に出力

     詳細a、詳細bの縦線オブジェクト:出力時にセクションの下部まで
親記事 /過去ログ96より / 関連記事表示
削除チェック/

■57108  Re[4]: クリスタルレポートでの帳票作成について
□投稿者/ こんぽ -(2011/02/14(Mon) 11:24:22)
    shu様

    ご返信ありがとうございます。
    帳票レイアウトを以下の様に修正して確認しました。


    ○帳票レイアウト

    ページヘッダーa:           <帳票タイトル>
    ページヘッダーb:省略
    詳細a       :---------------------------------------------------------------
    (続き)      :|質問1           |質問2             |
    詳細b       :---------------------------------------------------------------
    (続き)      :|回答1           |回答2             |
    レポートフッター :            <テスト文字列1>
    (続き)      :---------------------------------------------------------------
    (続き)      :            <テスト文字列2>
    ページフッター  :            <ページ数(N/M)>

    結果
     出力イメージ
     
     (前半は省略。以下最終行)
      −−−−−−−−−−−−−−−−
     |回答1    |回答2         |
     |     テスト|文字列1        |
      −−−−−−|−−−−−−−−−
     |     テスト|文字列2        |
     |        |             |
     |        |             |
         <ページ数(N/M)>


    ※申し訳ありません。線の多少のズレはつながっているものとして下さい。
記事No.57064 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57109  Re[5]: クリスタルレポートでの帳票作成について
□投稿者/ shu -(2011/02/14(Mon) 12:44:27)
    No57108 (こんぽ さん) に返信
    > shu様
    >
    > ご返信ありがとうございます。
    > 帳票レイアウトを以下の様に修正して確認しました。
    >
    >
    > ○帳票レイアウト
    >
    > ページヘッダーa:           <帳票タイトル>
    > ページヘッダーb:省略
    > 詳細a       :---------------------------------------------------------------
    > (続き)      :|質問1           |質問2             |
    > 詳細b       :---------------------------------------------------------------
    > (続き)      :|回答1           |回答2             |
    > レポートフッター :            <テスト文字列1>
    > (続き)      :---------------------------------------------------------------
    > (続き)      :            <テスト文字列2>
    > ページフッター  :            <ページ数(N/M)>
    >
    > 結果
    >  出力イメージ
    >  
    >  (前半は省略。以下最終行)
    >   −−−−−−−−−−−−−−−−
    >  |回答1    |回答2         |
    >  |     テスト|文字列1        |
    >   −−−−−−|−−−−−−−−−
    >  |     テスト|文字列2        |
    >  |        |             |
    >  |        |             |
    >      <ページ数(N/M)>
    >

    確かにレポートフッタより下に印刷されているようですね。
    そうなるとCrystalReportのバグっぽいのでパッチとか出てませんか?

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

■57113  Re[8]: クリスタルレポートでの帳票作成について
□投稿者/ こんぽ -(2011/02/14(Mon) 14:27:53)
    No57111 (shu さん) に返信

    > もしレポートフッタだけの不具合ならグループを作ってグループフッタまでの線にしてみるとかはどうでしょう?

    なるほどと思ったんですが、ダメでした。
    事象変わらずです。

    ちなみに以下の様に修正しました。

    ページヘッダーa :           <帳票タイトル>
    ページヘッダーb :省略
    グループヘッダー:
    詳細a       :------------------------------------------
    (続き)      :|質問1           |質問2             |
    詳細b       :------------------------------------------
    (続き)      :|回答1           |回答2             |
    グループフッター:------------------------------------------
    レポートフッター :
    (続き)      :            <テスト文字列2>
    ページフッター  :            <ページ数(N/M)>

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

■57115  Re[9]: クリスタルレポートでの帳票作成について
□投稿者/ こんぽ -(2011/02/15(Tue) 11:12:20)
    自己解決しました。

    結論から申しますと、shu様に頂いたアドバイス
    を元に以下のようなレポートを作成したところ線オブジェクトが
    レポートフッターを突き抜けてしまう現象が回避できました。

    ↓以下帳票

    ページヘッダーa :           <帳票タイトル>
    ページヘッダーb :省略
    グループヘッダー:|                |                  |
    詳細a        :|------------------|-------------------|
    (続き)       :|                |                  |
    (続き)       :|質問1           |質問2             |
    詳細b         :|------------------|-------------------|
    (続き)       :|回答1          |回答2              |
    グループフッター :|               |                   |
    (続き)       : ----------------------------------------
    レポートフッター :
    ページフッター   :          <ページ数(N/M)>

    以前までは詳細a、詳細bに三本ずつ、縦の線オブジェクトを配置してましたが
    修正後はグループヘッダーからグループフッダーまでの
    1本のラインオブジェクト三本配置するように変更しました。

    なんであのような動作になってしまうのかは分からないままですが、
    ひとまず問題の事象が回避できましたので解決済みに致します。

    じゃんぬねっと様、shu様、ありがとうございました。


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

■56917  Visual Basicでのwmpの一時停止
□投稿者/ star01 -(2011/02/04(Fri) 17:24:51)

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

    Visual Basic2008でWindowsMediaPlayerを使って動画を再生する時に、動画の最後で一時停止させたいのですが、うまくいきません。
    以下のようにplayer.playStateを使って一時停止しようとしてますが、最後で一時停止せず、動画が終わってしまいます。

    ----------コード-------------
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    If AxWindowsMediaPlayer1.playState = 8 Then
    AxWindowsMediaPlayer1.Ctlcontrols.pause()
    End If
    -----------------------------

    他にどのような方法があるのでしょうか?

    どのようなコードを書けば良いかを教えていただければ幸いです。
    よろしくお願いします。

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

■57269  DataGridViewの初期表示行位置について
□投稿者/ kome -(2011/02/20(Sun) 04:28:57)

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

    VB2008 Express Edition

    お世話になります。

    DataGridViewにデータバインドさせているDataViewを
    複数カラムでソートさせています。

    ソースは下記です。

    Public Sub test()

    Dim dt As DataTable
    Dim dr As DataRow

    dt = New DataTable()
    dt.Columns.Add("a", GetType(String))
    dt.Columns.Add("b", GetType(String))
    dt.Columns.Add("c", GetType(String))
    dt.Columns.Add("d", GetType(String))

    ****** DataTableにデータを入れる処理 *******

    Dim dv As DataView
    dv = New DataView(dt)

    DataGridView1.DataSource = dv

    'ソート処理
    LetSort()

    '試してみた処理
    DataGridView1.FirstDisplayedScrollingRowIndex = 0
    End Sub


    Private Sub LetSort()

    'DataGridView1のソート
    Dim dv As DataView
    dv = DataGridView1.DataSource

    dv.Sort = "a ASC, c DESC"

    End Sub


    このとき処理結果は(以下はDataGridViewでの表示結果とお考え下さい)

    ----------------
    a |b |c |d ←1行目はヘッダー
    |あ|22:00 | ←2行目のカラム「b」に値がある状態
    | |21:00 |
    ●| |20:00 |
    ■| |19:00 |

    上記結果の2行目(カラム「b」に値がある行)が初期表示でスクロールされ
    3行目からの表示となっています。これをきちんと2行目から表示されるよう
    修正したいのですが方法がわかりません。
    FirstDisplayedScrollingRowIndexプロパティを使ってインデックス0を初期
    表示にしようとしましたが結果は変わりません。

    つたない説明で申し訳ありませんが、どなたかアドバイス頂けないでしょうか?
親記事 /過去ログ96より / 関連記事表示
削除チェック/

■57368  インストーラの必須コンポーネント
□投稿者/ たけ -(2011/02/24(Thu) 11:58:06)

    分類:[インストーラ全般] 

    たけです。

    VS2008を使って、.netFramework2.0を対象のフレームワークとしてプログラムを作成しました。
    これをインストールするためのセットアッププロジェクトを作成しようとしているところです。

    必須コンポーネントの設定を行い、
    .netFramework2.0にチェックを入れてインストーラを作成しインストールを行ったところ、
    .netFramework2.0は期待通りにインストールされましたが、
    その後下記のような文言が表示され、私の作成したプログラムのインストールが始まりません。

    ---------------------------------------------------------------------
    このセットアップは.NETFrameworkバージョン3.5を必要とします。
    Frameworkをインストールして、このセットアップをやり直してください。
    .NETFrameworkはWebから取得できます。今すぐ取得しますか?
    ---------------------------------------------------------------------

    文言の受け取り方として、インストーラ自体を使うのに.NETFramework3.5が必要とも受け取れるのですが、
    VS2008のセットアッププロジェクトで作成したインストーラを使うために.NETFramework3.5が必ず必要ということでしょうか。
    .netFramework2.0のみで、.netFrameworkとプログラムを一度にインストールできないのでしょうか?

    ちなみに、.NETFramework3.5とWindowsInstaller3.1を必須コンポーネントとして設定し、インストーラを作成してセットアップをおこなってみましたが、.NETFramework3.5とWindowsInstaller3.1のセットアップが終わった後に
    「Program.msiが見つかりません」というエラーが発生してしまいます。

    とにかく、OS以外何も入っていないPCがインターネットにつながっていない状態でも、
    インストールしてプログラムを使えるようにしたいのです。

    いくつも質問してしまって申し訳ないですが、アドバイスをください。
親記事 /過去ログ96より / 関連記事表示
削除チェック/

■57370  Re[1]: インストーラの必須コンポーネント
□投稿者/ とっちゃん -(2011/02/24(Thu) 14:31:10)
>
    No57368 (たけ さん) に返信
    > 必須コンポーネントの設定を行い、
    > .netFramework2.0にチェックを入れてインストーラを作成しインストールを行ったところ、
    > .netFramework2.0は期待通りにインストールされましたが、
    > その後下記のような文言が表示され、私の作成したプログラムのインストールが始まりません。
    >
    > ---------------------------------------------------------------------
    > このセットアップは.NETFrameworkバージョン3.5を必要とします。
    > Frameworkをインストールして、このセットアップをやり直してください。
    > .NETFrameworkはWebから取得できます。今すぐ取得しますか?
    > ---------------------------------------------------------------------
    >
    セットアッププロジェクトの設定には、アプリのような.NET Framework を利用するか?の設定がありません。
    手元に.NET Framework を利用するアプリのインストーラの設定がないので
    ちょっと覚えてないんですが、起動条件に .NET Framework のバージョンを設定する箇所があったと
    記憶しています。

    その部分がデフォルトでは、3.5になるので、VS上で2.0に設定を変更してやれば
    正しい認識でインストーラが作れます。


    > 文言の受け取り方として、インストーラ自体を使うのに.NETFramework3.5が必要とも受け取れるのですが、
    > VS2008のセットアッププロジェクトで作成したインストーラを使うために.NETFramework3.5が必ず必要ということでしょうか。
    > .netFramework2.0のみで、.netFrameworkとプログラムを一度にインストールできないのでしょうか?
    >
    > ちなみに、.NETFramework3.5とWindowsInstaller3.1を必須コンポーネントとして設定し、インストーラを作成してセットアップをおこなってみましたが、.NETFramework3.5とWindowsInstaller3.1のセットアップが終わった後に
    > 「Program.msiが見つかりません」というエラーが発生してしまいます。
    >
    > とにかく、OS以外何も入っていないPCがインターネットにつながっていない状態でも、
    > インストールしてプログラムを使えるようにしたいのです。
    >
    こちらは、setup.exeだけしかコピーせずにインストールしようとしていませんか?

    必須コンポーネントはビルド時にアプリケーションと同じ場所からダウンロードするにしておくと
    出力先に setup.exe や *.msi と一緒に用意されます。

    このsetup.exe の位置から相対的に変わらない場所にすべてのファイルがあればインストールが
    できるようになっています。
記事No.57368 のレス /過去ログ96より / 関連記事表示
削除チェック/

■56888  Re[1]: VBで線画が上手くいきません
□投稿者/ 南場智子 -(2011/02/03(Thu) 20:08:05)
    にゃお〜。
    はじめまして!!^_^ok/
    VB2010でよければ。どうぞ。はい。

    Option Strict On
    Option Explicit On

    'VisualBasic2010(無料版)
    '<<title>>お絵かき..Mini<</title>
    '1__form1配置>pictureBox1,button1,button2
    '2__すべてのコードを消してから、このコードのコピーを貼る
    '1番2番の手順を間違えないように。
    '説明>>
    'クリックすると描画できます。もう1度クリックすると描画できません。
    'Colorボタンで11色を選べます
    'Sizeボタンで描画する点の大きさを変更できます
    '最大描画数は3千個にしてありますが、増やせます。
    '書き込まれたデータの抽出方法は今回はありません。(よく考えれば作れますよ)
    'とりあえず2010(無料版)上ではバグは無いはずです。<バグ=エラー>

    Public Class Form1

    '入力データ格納配列
    Const max_suu As Integer = 3000 '-----------------------|(最大描画点の数)
    Dim Point_x(max_suu - 1) As Integer ' (横位置
    Dim Point_y(max_suu - 1) As Integer ' (縦位置
    Dim Color_(max_suu - 1) As Integer '入力データ用配列 (色
    Dim Size_(max_suu - 1) As Integer ' (大きさ
    Dim Counter_ As Integer = 0 '---------------------------|

    Dim MouseClick_flag As Boolean = False 'true=描画Ok___false=描画不可
    Dim byouga_msg As String = "描画不可..."
    Dim Color_Ch As Integer = 0 '現在の指定色
    Dim Size_Ch As Integer = 10 '現在の点の大きさ(最低の大きさ=3に設定)

    Const my_color_suu As Integer = 11 '11種類の色
    Dim my_ColorP(my_color_suu - 1) As Brush 'my_ColorPを宣言

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    data_clear()
    Start_P()
    my_color()
    End Sub

    Sub data_clear() '入力データオールリセット
    For i = 0 To max_suu - 1
    Point_x(i) = -1
    Point_y(i) = -1
    Color_(i) = 0
    Size_(i) = 0
    Next
    Counter_ = 0
    End Sub

    Sub Start_P() 'コントロールプロパティ
    With Me
    .FormBorderStyle = Windows.Forms.FormBorderStyle.FixedToolWindow
    .Location = New Point(300, 100)
    .Size = New Size(700, 500)
    .BackColor = Color.Gray
    End With
    me_text()
    With PictureBox1
    .Size = New Size(600, 400)
    .BackColor = Color.Black
    .Location = New Point(50, 50)
    ' .BackgroundImage = My.Resources.gifu(背景画像を入れれば、下絵を見ながらお絵かきできる
    End With
    With Button1
    .Size = New Size(80, 20)
    .Location = New Point(30, 20)
    .Text = "Colorチェンジ"
    End With
    With Button2
    .Size = New Size(80, 20)
    .Location = New Point(150, 20)
    .Text = "Sizeチェンジ"
    End With
    End Sub

    Sub my_color() '使用する色_ARGBは格納情報量が多いので使用しない
    my_ColorP(0) = Brushes.Blue
    my_ColorP(1) = Brushes.Red
    my_ColorP(2) = Brushes.Yellow
    my_ColorP(3) = Brushes.Green
    my_ColorP(4) = Brushes.White
    my_ColorP(5) = Brushes.Purple
    my_ColorP(6) = Brushes.Aqua
    my_ColorP(7) = Brushes.Pink
    my_ColorP(8) = Brushes.DarkGray
    my_ColorP(9) = Brushes.Orange
    my_ColorP(10) = Brushes.Black
    End Sub

    Sub me_text() 'フォーム1のテキスト
    Me.Text = byouga_msg & "Color=" & Color_Ch & "...Size=" & Size_Ch
    End Sub

    Sub pic_color(ByVal g As Graphics) '現在の指定色を表示
    g.FillRectangle(my_ColorP(Color_Ch), 0, 0, 600, 10)
    End Sub

    Sub pic_data(ByVal g As Graphics) '配列格納データを参照してピクチャーボックスに表示する
    For i = 0 To max_suu - 1
    g.FillEllipse(my_ColorP(Color_(i)), Point_x(i), Point_y(i), Size_(i), Size_(i))
    Next
    End Sub


    Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick
    'ピクチャーボックス1マウスクリックイベントハンドラ(描画できるかどうかの処理)
    If MouseClick_flag = True Then
    MouseClick_flag = False : byouga_msg = "描画不可..."
    Else
    MouseClick_flag = True : byouga_msg = "描画OK..."
    End If
    me_text()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'ボタン1クリックイベントハンドラ(色変更処理)
    Color_Ch += 1 : If Color_Ch = 11 Then Color_Ch = 0
    me_text()
    PictureBox1.Invalidate()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    'ボタン2クリックイベントハンドラ(点の大きさ変更処理)
    Size_Ch += 1 : If Size_Ch = 51 Then Size_Ch = 10
    me_text()
    End Sub

    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    'ピクチャーボックス1ペイントイベントハンドラ
    Dim p_g As Graphics = e.Graphics
    p_g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias '描画を綺麗にする
    pic_data(p_g) 'データ内容通り表示
    pic_color(p_g) '色バーを表示
    End Sub

    Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
    If MouseClick_flag = False Then Exit Sub
    Dim x As Integer = e.X : Dim y As Integer = e.Y
    x -= CInt(Size_Ch / 2) : y -= CInt(Size_Ch / 2) 'マウスの中心値を計算処理する
    Point_x(Counter_) = x '横位置データを格納
    Point_y(Counter_) = y '縦位置データを格納
    Color_(Counter_) = Color_Ch '色を格納
    Size_(Counter_) = Size_Ch 'サイズを格納
    Counter_ += 1 '配列のカウントを1つ増やす
    If Counter_ = max_suu Then '_________描画最大数をオーバーした時の処理
    Counter_ -= 2 : MsgBox("これ以上描画できません")
    MouseClick_flag = False : byouga_msg = "描画不可..."
    me_text()
    End If
    PictureBox1.Invalidate() 'ピクチャ-イベントを発生させる
    End Sub

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

■56889  Re[2]: VBで線画が上手くいきません
□投稿者/ shu -(2011/02/03(Thu) 21:40:58)
    No56888 (南場智子 さん) に返信


    > Const max_suu As Integer = 3000 '-----------------------|(最大描画点の数)
    > Dim Point_x(max_suu - 1) As Integer ' (横位置
    > Dim Point_y(max_suu - 1) As Integer ' (縦位置
    > Dim Color_(max_suu - 1) As Integer '入力データ用配列 (色
    > Dim Size_(max_suu - 1) As Integer ' (大きさ
    > Dim Counter_ As Integer = 0 '---------------------------|
    >
    > Dim MouseClick_flag As Boolean = False 'true=描画Ok___false=描画不可
    > Dim byouga_msg As String = "描画不可..."
    > Dim Color_Ch As Integer = 0 '現在の指定色
    > Dim Size_Ch As Integer = 10 '現在の点の大きさ(最低の大きさ=3に設定)
    >
    > Const my_color_suu As Integer = 11 '11種類の色
    > Dim my_ColorP(my_color_suu - 1) As Brush 'my_ColorPを宣言


    この辺は全部Dimや省略ではなくPrivateとした方が分かりやすいです。
記事No.56769 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57446  InnerTextによるXMLノードの取得
□投稿者/ 上条 -(2011/02/27(Sun) 20:16:56)

    分類:[C#] 

    あるXMLのノード間にあるテキストを取得するため.InnerTextを使いました。
    しかし、改行コードを含んだテキストを.InnerTextを用いて取得しようとすると
    テキストの取得が出来ず応答が停止してしまいます。
    この場合ノード間にあるテキストを改行したままの状態で取得するのは.InnerTextでは無理なのでしょうか?

    ---------------------------------XMLの一部
    <chat thread="1074179716" no="1" vpos="7702">これは通常のテキストです</chat>
    ↑この場合は.InnerTextで正常に取得出来ます。

    ↓こうなると取得出来なくなります。
    <chat thread="1074179716" no="2" vpos="29852">このテキストは
    改行文字を含んでいるようです</chat>

    ---------------------------------ソースの一部
    xml = xml.Replace('\0', '\n');
    string[] lines = xml.Split('\n');
    foreach (string line in lines)
    {
    if (line.StartsWith("<chat") && line.EndsWith("</chat>"))
    {
    string come = "";
    xdoc = new XmlDocument();
    xdoc.PreserveWhitespace = true;
    xdoc.LoadXml(line);
    come = xdoc.InnerText;
                this.dataGridView1.Rows.Add(come);
    }
    }

    開発環境:VS2010 Express C#
親記事 /過去ログ96より / 関連記事表示
削除チェック/

■57450  Re[2]: InnerTextによるXMLノードの取得
□投稿者/ 上条 -(2011/02/27(Sun) 22:35:59)
    > 「応答が停止」というのは、以下のいずれの状態でしょうか?
    > 
    > (3) エラーは発生しないが、テキストの取得が行われない。
    > →ステップ実行で、そのコードが実行されていることを確認してあるか?
    
    説明不足でした。
    現在の状況は(3)の状態です。
    ステップインでエラーが発生しなかったので
    ご指摘のとおりのSplitの部分がおかしい事に気付きました。
    
    >改行単位での Split を行っている点
    XMLのノードの並びが1行ずつだったのでつい...。
    
    となると、今回の場合1行単位ではなく<chat></chat>単位で区切ることになるのですが
    どうやって分けたら良いでしょうか?(,はありませんし...)
    
    ちなみにこんなXMLです
    ----------------------------------
    <thread resultcode="0" thread="1074256157" />
    <chat thread="1074256157" no="1" vpos="4370">1番目</chat>
    <chat thread="1074256157" no="2" vpos="6917">2番目</chat>
    <chat thread="1074256157" no="3" vpos="26877">3番目</chat>
    <chat thread="1074256157" no="4" vpos="30771">4番目</chat>
    ...
記事No.57446 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57468  Re[6]: InnerTextによるXMLノードの取得
□投稿者/ 上条 -(2011/02/28(Mon) 18:36:03)
    > 私の提示したのはSplitを使っていませんよ。送られてきたXMLをSplitしないで
    > Srcの代わりに処理するようにしてみて下さい。XMLがタグの区切りで終わっていれば
    > 何行あっても同時に処理出来るかと思います。
    
    やってみましたが何も表示されなかったため
    xml = xml.Replace('\0', '\n');の後にshuさんのコードを記述しました。
    すると途中まで同じテキストを表示し
    改行コードを含んだテキストは表示されずに処理が続行されました。
    
    ------------------------------------------
    Datagridviewで以下のような表示になる
    
    1番目
    1番目
    1番目
    1番目
    1番目
    1番目
    7番目
    8番目
    10番目(改行コードを含む9番目は表示されず10番目からの表示となる)
    
    ------------------------------------ソース
    while (true)
                {
                    byte[] resBytes = new byte[MAX_RECEIVE_SIZE];
                    int resSize = sock.Receive(resBytes, resBytes.Length, System.Net.Sockets.SocketFlags.None);
    
                    if (resSize == 0)
                    {
                        return;
                    }
                    xml = prev + Encoding.UTF8.GetString(resBytes, 0, resSize);
                    
                    xml = xml.Replace('\0', '\n');←これが無いと何も表示されない
                    string come2 = "";
                    var xdoc1 = new XmlDocument();
                    xdoc1.LoadXml(String.Format("<root>{0}</root>", xml));
               
                    foreach (XmlNode ndtmp in xdoc1.ChildNodes)
                    {
                        foreach (XmlNode nd in ndtmp.ChildNodes)
                        {
                            var attr = nd.Attributes;
                            if (nd.Name == "chat")
                            {
                                come2 = String.Format(nd.InnerText);
                            }
                        }
                    }
                    this.dataGridView1.Rows.Add(come2);
                    //これより下にbreak;はありますが省略しています
                }
記事No.57446 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57477  Re[9]: InnerTextによるXMLノードの取得
□投稿者/ 上条 -(2011/03/01(Tue) 05:34:24)
    □投稿者/ shu さんへ
    
    
    前回のヒントで改行コードを含んだテキストをノード間より取得できるようになりました。
    ありがとうございます。
    ただ問題としてchatの属性値であるnoの値が取得出来なくなりました。
    現状を維持したままchatの属性値であるnoの値を取得できませんでしょうか。
    質問ばかりで申し訳ありません。
    
    ----------------------成功コード
            string come2 = "";
                    var xdoc1 = new XmlDocument();
                    xdoc1.LoadXml(String.Format("<root>{0}</root>", xml));
                    foreach (XmlNode ndtmp in xdoc1.ChildNodes)
                    {
                        foreach (XmlNode nd in ndtmp.ChildNodes)
                        {
                            var attr = nd.Attributes;
                            if (nd.Name == "chat")
                            {
                                come2 = String.Format(nd.InnerText);
                            
                                this.Invoke(new MethodInvoker(delegate
                                {
                                    this.dataGridView1.Rows.Add(comecount, come2);
                                }));
                            }
                        }
                    }
    
    --------------------------noの値は表示されるがテキストが全て同じになるコード
            string comecount = "";
                    XmlNodeList node = root.GetElementsByTagName("chat");
                    XmlElement xmlname = (XmlElement)node.Item(0);
                    comecount = xmlname.GetAttribute("no");
    
                    string come2 = "";
                    var xdoc1 = new XmlDocument();
                    xdoc1.LoadXml(String.Format("<root>{0}</root>", xml));
                    foreach (XmlNode ndtmp in xdoc1.ChildNodes)
                    {
                        foreach (XmlNode nd in ndtmp.ChildNodes)
                        {
                            var attr = nd.Attributes;
                            MessageBox.Show(nd.InnerText);
                            if (nd.Name == "chat")
                            {
                                come2 = String.Format(nd.InnerText);
                            
                                this.Invoke(new MethodInvoker(delegate
                                {
                                    this.dataGridView1.Rows.Add(comecount, come2);
                                }));
                            }
                        }
                    }
    --------------------------------------------
    □投稿者/ らら さんへ
    
    はい、確かにニコニコ生放送関係です。
    >xmlとして完結指定ない部分が含まれてないですか?
    つまり完成したXMLを読み込んでいるわけではないということでしょうか?
記事No.57446 のレス /過去ログ96より / 関連記事表示
削除チェック/

■57553  DataGridViewImageColumnと画像表示
□投稿者/ 上条 -(2011/03/04(Fri) 01:21:39)

    分類:[C#] 

    DataGridViewImageColumnを用いて第1列目にjpg画像を表示させようと
    以下のサイトを参考に試行錯誤しましたがどうしても解決出来ないため質問させて頂きます。

    ○DataGridViewの列に画像を表示する
    http://dobon.net/vb/dotnet/datagridview/datagridviewimagecolumn.html

    ○方法 : Windows フォーム DataGridView コントロールのセルにイメージを表示する
    http://207.46.16.248/ja-jp/library/2ab8kd75(VS.80).aspx

    ○イメージ表示列を追加する
    http://hiros-dot.net/CS2005/Control/DataGridView/DataGridView11.htm

    ○DataGridViewImageColumnを使用してイメージ型でない列に画像を表示する
    http://dobon.net/vb/dotnet/datagridview/showimageinintcolumn.html

    ○dataGridViewにjpgサムネイルを表示する
    http://blogs.yahoo.co.jp/ke1_thanks/12190226.html

    現在の状況はDataGridView上に列名が表示されているが行が全く追加されず、
    イメージ列の列名上にカーソルを合わせても全く反応しません。
    (カーソルが列名上でロールオーバーしても水色になりません。他の列名はロールオーバーで水色になります。)
    UI自体はフリーズしません。

    どうすれば指定列に画像を表示することができるのでしょうか?
    とても初歩的な問題かもしれませんがよろしくお願いします。

    ↓こんな感じで止まってます。
    __________________________________________
    |img |No |details |add_no |
    -------------------------------------------


    ----------------------------------ソースコード
    DataGridViewImageColumn imageColumn = new DataGridViewImageColumn();

    imageColumn.Name = "img";
    imageColumn.Image = new Bitmap("C:\\co.jpg");
    imageColumn.ImageLayout = DataGridViewImageCellLayout.Zoom;
    imageColumn.Description = "画像";

    this.dataGridView1.Columns.Add(imageColumn);
    this.dataGridView1.Columns.Add("no", "No");
    this.dataGridView1.Columns.Add("details", "詳細");
    this.dataGridView1.Columns.Add("add_no", "登録番号");

          DataGridViewColumn column1 = dataGridView1.Columns[1];
    column1.Width = 40;
          DataGridViewColumn column2 = dataGridView1.Columns[2];
    column2.Width = 340;
    DataGridViewColumn column3 = dataGridView1.Columns[3];
    column3.Width = 140;

          処理・・・

    dataGridView1["imageColumn", 0].Value = new Bitmap("C:\\co.jpg");
    this.dataGridView1.Rows.Add(imageColumn,no,details,add_no);

    環境:Visual C# 2010 Express
親記事 /過去ログ96より / 関連記事表示
削除チェック/

■57684  jquery mobile + ajax
□投稿者/ デザパタ -(2011/03/08(Tue) 15:35:20)

    分類:[ASP.NET (C#)] 

    環境:[Windows Vista, Visual Studio 2010 Pro]

    ASP.NET MVC + jquery mobileでajax通信が行いたいんですが、jquery mobileが期待通りに動きません。
    具体的には通信が終わってもjquery mobileが自動で出すLoadingアニメーションが消えません。

    これがjquery mobileのバグなのか、私の実装に何か問題があるのかわかる方おられませんか?


    以下は再現コード
    ※プロジェクトはASP.NET MVC 2 Web アプリケーションで作成しています。
    ※更新ボタンを押すとajaxで現在日時を取得し、再描画しています。

    --------------------------------[Site.Master]---------------------------------
    <%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" />
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>
    <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/MicrosoftAjax.js") %>"></script>
    <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/MicrosoftMvcAjax.js") %>"></script>
    <asp:ContentPlaceHolder ID="ScriptContent" runat="server" />
    </head>

    <body>
    <div class="page">

    <div id="header">
    <div id="title">
    <h1>マイ MVC アプリケーション</h1>
    </div>

    <div id="logindisplay">
    <% Html.RenderPartial("LogOnUserControl"); %>
    </div>

    <div id="menucontainer">

    <ul id="menu">
    <li><%: Html.ActionLink("ホーム", "Index", "Home")%></li>
    <li><%: Html.ActionLink("このサイトについて", "About", "Home")%></li>
    </ul>

    </div>
    </div>

    <div id="main">
    <asp:ContentPlaceHolder ID="MainContent" runat="server" />

    <div id="footer">
    </div>
    </div>
    </div>
    </body>
    </html>


    --------------------------------[index.aspx]--------------------------------
    <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    ホーム ページ
    </asp:Content>
    <asp:Content ID="Content3" ContentPlaceHolderID="ScriptContent" runat="server">
    <script type="text/javascript">
    function onSuccess(context) {
    var data = context.get_data();
    $("#TimeDate").text(data);
    }
    </script>
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <div data-role="page" data-theme="b">
    <% using (Ajax.BeginForm("GetDateTime",
    new AjaxOptions { OnSuccess = "onSuccess " }))
    { %>
    <div data-role="fieldcontain">
    <input type="submit" data-icon="refresh" value="更新" />
    </div>
    <% } %>
    <p>日時:<span id="TimeDate"></span></p>
    </div>
    </asp:Content>


    --------------------------------[HomeController.cs]--------------------------------
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;

    namespace MvcApplication6.Controllers
    {
    [HandleError]
    public class HomeController : Controller
    {
    public ActionResult Index()
    {
    ViewData["Message"] = "ASP.NET MVC へようこそ";

    return View();
    }

    public ActionResult About()
    {
    return View();
    }

    public ActionResult GetDateTime()
    {
    if (Request.IsAjaxRequest())
    {
    return Content(DateTime.Now.ToString());
    }
    return new EmptyResult();
    }
    }
    }
親記事 /過去ログ97より / 関連記事表示
削除チェック/

■57772  Re[3]: ループの抜け方
□投稿者/ shu -(2011/03/15(Tue) 07:47:14)
    2011/03/15(Tue) 07:47:37 編集(投稿者)

    No57769 (節電お願いします さん) に返信
    > 抜けるならreturnですね。

    > Array.ForEach<int>(array, (i) =>
    > {
    > sum += i;
    > if (sum > 10) break;
    > });



    -----------------------------

    foreach(int i in array) {
    proc(i);
    }

    void proc(int i) {
    sum += i;
    if (sum > 10) break;
    }


    -----------------------------
    と書くのと同じなので(sumについてはあまり考えないとして)
    breakがreturnになってもエラーが表示されないだけで目的は達成出来ないです。
記事No.57764 のレス /過去ログ97より / 関連記事表示
削除チェック/

■57867  Re[4]: カスタムコントロールとlicenses.licxについて
□投稿者/ 音色 -(2011/03/18(Fri) 16:34:08)
    No57866 (じゃんぬねっと さん) に返信
    > ■No57865 (音色 さん) に返信
    > こちらでは勝手に作られていますけどw
    >
    > 継承したカスタムコントロールとありますので、複合コントロールではないのですよね?
    > コンストラクタ、または IContainer (Component) の紐付けがおかしくなっているだけだったりしませんか?
    >

    自動で作ってくれないんです……(泣)

    ------------------------------------------------------------------------------
    Imports GrapeCity.Win.Editors
    Imports GrapeCity.Win.Editors.Fields
    Imports System.ComponentModel

    <LicenseProviderAttribute(GetType(LicenseProvider))> _
    Public Class MyDate
    Inherits GcDate

    Public Sub New()
    MyBase.New()

    ' 初期化
    Call InitializeCollections()
    End Sub

    Public Sub New(ByVal container As IContainer)
    MyBase.New(container)

    ' 初期化
    Call InitializeCollections()
    End Sub

    :
    :
    End Class
    ------------------------------------------------------------------------------

    こんな感じで作成しているんですが、どこかおかしいでしょうか?

    確か、私が見たGrapecityさんのページではVB.netでもLicenseProvider属性の記述があったんですけれど…………………………
    ……今、確認できないですね(泣)

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

■57886  Win2008 chartコントロールのエラー
□投稿者/ itoh -(2011/03/20(Sun) 17:24:53)

    分類:[ASP.NET (VB)] 

    VB2008でWebアプリケーションを作成してますが、chartコントロールを使用したページをクライアントのPCで表示すると
    下記が表示されます。

    **ここから**

    '/○○○' アプリケーションでサーバー エラーが発生しました。
    --------------------------------------------------------------------------------
    グラフ ハンドラの構成の一時ディレクトリはアクセス可能な [C:\inetpub\○○○\] ではありません。
    説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを
    参照してください。

    例外の詳細: System.******: グラフ ハンドラの構成の一時ディレクトリはアクセス可能な [C:\inetpub\○○○\] ではありません。

    この ASP.NET は、要求されたリソースへのアクセスを許可されていません。要求された ASP.NET へのリソースへアクセスを許可するかどうかを検討してください。
    ASP.NET プロセスには、アプリケーションに偽装が実行されていない場合は、通常、インターネット インフォメーション サーバー 5 では
    {コンピュータ名}\ASPNET、インターネット インフォメーション サーバー 6 ではネットワーク サービスが使用されます。<identity impersonate="true"/> 経由で
    アプリケーションに偽装が実行されている場合、ユーザーは、通常 IUSR_MACHINENAME に設定された匿名ユーザーか、または認証された要求ユーザーになります。

    ASP.NET にファイルへのアクセスを許可するには、エクスプローラでファイルを右クリックし、[プロパティ] を選択して、[セキュリティ] タブを選択します。
    [追加] をクリックして、適切なユーザーまたはグループを追加します。ASP.NET アカウントを強調表示し、希望するアクセスのボックスをチェックします。

    ソース エラー:

    現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って
    確認できます。

    スタック トレース:
    [******: グラフ ハンドラの構成の一時ディレクトリはアクセス可能な [C:\inetpub\shinbashi\] ではありません。]
    System.Web.UI.DataVisualization.Charting.ChartHttpHandlerSettings.Inspect() +775
    System.Web.UI.DataVisualization.Charting.ChartHttpHandlerSettings.ParseParams(String parameters) +456
    ・・・

    **ここまで**

    サーバPC自身のVB2008デバッグでは正常に表示されます。
    以前、同じものを WinXP Pro では異常ありませんでしたが今回は Windows Server2008 です。
    色々と調べましたが対処方法が見つけられませんでした、方法があればよろしくお願いします。
親記事 /過去ログ97より / 関連記事表示
削除チェック/

次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>

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

パスワード/

- Child Tree -