C# 4개의텍스트파일 안의 각각의 데이터 시각화 하는거 질문좀드립니다.

안녕하세요 뭐좀 여쭤보려고 이렇게 게시판에 글을 남깁니다.

WINFORM으로 2개의텍스트파일 안의 각각의 데이터 시각화 하는거 질문좀드립니다.

텍스트1. 텍스트2 텍스트3,텍스트4 4개의 파일이 있습니다

텍스트1에는 1,2, ,* 텍스트2에는 1,2, ,** 텍스트3에는 1,2,*, 텍스트4에는 1,2,** , 이렇게 있습니다.

텍스트1 이랑 텍스트3의 파일과 텍스트2와텍스트4의 파일명은 같습니다.

이안에있는 데이터들을 foreach문으로 ,를 통해서 split으로 각각 쪼개서 배열에 저장했습니다.

제가 하고싶은거는
image

이렇게 표를 만들어서 텍스트1 이랑 3을 합쳐서 한줄에 보여주고 텍스트2,4의 데이터를 합쳐서 한줄에 보여주려고하는데 어떤방식으로 해야할지 여쭤봅니다.

저기한칸한칸을 tablelayout안에 label들로 넣어놨습니다. label1부터 label8까지 넣어서 도킹했습니다.
그래서 텍스트안에 있는 문자를 label.text로해서 시각화 하려고합니다.

허접한질문 죄송합니다.
감사합니다.

2개의 좋아요

질문이 잘 이해되지 않습니다.

시각화의 의미와
한줄에 표현한다는 의미와
표현 규칙을 보완 설명해주셔야 다른분들도 아마 답변이 가능할 것 같습니다.

1개의 좋아요

질문내용 수정했습니다 제 질문을 읽어봐주셔서 감사합니다.!

1개의 좋아요

합친다는 의미가 어떤 의미인가요?
image
이런 의미인가요?

image
아니면 이런 의미인가요?

// string text는 코드가 아닌 파일이어야 합니다.
string text1 = "1,2,3,4";
string text2 = "5,6,7,8";
string text3 = "1,2,3,4";
string text4 = "5,6,7,8";

ToDoSplitText(); // by foreach( ){ }

string[] splitText1 = {"1", "2", "3", "4"};
string[] splitText2 = {"5", "6", "7", "8",};
string[] splitText3 = {"1", "2", "3", "4"};
string[] splitText4 = {"5", "6", "7", "8",};

// 합친다는 의미를 잘 모르겠습니다.
ToDoCombineText();

string[] combineText1[] = {"11223344"};   // splitText1 + splitText3
string[] combineText2[] = {"55667788"}; // splitText2 + splitText4


Or other ToDoCombine();
// other Combine() => 중복된 Text 또는 공백(" ")은 무시하고 병합합니다. (?? 위에 겹쳐진다는 느낌 ??)
// other Combine() => RemoveDuplicationAndBlank()

string[] combineText1[] = {"1234"};
string[] combineText2[] = {"5678"};

ToDoDrawingOrSetText()
{
    // 텍스트를 합친다라는 부분이 명확하지 않아서 표현 할수가 없습니다.
    Label1.Text = "1";
    ...
    Label8.Text = "8";
}


// xaml
<StackLayout Margin="20" Orientation="Horizontal">
    <Label x:Name="Label1" />
    ...
    <Label x:Name="Label4" />
</StackLayout>

<StackLayout Margin="20" Orientation="Horizontal">
    <Label x:Name="Label5" />
     ...
    <Label x:Name="Label8" />
</StackLayout>

이런 느낌일까요?

샘플 코드를 공유해주시면 좋을 것 같습니다.

3개의 좋아요

``
System.Collections.Generic.IEnumerable lines = File.ReadLines(file.FullName);

        foreach (var line in lines)
        {
            data = line.Split(',');
            break;
        }

``

이렇게텍스타 파일을 읽어와서 배열에 ,로 쪼개서 하나씩 넣어서 저장을 한후에

텍스트1 파일에는 1,2,, data[0]=1 /data[1]=2/data[2]=/data[3]=""
텍스트3 파일에 1,2, ,* 이렇게 있으면 data[0]=1 /data[1]=2/data[2]=" "/data[3]=*

이렇게 저장을 했는데 저기보면 8간이 있지 않습니까? 첫번째칸부터 오른쪽으로
label1,label2,label3,label4
label15label6,label7,label8
텍스트1파일의 data[0]=1 /data[1]=2/data[2]=* 를 라벨 1,2,3에 label.text로 해서 글자를 보여주고 label4에 텍스트3에 있는 data[3]=* 을 label.text로 보여주고 싶다는 말입니다.

허접한 질문 죄송합니다 읽어주셔서 감사합니다

1개의 좋아요

혹시 문제가 과제인가요? 아니면 어떤 목적을 가진 것인지 여쭤봐도 될까요?

1개의 좋아요

과제가 아니고 폴더를 옮기고 쪼개는거 해보고있는데 자꾸 2개가 겹쳐지지 않고 하나가 시각화 되고 하나가 또 시각화되서 이렇게 하면좋겠다 까지 생각했는데 방법을 잘몰라서 힌트라도 얻고자 올렸습니다.!

1개의 좋아요

겹친다는 의미가,

1,2,* 이 두개 있을 때,
1,2,*,*이렇게 만들고자 하는 것인가요?

만약 그렇다면

1,2,*이 세개 있을때,
1,2,*,*,* 이렇게 만들어줘야 하는건가요?

그리고 그 규칙을 성립하기 위해

1,2는 일종의 고유한 ID와 같은 것인가요?

1개의 좋아요

아닙니다 그냥 모든숫자들이 다 바뀌는데 그냥 예시를 들어서 말씀드렸습니다.

1,2,* 텍스트1 파일이고 텍스트3파일은 1,2, ,** 이렇게 있습니다. 그래서 텍스트파일1 이 먼저 생성되고 텍스트3 이 나중에 생성되는데 텍스트1에서 1이랑 2랑 *을 가져와서 label1,label2,label3에 label.text를 해서 보여줄거고 텍스트 3에있는 **을 가져와서 label4에 label.text를 해서 보여줄 계획입니다. 텍스트1 이랑 텍스트3은 같은 게 아니고 다릅니다.

감사합니다

1개의 좋아요
string[] text1 = {"1", "2", "*"};
string[] text3 = {"1", "2", , "**"}

label1.Text = text1[0];
label2.Text = text1[1];
label3.Text = text1[2];
label4.Text = text3[3];

View에 이미지가 스택처럼 쌓여서(Navigation page처럼) 맨 위의 스택만 보이는
그런 걸 설명하는 것 같습니다.

2개의 좋아요

아 이해했습니다. 총 4자리 정보였군요;

1,2,,*
1,2,*,
이니 이 두게를 합치면
1,2,*,* 이 된다는 말씀이시군요! ^^

그런데 어쨌든 합친다는 개념에는 규칙이 있어야 하는데, 규칙이 있어야
1,2,*,*
1,2,**,**
로 두줄로 보여줄 수 있거든요…

가령

1,2,,*
3,4,*,
이렇게 올 경우는 어떻게 표시되어야 하는거죠?

3개의 좋아요

네 맞습니다 정말 갑사합니다.

1개의 좋아요

아 죄송합니다 1,2 의 값은 고정으로 무조건 똑같습니다. 뒤에 2개만 바뀌어서 나옵니다.

그리고 텍스트1이랑 텍스트3 파일의 경로가 다릅니다. 이런경우에도 가능한건가요??

감사합니다.

1개의 좋아요

스무고개 넘기 같은 느낌이 들긴 합니다…

경로가 다른 것이 출력하는 결과에 어떤 영향이 있나요?

일단 논리 전개를 구분해서 해봅시다.

  1. 파일 경로
  2. 파일 데이터
  3. 파일 데이터 가공
  4. 가공된 데이터를 화면에 출력 (시각화?)

무엇을 하고 싶은지를 잘 설명해주셔도 답변에 도움이 될 듯 합니다.

2개의 좋아요

1 a폴더에 텍스트1(2932,2,NO,NG) b폴더에 텍스트3(2932,2,OK,NO) 이 있습니다.
2. 파일테이터는 텍스트파일안에 string값으로 저장되어있습니다.
3.파일 데이터를 배열로 2932,2,NO,NG이렇게 되어있으면 ,로 쪼개어서 배열에 저장합니다.
4. 각각 ,로 쪼갠 배열값을 하나씩 label1,label2,label3,label4 에 하나씩 넣어서 보여줄건데
label1,label2,label3 에는 a폴더에있는 텍스트1파일에 있던 2932,2,NO,NG 중에 2932 2 NG 값을 label1 label2 label4 에 보여주고b폴더에있는 2932,2,OK,NO) 네개 중에 OK만 가졍와서 label3에 label.text로해서 문자로 보여줄거입니다.

이런식으로 생각하고있습니다.
이거를 텍스트파일을 10초에 하나씩 생성해서 자꾸 순차적으로 보여줄 생각입니다.

1개의 좋아요

label5, 6, 7, 8은 무엇을 보여주나요? 그리고 텍스트파일을 10초에 하나씩 생성한다면 그것을 자동 감지해서 화면에 표현해주는 것일까요?

2개의 좋아요

네맞습니다 label5, 6, 7, 8 은 label1,2,3,4 에있던 데이터를 밑으로 내리고 label1,2,3,4에 새로은 텍스트파일에있는 데이터들을 업데이트 시켜주면서 자꾸 무한적으로 시각화 시키는걸 만들어 보고 있습니다.