2010-04-22 3 views
1

이 파일이 있습니다. 이름, 프로젝트, 주간 데이터를 저장하고 프로젝트에 소비 한 시간을 저장합니다. 여기에 예제가 있습니다이 파일의 데이터를 분할하는 방법 vb6

"James","Project5","15/05/2010","3" 
"Matt","Project1","01/05/2010","5" 
"Ellie","Project5","24/04/2010","1" 
"Ellie","Project2","10/05/2010","3" 
"Matt","Project3","03/05/2010","4" 

따옴표없이 양식에 인쇄해야합니다. 거기에 이름을 한 번만 표시하고 그 이름 아래에 프로젝트를 표시해야합니다. 나는 tihs를 보았고 분할 함수는 재미있을 것 같습니다.

어떤 도움도 도움이 될 것입니다.

+0

이 숙제가 있습니까? 아니면이 사람과 같은 사람입니까? http://stackoverflow.com/questions/2690505/how-to-split-the-data-in-this-file-vb6 – PaulG

+0

저는 그 사람과 같은 사람입니다.) 그리고 아니, 그 숙제가 아니다. – Andeeh

답변

1

Microsoft는 CSV ADO 공급자가 있습니다. 나는 그것이 ADO의 나머지 부분과 함께 설치된다고 생각한다. 이것은 정확히 읽도록 설계된 형식입니다.

VB 샘플의 경우 http://www.vb-helper.com/howto_ado_load_csv.html을 참조하십시오.

+0

그것은 불필요하게 복잡하다. VB6의 내장 파일 입출력 기능 만 있으면 충분합니다. – raven

1

입력하신 이름을 추적하여 데이터를 다시 주문 하시겠습니까? 이름, 프로젝트 및 기타 정보가있는 새로운 유형의 목록으로 데이터를 읽은 다음 인쇄하기 전에 정렬해야하는 이유는 무엇입니까? 당신이 IComparer를 클래스를 구축하고 구현하는 OK 경우이 꽤 쉽게 끝낼 수있는 목록을 정렬 할 수 있도록


사전 솔루션은 간단하지만

이 더 나은 해결책이 될 수 있습니다.

+0

그게 더 좋은 방법 이겠지만, 나는 그것을 풀어 낼 수있는 기술을 가지고 있다고 생각지 않는다. – Andeeh

2

Dictionary 개체를 만든 다음 주어진 이름의 모든 것을 하나의 사전 항목에 넣습니다.

그런 다음 두 번째 반복에서 모든 것을 인쇄합니다.

0

당신은 당신이 남아있을 것입니다 데이터의 배열을 처리, 쉼표에 분할, 각 라인을 읽을 따옴표를 제거 할 수 :

Dim filenum As Integer 
Dim inputLine As String 
Dim data() As String 

filenum = FreeFile 
Open "U:\test.txt" For Input As #filenum 
Do While Not EOF(filenum) 
    Line Input #filenum, inputLine 
    inputLine = Replace(inputLine, Chr(34), vbNullString) 
    data = Split(inputLine, ",") 
    Debug.Print data(0), data(1), data(2), data(3) 
Loop 
Close #filenum 

아니면 입력 명령 스트립 따옴표를 가질 수있다, 데이터를 변수로 읽어들입니다.

Dim filenum As Integer 
Dim name As String, project As String, dat As String, hours As String 

filenum = FreeFile 
Open "U:\test.txt" For Input As #filenum 
Do While Not EOF(filenum) 
    Input #filenum, name, project, dat, hours 
    Debug.Print name, project, dat, hours 
Loop 
Close #filenum 
관련 문제