2013-10-20 4 views
-4

저는 직원 팀을위한 프로그램을 만들려고합니다. 그들은 일을하는 사이에 서로에게 연락 할 수 있습니다. 스카 이프와 같은 대화방이지만 모든 것을 할 수있는 방입니다.C# Foreach lines

내가 원하는 것은 코드 줄입니다. 데이터베이스의 모든 값에 대한 PHP 코드 인 웹 페이지 (webclient)를 들고 싶습니다. 다운로드하고 싶지만 foreach로 어떻게 할 수 있습니까?
해당 웹 사이트의 각 행 (메시지)마다 타이머에 코드 listbox1.Items.Add(message);을 10 초마다 실행하고 listbox1.Items.Clear();으로 항목을 새로 고칩니다.

그런 다음 모든 메시지를 다시 추가 한 다음 로그인하여 타임 스탬프를 설정하므로 로그인 할 때만 타임 스탬프를 표시합니다. 그리고 그 시간의 메시지 만 표시하므로 로그인했을 때부터 상자가 너무 커질 수 있습니다.

저는 코드를 요구하지 않습니다. 저는 C# foreach 또는 C#의 고급 코드로 작업 한 적이없는이 유형의 기술이 없습니다. 웹 클라이언트를 다운로드하는 방법을 알고 있지만 현재 시도한 내용은 다음과 같습니다.

foreach (Line line in Webclient1); 
{ 
    //Datarow row = Client.ExecuteCommand("SELECT server_online FROM settings"); 
    listbox1.Items.Add(line); //foreach message in the website 
} 

코드가 작동하지 않았습니다. 나는 foreach으로 정말 나쁘다. webclient1은 다운로드 한 웹 사이트 문자열이다.

+2

죄송합니다. 이해할 수 없기 때문에 질문을 다시 정리해야합니다. –

+1

'Webclient1'이란 무엇입니까? 결국에는 문자열 일 뿐이라고 주장하는 것 같지만 변수의 이름 *은 실제로는 그렇지 않습니다. 그냥 '문자열'이라면이 루프가 문자열의 각 문자를 반복하는 것을 발견했을 것입니다. 문자열을 문자열 모음으로 바꾸려면'string.Split()'과 같은 것을 사용해야합니다. – David

+0

질문의 세 번째와 네 번째 줄 사이에서 당신을 잃었습니다. 당신의 질문을 다시 할 수 있겠습니까? – Steve

답변

0

문자열을 foreach하려는 경우 먼저 배열로 만들어야합니다.

또한 유형 Line은 Drawing 네임 스페이스에 속하므로 문자열 연산에 적합하지 않습니다. 사용 문자열 대신

시도 :이 구분 기호 "LINEBREAK"귀하의 Webclient1을 분할하고 각 줄은 foreach 문으로 반복 얻을 것이다 임시 배열에 하나 개의 요소가 될 것입니다

foreach(string line in WebClient1.Split('\n')) 

...

구분 기호가 다른 경우에는 다른 항목으로 나눌 수도 있습니다.

WebRequest/WebResponse 클래스를 사용하여 응답을받을 수 있습니다. 그들에게 읽어 주시기 바랍니다 msdn

+2

'Split()'의 결과를'Line'을 타이핑 할 수 없다는 디자인 타임 오류가 발생한다고 상상해보십시오. –

+0

@SirCrispalot);하지만 디자인 타임이라면 OP가 그것을 활용할 수 있기를 바랍니다. 글쎄, 난 쉽게 형태의 라인이 System.Drawing의 일원이라고 생각합니다 .... – Vogel612