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

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

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

全過去ログを検索

<< 0 >>
■6313  Re[6]: 複数のファイルをcopyコマンド
□投稿者/ 魔界の仮面弁士 -(2007/08/07(Tue) 18:12:34)
    No6310 (komaru さん) に返信
    > コマンドプロンプト上は「G:\フォルダ名>COPY *.txt result.txt」で
    > vb上は「"/c COPY *.txt result.txt /w"」です。
    /C というのは、%ComSpec% (Cmd.exe など)のパラメータでしょうか?

    > コマンドプロンプト上と同じフォルダ(G:\フォルダ名)を指定する場合はどうすればいいですか?
    カレントディレクトリを設定するのであれば、
    System.IO.Directory.SetCurrentDirectory でどうでしょう。
    VB なので、ChDrive / ChDir でも可かと。

    あるいは、COPY G:\フォルダ名\*.txt G:\結果ファイル のようにパスを指定するとか。
記事No.6258 のレス /過去ログ16より / 関連記事表示
削除チェック/

■6312  VBで可変長textファイルを読む方法について
□投稿者/ 里江子さん -(2007/08/07(Tue) 18:05:54)

    分類:[.NET 全般] 

     
     基礎的な質問で申し訳ありません。

     VBで可変長textファイル(マルチレイアウト)を読む方法について
     何方か教えて下さい。
     データの各行最後にはリターンコードがついています。
     
                              以上
     
     
親記事 /過去ログ17より / 関連記事表示
削除チェック/

■6314  Re[2]: DataGridについて質問
□投稿者/ せい -(2007/08/07(Tue) 18:13:00)
    No6222 (Hongliang さん) に返信
    > DataGridTableStyle を使う場合、多くの機能は DataGridTableStyle が代理することになります。
    > まずは DataGridTableStyle のメンバ一覧を吟味してください。

    すみません。。。
    色々と見てみましたが、よくわかりません。。。
    初心者なので、もう少し詳しく教えていただけないでしょうか・・・?
記事No.6216 のレス /過去ログ17より / 関連記事表示
削除チェック/

■86477  Re[3]: ChartのX軸のタイトル表示
□投稿者/ mako -(2018/02/01(Thu) 23:31:53)
    No86471 (shu さん) に返信
    
    お世話になります。
    
    Q1, 8:10〜8:45のデータ部分と10:20〜10:55のデータ無い部分の空白は、もう少し無くならないでしょうか?、
    
    >         For i = 20 To 55        ' 10:20〜10:55
    >             datS = datS + 1
    >             'Uridat(datS).Jikoku = "10:" & Str(i)   '時刻
    >             Uridat(datS).Jikoku = $"10:{i:00}"   '時刻
    >             Uridat(datS).Suu1 = i + 100            '数量1
    >             Uridat(datS).Suu2 = i + 20             '数量2
    >         Next
    
    試しに、上をを下記にでもすると棒グラフも無い空白部分がさらに多くなります。
    
            For i = 20 To 55        ' 14:20〜14:55
                datS = datS + 1
                'Uridat(datS).Jikoku = "14:" & Str(i)   '時刻
                Uridat(datS).Jikoku = $"14:{i:00}"   '時刻
                Uridat(datS).Suu1 = i + 100            '数量1
                Uridat(datS).Suu2 = i + 20             '数量2
            Next
    
    
    Q2, チャートの右端と左端の空白(棒グラフの無い部分)は無くならないでしょうか?
    
記事No.86333 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86478  Re[4]: ChartのX軸のタイトル表示
□投稿者/ shu -(2018/02/02(Fri) 09:04:14)
    No86477 (mako さん) に返信
    > ■No86471 (shu さん) に返信
    >
    > お世話になります。
    >
    > Q1, 8:10〜8:45のデータ部分と10:20〜10:55のデータ無い部分の空白は、もう少し無くならないでしょうか?、
    >
    指定した時間間隔でグラフが描画されているので8:45と10:20分の間が空けばそれだけ広がります。
    それが普通のグラフだと思うのですが、何か違うのでしょうか?多分それが当初からmakoさんが回答されていないことだと
    思います。
記事No.86333 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86481  Re[4]: ChartのX軸のタイトル表示
□投稿者/ shu -(2018/02/02(Fri) 16:30:41)
    No86477 (mako さん) に返信
    
    時間帯が固まっていれば、その間の間隔は適当でよいということなのだと考えいかのように
    してみましたがどうでしょう?
    
    
    Public Class Form1
        Private Structure datF
            Dim Jikoku As String      '時刻 (実際は "2018/01/30 16:30:00" などの日付も入った文字列)
            Dim Suu1 As Integer       '数量1
            Dim Suu2 As Integer       '数量2
        End Structure
        Dim Uridat(500) As datF
        Dim datS As Integer            '
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            ' 1分間隔のサンプルデータをを成
            datS = -1
            For i = 10 To 45    ' 8:10〜8:45
                datS = datS + 1
                'Uridat(datS).Jikoku = "8:" & Str(i)  '時刻
                Uridat(datS).Jikoku = $"8:{i:00}"  '時刻
                Uridat(datS).Suu1 = i * 10           '数量1
                Uridat(datS).Suu2 = i * 5            '数量2
            Next
            For i = 20 To 55        ' 10:20〜10:55
                datS = datS + 1
                'Uridat(datS).Jikoku = "10:" & Str(i)   '時刻
                Uridat(datS).Jikoku = $"10:{i:00}"   '時刻
                Uridat(datS).Suu1 = i + 100            '数量1
                Uridat(datS).Suu2 = i + 20             '数量2
            Next
    
            '====   Chart1   ====
            Dim ds As New DataSet
            Dim dt As New DataTable
            Dim dtRow As DataRow
    
            '列の作成
            With dt.Columns
                .Add("時刻", GetType(String))
                .Add("数量1", GetType(Integer))
                .Add("数量2", GetType(Integer))
            End With
            ds.Tables.Add(dt)
    
            'データのセット
            For i = 0 To datS
                dtRow = ds.Tables(0).NewRow
                dtRow(0) = Uridat(i).Jikoku    '時刻
                dtRow(1) = Uridat(i).Suu1      '数量1
                dtRow(2) = Uridat(i).Suu2      '数量2
                ds.Tables(0).Rows.Add(dtRow)
            Next
    
            'Chart に表示するデータソースを設定
            'Dim min As DateTime = Nothing
            'Dim max As DateTime = Nothing
            Dim min = -1
            Dim max = -1
            Dim intr = 30
            Dim tbl = GetChartDs(ds, intr, min, max)
            Chart1.DataSource = tbl.Select("", "x")
            Chart1.Series.Clear()
            '
            With Chart1.ChartAreas(0)
                With .AxisX
                    '.Minimum = min.ToOADate
                    '.Maximum = max.ToOADate
                    .Minimum = min
                    .Maximum = max
                    '.IntervalType = DataVisualization.Charting.DateTimeIntervalType.Minutes
                    '.Interval = intr
                    .Interval = 5
    
                    For Each row In tbl.Select("", "時刻")
                        Dim null = row.IsNull("数量1")
                        If null Then Continue For
                        Dim d = row.Field(Of Date)("時刻")
                        Dim x = row.Field(Of Integer)("x")
                        With .CustomLabels.Add(x - 2, x + 2, d.ToString("HH:mm"))
                            .RowIndex = 0
                        End With
                    Next
                End With
            End With
    
            Dim ore = Chart1.Series.Add("折れ線")
            With ore
                .ChartType = DataVisualization.Charting.SeriesChartType.Line
                .EmptyPointStyle.SetDefault(True)
                '.XValueMember = "時刻"
                .XValueMember = "x"
                .YValueMembers = "数量1"
            End With
    
            Dim bou = Chart1.Series.Add("棒グラフ")
            With bou
                .ChartType = DataVisualization.Charting.SeriesChartType.Column
                '.XValueMember = "時刻"
                .XValueMember = "x"
                .YValueMembers = "数量2"
            End With
        End Sub
    
        'Private Function GetChartDs(Src As DataSet, IntrMin As Integer,
        '                            ByRef Min As DateTime, ByRef Max As DateTime) As DataTable
        Private Function GetChartDs(Src As DataSet, IntrMin As Integer,
                                    ByRef Min As Integer, ByRef Max As Integer) As DataTable
            Dim ret As New DataTable()
            Min = Nothing
            Max = Nothing
    
            With ret.Columns()
                .Add("x", GetType(Integer))
                .Add("時刻", GetType(DateTime))
                .Add("数量1", GetType(Integer))
                .Add("数量2", GetType(Integer))
            End With
    
            Dim x = 1
            Min = x
            x = 5
            '一番左にスペース
            ret.Rows.Add(x, DBNull.Value, DBNull.Value, DBNull.Value) : x += 5
            Dim isFirst2 = True
            For Each itm In (From r In Src.Tables(0).Select()
                             Let d = Function(s As String) As Date
                                         Dim d2 As Date = Nothing
                                         If Date.TryParseExact(s, {"HH:mm", "HH: mm", "H:m"}, Nothing, Nothing, d2) Then
                                             Return d2
                                         Else
                                             Return CDate(Nothing)
                                         End If
                                     End Function(r.Field(Of String)("時刻"))
                             Let h = d.Hour
                             Order By d
                             Group By h Into rows = Group)
                '間
                If Not isFirst2 Then
                    For i = 1 To 2
                        ret.Rows.Add(x, DBNull.Value, DBNull.Value, DBNull.Value) : x += 5
    
                    Next
                End If
                isFirst2 = False
    
                Dim hour = itm.h
                'Dim min2 As Date = Nothing
                Dim isFirst = True
                For Each rowItm In itm.rows
                    Dim row = rowItm.r
                    Dim d = rowItm.d
                    Dim disp = False
                    'If Min = Nothing OrElse d < Min Then Min = d : disp = True
                    'If Max = Nothing OrElse d > Max Then Max = d
                    'If min2 = Nothing OrElse d < min2 Then min2 = d : disp = True
                    If isFirst Then disp = True : isFirst = False
                    If Not disp Then
                        If d.Minute Mod IntrMin = 0 Then
                            disp = True
                        End If
                    End If
                    If disp Then
                        'ret.Rows.Add(d, row("数量1"), row("数量2"))
                        ret.Rows.Add(x, d, row("数量1"), row("数量2"))
                        x += 5
                    End If
                Next
            Next
            Max = x
    
            'If Min <> Nothing Then
            '    Min = Min.AddMinutes(-(Min.Minute Mod IntrMin) - IntrMin * 2)
            'End If
            'If Max <> Nothing Then
            '    Max = Max.AddMinutes(-(Max.Minute Mod IntrMin) + IntrMin * 2)
            'End If
    
            'Dim d1 As Date = Min
            'For Each row In ret.Select("", "時刻")
            '    Dim d2 = row.Field(Of Date)("時刻")
            '    Do While d1 < d2
            '        ret.Rows.Add(d1, DBNull.Value, DBNull.Value)
            '        d1 = d1.AddMinutes(IntrMin)
            '    Loop
            '    d1 = d2.AddMinutes(IntrMin)
            'Next
            ret.AcceptChanges()
    
            Return ret
        End Function
    
    End Class
    
記事No.86333 のレス /過去ログ148より / 関連記事表示
削除チェック/

■96873  Re[7]: インストーラのビルド 全て失敗 IntelliSense??
□投稿者/ Azulean -(2021/02/21(Sun) 08:46:18)
    2021/02/21(Sun) 08:47:24 編集(投稿者)

    No96872 (悩み相談 さん) に返信
    > 当該プログラムを説明すると
    > ●vb.net
    > ●他のinterop●●.dllのような付属ファイルを必要としない
    > ●exeファイル単体で完全動作する
    > ●オリジナルのコードで1万行以上

    まあ、これは「具体的」とは言わないので…。

    > ●以前エラーのでなかったコードが突然エラー表示されるようになった

    「以前」と「今」の違いをあなた自身で認識できないなら、「なぜそうなったか」は第三者にはわかりませんよ。
    Visual Studio のバージョンを変えたとか、設定が初期化されたとか、そういった何らかの変化があったはずです。


    > ●エラーの種類を見ると定義の「あいまいさ」に関すること
    >    ヌルの可能性がある ← 定義時に nothing を代入すれば消える

    初期化されていない可能性があるという指摘なら Nothing でも良いかもしれませんが、Nothing のまま来たら例外になるので、「確実にあり得ない」経路なんですよね?


    >    定義されていない ←for ●● each in △△ の●●   
    >    などです   

    https://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/for-each-next-statement
    > datatype
    > Option Infer がオン (既定値) または element が既に宣言されている場合は省略可能です。Option Infer がオフで element がまだ宣言されていない場合は必須です。

    Each と変数の順番がおかしいのは単に書き写し間違えですよね?


    > ひとつひとつ直せばよいのではないか とも思いますが
    > そもそも今まで出ていないエラーが突然出てきたことに対して
    > 不安を感じているのと、考えられる原因が想定されるなら
    > アドバイスをいただきたい状況なのです。

    結果には理由があります。
    以前と異なる今回の結果を招いたということは、以前と異なる何かが存在するはずです。
    「何もしていないのにこうなった」は思考停止状態なので、ちゃんとふりかえりましょう。
    共用パソコンであれば、ほかの人にも聞いてみましょう。
記事No.96850 のレス /過去ログ168より / 関連記事表示
削除チェック/

■97948  Re[2]: 多次元配列の順序を入れ替える
□投稿者/ 鬼太郎 -(2021/08/11(Wed) 11:09:53)
    Bitmap のコンストラクタは 例として挙げたまでで特に深い意味はありません。

    見た目的に
    Z Y X
    と並んでいたよりも
    X Y Z
    と並んでいた方がコードが見やすいので

    2次元配列のメモリー内での格納順を変えられるのなら
    その方法が知りたいのですが。
    そのような方法はございませんでしょうか?

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



<< 0 >>

パスワード/

- Child Tree -