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

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

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

No.73776 の関連記事表示

<< 0 >>
■73776  txtファイルを1行づつ比較
□投稿者/ 開発者 -(2014/11/03(Mon) 20:29:43)

    分類:[.NET 全般] 

    VisualBasic2010で開発をしているものです。
    1.txtと2.txtがあったとして、1.txtをLabel1に読み込んでおき、2.txtをLabel2に読み込むときに、Label1と1行づつ比較して、もし同じ文字列があった場合その文字列をLabel3に表示させることは出来ませんか?読点多くてすみません。ご回答よろしくお願いします。
親記事 /過去ログ124より / 関連記事表示
削除チェック/

■73777  Re[1]: txtファイルを1行づつ比較
□投稿者/ しま -(2014/11/03(Mon) 23:30:20)
    No73776 (開発者 さん) に返信
    > VisualBasic2010で開発をしているものです。
    > 1.txtと2.txtがあったとして、1.txtをLabel1に読み込んでおき、2.txtをLabel2に読み込むときに、Label1と1行づつ比較して、
    >もし同じ文字列があった場合その文字列をLabel3に表示させることは出来ませんか?

    出来ると思いますよ。
    ただし、同じ文字列があったらの判定条件が不明確なので、あなたの考えている判定条件を書いてくださると返事が得やすいとも思います。

    VB2010 だけでなく、OSのバージョンやVB2010Express かどうか等の開発環境、動作環境も少し詳しく書いてください
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73783  Re[2]: txtファイルを1行づつ比較
□投稿者/ 開発者 -(2014/11/04(Tue) 16:54:38)
    No73777 (しま さん) に返信

    すみません、先程は別の名前を使用してしまいました。

    >ただし、同じ文字列があったらの判定条件が不明確なので、あなたの考えている判定条件を書いてくださると返事が得やすいとも思います。

    判定条件とは具体的にどのようなことでしょうか?初歩的な質問ですみません。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73784  Re[3]: txtファイルを1行づつ比較
□投稿者/ 優希(ゆき) -(2014/11/04(Tue) 17:33:55)
    No73783 (開発者 さん) に返信
    > ■No73777 (しま さん) に返信
    >
    > すみません、先程は別の名前を使用してしまいました。
    >
    > >ただし、同じ文字列があったらの判定条件が不明確なので、あなたの考えている判定条件を書いてくださると返事が得やすいとも思います。
    >
    > 判定条件とは具体的にどのようなことでしょうか?初歩的な質問ですみません。
    >

    初歩的なことがわからないのであれば、はじめてのプログラミングのような書籍買ってきて、勉強した方がいいと思う。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73786  Re[3]: txtファイルを1行づつ比較
□投稿者/ しま -(2014/11/04(Tue) 18:06:26)
    No73783 (開発者 さん) に返信
    > >ただし、同じ文字列があったらの判定条件が不明確なので、あなたの考えている判定条件を書いてくださると返事が得やすいとも思います。
    >
    > 判定条件とは具体的にどのようなことでしょうか?初歩的な質問ですみません。

    同じ文字列だと判断(判定)するのはどういう場合ですか?という意味です。
    例えば、以下の場合同じ文字列は何ですか?
    そして、同じ文字列だと判る基準は何ですか?
    1)
    あああ
    いい
    ううう

    2)
    あああ
    いい
    うえお
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73782  Re[2]: txtファイルを1行づつ比較
□投稿者/ ゲームサーバー管理者 -(2014/11/04(Tue) 16:49:31)
    No73777 (しま さん) に返信
    > VB2010 だけでなく、OSのバージョンやVB2010Express かどうか等の開発環境、動作環境も少し詳しく書いてください
    Windows7で開発していて、VisualStudio2012ExpressでVisualBasic2010の言語を書き、開発しております。よろしくお願いいたします。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73785  Re[3]: txtファイルを1行づつ比較
□投稿者/ 優希(ゆき) -(2014/11/04(Tue) 17:42:08)
    つーか、初歩的ってわかるのであれば(ry
    (どこかにも、書いてあった気がする…)
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73788  Re[4]: txtファイルを1行づつ比較
□投稿者/ 開発者 -(2014/11/04(Tue) 20:23:38)
    No73786 (しま さん) に返信
    文字列の完全一致で同じ文字列だと判断します。1文字でも違ったら同じ文字列と判断しません。
    その場合だと、「ああ」と「いい」を同じ文字列と判断させたいです。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73790  Re[5]: txtファイルを1行づつ比較
□投稿者/ 優希(ゆき) -(2014/11/05(Wed) 00:41:41)
    No73788 (開発者 さん) に返信
    > ■No73786 (しま さん) に返信
    > 文字列の完全一致で同じ文字列だと判断します。1文字でも違ったら同じ文字列と判断しません。
    > その場合だと、「ああ」と「いい」を同じ文字列と判断させたいです。

    え?????
    なんで、「ああ」と「いい」がイコールになるの???

    アルゴリズム教えてよ。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73792  Re[5]: txtファイルを1行づつ比較
□投稿者/ Azulean -(2014/11/05(Wed) 07:08:46)
    2014/11/05(Wed) 07:13:23 編集(投稿者)

    No73790 (優希(ゆき) さん) に返信
    > なんで、「ああ」と「いい」がイコールになるの???

    しまさんが例示されたファイル内容の 1 行目同士と 2 行目同士を一致とみなしたいという意味なのでしょう。
    結果として Label3 に 3 行目を除いた出力を得たいと。


    No73788 (開発者 さん) に返信
    > 文字列の完全一致で同じ文字列だと判断します。1文字でも違ったら同じ文字列と判断しません。
    > その場合だと、「ああ」と「いい」を同じ文字列と判断させたいです。

    ところで、どこまでわかっていて、どこがわからないのでしょうか。
    自分がわかっていること、わからないので質問したいことを明確にしましょう。

    (冷たいことを言うと、「できませんか?」→「できるよ」で質問と回答は終わっていると言え、その後の質問は書かれていないので)
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73794  Re[6]: txtファイルを1行づつ比較
□投稿者/ 優希(ゆき) -(2014/11/05(Wed) 08:55:43)
    No73792 (Azulean さん) に返信
    > 2014/11/05(Wed) 07:13:23 編集(投稿者)
    >
    > ■No73790 (優希(ゆき) さん) に返信
    >>なんで、「ああ」と「いい」がイコールになるの???
    >
    > しまさんが例示されたファイル内容の 1 行目同士と 2 行目同士を一致とみなしたいという意味なのでしょう。
    > 結果として Label3 に 3 行目を除いた出力を得たいと。
    >
    >

    余計にわからなくなりました…

    私が思ってたのは

    テキストA テキストB  比較
    あああ   あああ  → OK
    いいい   いい   → NG
    ううう   ううう  → OK
    えええ   おおお  → NG

    こういう意味で大丈夫ですよね?


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

■73805  Re[7]: txtファイルを1行づつ比較
□投稿者/ 開発者 -(2014/11/05(Wed) 16:54:05)
    No73794 (優希(ゆき) さん) に返信

    > 余計にわからなくなりました…
    >
    > 私が思ってたのは
    >
    > テキストA テキストB  比較
    > あああ   あああ  → OK
    > いいい   いい   → NG
    > ううう   ううう  → OK
    > えええ   おおお  → NG
    >
    > こういう意味で大丈夫ですよね?

    その通りです。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73807  Re[8]: txtファイルを1行づつ比較
□投稿者/ shu -(2014/11/05(Wed) 17:22:31)
    No73805 (開発者 さん) に返信
    > ■No73794 (優希(ゆき) さん) に返信
    > 
    >>余計にわからなくなりました…
    >>
    >>私が思ってたのは
    >>
    >>テキストA テキストB  比較
    >>あああ   あああ  → OK
    >>いいい   いい   → NG
    >>ううう   ううう  → OK
    >>えええ   おおお  → NG
    >>
    >>こういう意味で大丈夫ですよね?
    > 
    > その通りです。
    
    
    
    テキストA テキストB
    あああ   あああ 
    いいい   えお  
    ううう   いいい 
    えええ   けけけ
          えええ 
    
    これは?どうなりますか?
    
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73829  Re[9]: txtファイルを1行づつ比較
□投稿者/ 開発者 -(2014/11/07(Fri) 14:43:43)
    No73807 (shu さん) に返信
    > ■No73805 (開発者 さん) に返信
    >>■No73794 (優希(ゆき) さん) に返信
    >>
    > >>余計にわからなくなりました…
    > >>
    > >>私が思ってたのは
    > >>
    > >>テキストA テキストB  比較
    > >>あああ   あああ  → OK
    > >>いいい   いい   → NG
    > >>ううう   ううう  → OK
    > >>えええ   おおお  → NG
    > >>
    > >>こういう意味で大丈夫ですよね?
    >>
    >>その通りです。
    >
    >
    >
    > テキストA テキストB
    > あああ   あああ 
    > いいい   えお  
    > ううう   いいい 
    > えええ   けけけ
    >       えええ 
    >
    > これは?どうなりますか?
    >

    テキストA テキストB
    あああ   あああ →一致 
    いいい   えお  →不一致
    ううう   いいい →不一致
    えええ   けけけ →不一致
          えええ →不一致

    です。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73834  Re[10]: txtファイルを1行づつ比較
□投稿者/ ainax -(2014/11/08(Sat) 10:59:23)
    横より失礼します。
    ちょっとコードを書いて見ました。
    
    新規プロジェクトのフォームにラベル3個とボタン1個で動くと思います。
    
    Public Class Form1
    
        Private Comp As Compare = New Compare()
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.Button1.Text = "Next"
    
            Comp.ReadTextA("C:\AAA.txt")
            Comp.ReadTextB("C:\BBB.txt")
    
            Comp.MoveFirst()
    
            AddHandler Comp.NextResult, AddressOf OnNextResult
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Comp.OnNextResult()
        End Sub
    
        Private Sub OnNextResult(value1 As String, value2 As String, value3 As String)
            Me.Label1.Text = value1
            Me.Label2.Text = value2
            Me.Label3.Text = value3
        End Sub
    
    End Class
    
    
    Public Class Compare
        Private TextA As List(Of String) = New List(Of String)
        Private TextB As List(Of String) = New List(Of String)
    
        Public Sub ReadTextA(path As String)
            TextA.Clear()
            TextA.AddRange(Read(path))
        End Sub
        Public Sub ReadTextB(path As String)
            TextB.Clear()
            TextB.AddRange(Read(path))
        End Sub
    
        Private Iterator Function Read(path As String) As IEnumerable(Of String)
            Using sr As New IO.StreamReader(path)
                While (Not sr.EndOfStream)
                    Yield sr.ReadLine()
                End While
            End Using
        End Function
    
        Private _Current As Integer = 0
    
        Public Sub MoveFirst()
            _Current = 0
        End Sub
    
        Public Property EndOfList()
            Get
                Return (_Current >= TextA.Count And _Current >= TextB.Count)
            End Get
            Private Set(value)
    
            End Set
        End Property
    
        Public Event NextResult As Action(Of String, String, String)
    
        Public Sub OnNextResult()
            If EndOfList Then Exit Sub
    
            Dim retA As String = TextA.Skip(_Current).Take(1).FirstOrDefault()
            Dim retB As String = TextB.Skip(_Current).Take(1).FirstOrDefault()
    
            _Current += 1
    
            If retA Is Nothing OrElse retB Is Nothing Then
                If retA Is Nothing AndAlso retB Is Nothing Then
                    RaiseEvent NextResult(retA, retB, Nothing) ' 両方ともNothing
                Else
                    RaiseEvent NextResult(retA, retB, "") ' 片方だけNothing
                End If
    
                Exit Sub
            End If
    
            RaiseEvent NextResult(retA, retB, IIf(retA = retB, retA, ""))
        End Sub
    End Class
    
    # ファイル読み込みのエラー処理とかしてません。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73836  Re[11]: txtファイルを1行づつ比較
□投稿者/ 開発者 -(2014/11/09(Sun) 12:09:47)
    No73834 (ainax さん) に返信
    > 横より失礼します。
    > ちょっとコードを書いて見ました。
    >
    > 新規プロジェクトのフォームにラベル3個とボタン1個で動くと思います。
    >
    > Public Class Form1
    >
    > Private Comp As Compare = New Compare()
    >
    > Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    > Me.Button1.Text = "Next"
    >
    > Comp.ReadTextA("C:\AAA.txt")
    > Comp.ReadTextB("C:\BBB.txt")
    >
    > Comp.MoveFirst()
    >
    > AddHandler Comp.NextResult, AddressOf OnNextResult
    > End Sub
    >
    > Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    > Comp.OnNextResult()
    > End Sub
    >
    > Private Sub OnNextResult(value1 As String, value2 As String, value3 As String)
    > Me.Label1.Text = value1
    > Me.Label2.Text = value2
    > Me.Label3.Text = value3
    > End Sub
    >
    > End Class
    >
    >
    > Public Class Compare
    > Private TextA As List(Of String) = New List(Of String)
    > Private TextB As List(Of String) = New List(Of String)
    >
    > Public Sub ReadTextA(path As String)
    > TextA.Clear()
    > TextA.AddRange(Read(path))
    > End Sub
    > Public Sub ReadTextB(path As String)
    > TextB.Clear()
    > TextB.AddRange(Read(path))
    > End Sub
    >
    > Private Iterator Function Read(path As String) As IEnumerable(Of String)
    > Using sr As New IO.StreamReader(path)
    > While (Not sr.EndOfStream)
    > Yield sr.ReadLine()
    > End While
    > End Using
    > End Function
    >
    > Private _Current As Integer = 0
    >
    > Public Sub MoveFirst()
    > _Current = 0
    > End Sub
    >
    > Public Property EndOfList()
    > Get
    > Return (_Current >= TextA.Count And _Current >= TextB.Count)
    > End Get
    > Private Set(value)
    >
    > End Set
    > End Property
    >
    > Public Event NextResult As Action(Of String, String, String)
    >
    > Public Sub OnNextResult()
    > If EndOfList Then Exit Sub
    >
    > Dim retA As String = TextA.Skip(_Current).Take(1).FirstOrDefault()
    > Dim retB As String = TextB.Skip(_Current).Take(1).FirstOrDefault()
    >
    > _Current += 1
    >
    > If retA Is Nothing OrElse retB Is Nothing Then
    > If retA Is Nothing AndAlso retB Is Nothing Then
    > RaiseEvent NextResult(retA, retB, Nothing) ' 両方ともNothing
    > Else
    > RaiseEvent NextResult(retA, retB, "") ' 片方だけNothing
    > End If
    >
    > Exit Sub
    > End If
    >
    > RaiseEvent NextResult(retA, retB, IIf(retA = retB, retA, ""))
    > End Sub
    > End Class
    >
    > # ファイル読み込みのエラー処理とかしてません。

    ありがとうございます。
記事No.73776 のレス /過去ログ124より / 関連記事表示
削除チェック/

■73837  Re[12]: txtファイルを1行づつ比較
□投稿者/ 開発者 -(2014/11/09(Sun) 12:09:57)
    No73836 (開発者 さん) に返信
    > ■No73834 (ainax さん) に返信
    >>横より失礼します。
    >>ちょっとコードを書いて見ました。
    >>
    >>新規プロジェクトのフォームにラベル3個とボタン1個で動くと思います。
    >>
    >>Public Class Form1
    >>
    >> Private Comp As Compare = New Compare()
    >>
    >> Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    >> Me.Button1.Text = "Next"
    >>
    >> Comp.ReadTextA("C:\AAA.txt")
    >> Comp.ReadTextB("C:\BBB.txt")
    >>
    >> Comp.MoveFirst()
    >>
    >> AddHandler Comp.NextResult, AddressOf OnNextResult
    >> End Sub
    >>
    >> Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    >> Comp.OnNextResult()
    >> End Sub
    >>
    >> Private Sub OnNextResult(value1 As String, value2 As String, value3 As String)
    >> Me.Label1.Text = value1
    >> Me.Label2.Text = value2
    >> Me.Label3.Text = value3
    >> End Sub
    >>
    >>End Class
    >>
    >>
    >>Public Class Compare
    >> Private TextA As List(Of String) = New List(Of String)
    >> Private TextB As List(Of String) = New List(Of String)
    >>
    >> Public Sub ReadTextA(path As String)
    >> TextA.Clear()
    >> TextA.AddRange(Read(path))
    >> End Sub
    >> Public Sub ReadTextB(path As String)
    >> TextB.Clear()
    >> TextB.AddRange(Read(path))
    >> End Sub
    >>
    >> Private Iterator Function Read(path As String) As IEnumerable(Of String)
    >> Using sr As New IO.StreamReader(path)
    >> While (Not sr.EndOfStream)
    >> Yield sr.ReadLine()
    >> End While
    >> End Using
    >> End Function
    >>
    >> Private _Current As Integer = 0
    >>
    >> Public Sub MoveFirst()
    >> _Current = 0
    >> End Sub
    >>
    >> Public Property EndOfList()
    >> Get
    >> Return (_Current >= TextA.Count And _Current >= TextB.Count)
    >> End Get
    >> Private Set(value)
    >>
    >> End Set
    >> End Property
    >>
    >> Public Event NextResult As Action(Of String, String, String)
    >>
    >> Public Sub OnNextResult()
    >> If EndOfList Then Exit Sub
    >>
    >> Dim retA As String = TextA.Skip(_Current).Take(1).FirstOrDefault()
    >> Dim retB As String = TextB.Skip(_Current).Take(1).FirstOrDefault()
    >>
    >> _Current += 1
    >>
    >> If retA Is Nothing OrElse retB Is Nothing Then
    >> If retA Is Nothing AndAlso retB Is Nothing Then
    >> RaiseEvent NextResult(retA, retB, Nothing) ' 両方ともNothing
    >> Else
    >> RaiseEvent NextResult(retA, retB, "") ' 片方だけNothing
    >> End If
    >>
    >> Exit Sub
    >> End If
    >>
    >> RaiseEvent NextResult(retA, retB, IIf(retA = retB, retA, ""))
    >> End Sub
    >>End Class
    >>
    >># ファイル読み込みのエラー処理とかしてません。
    >
    > ありがとうございます。
記事No.73776 のレス / END /過去ログ124より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -