2012-11-27 5 views
0

Soplid Edge라는 3D CAD 프로그램 용 콘솔 응용 프로그램을 만들고 있습니다. 이 응용 프로그램을 사용하면 Visul Basic이 Solid Edge에서 곡선과 선을 그립니다. 곡선을 ​​계산하여 점을 계산하려면 4 차 방정식을 사용하여 배열에 저장되는 점을 계산합니다. 이제 문제가 발생했습니다. 텍스트 파일에서 데이터를 읽었습니다. 그러나이 텍스트 파일에는 다른 커브에 대해 여러 줄이 있습니다. 그리고 내 코드는 그 모든 것을 읽어 들여 그 안에 데이터가있는 마지막 줄을 가져옵니다. 내 질문 : 어떻게하면 내 코드 조각이 첫 번째 줄을 읽고, 점을 계산하고, 곡선을 만든 다음 데이터가있는 다음 줄에서 똑같은 작업을 수행 할 수 있습니까? 여기 텍스트 파일의 모든 행에 대해 동일한 작업 수행

내가 내 텍스트 파일에 모든 행에 대해 반복 취득 할 내 코드입니다 :

'Dmax(Array) 
    Dim listofdata As New ArrayList 
    For x = (0.2 * QT) To ((QFACTOR + 0.1) * QT) Step (0.1 * QT) 
     listofdata.Add(x) 
     y = (((x^4) * C1) + ((x^3) * C2) + ((x^2) * C3) + (x * C4) + C5) 
     listofdata.Add(y) 
    Next 
    Dim dataArray() As Double 
    dataArray = DirectCast(listofdata.ToArray(GetType(Double)), Double()) 

      ' Creating a Curve2d object by using the above defined points 
    objCurves.AddByPoints(PointCount:=14, Points:=dataArray) 

을 그리고 이것은 내가 내 파일 읽기 방법은 다음과 같습니다 닷넷 프레임 워크 4를

Console.Write("Path to file:") 
Dim strFileName As String 
strFileName = Console.ReadLine 
Dim objFS As New FileStream(strFileName, FileMode.Open, FileAccess.Read) 
Dim objSR As New StreamReader(objFS) 

답변

1

을 .x를 당신이 사용할 수있는 ReadLines
http://msdn.microsoft.com/en-us/library/dd383503.aspx

For Each line In IO.File.ReadLines(filename) 
     ' do something with the string 
    Next 

ReadLines는 String의 IEnumerable이며 다른 행을 한 행씩 읽음을 의미합니다. 이 버전을 사용할 수없는 버전을 사용하는 경우 ReadAllLines로 대체하기 만하면됩니다. ReadAllLines는 모든 행을 한 번에 배열로 읽은 다음이 배열을 반복합니다. 파일이 인 경우 두 버전의 차이는 크지 않지만 대용량 파일로 작업하는 경우 첫 번째 파일은 작은 메모리 공간을 차지하며 첫 번째 파일을 읽은 후 처리가 시작되고 모든 파일을 읽은 후에 처리가 시작됩니다.

+0

감사합니다. 나는 시각적 인 기초 2003 년과 함께 일하고있다. 그러나 나는 2010의 급행 판을 설치하기 위해 그것을 ghet하려고 노력할 것이다. 나는 무엇이 가장 잘 작동하는지 보게 될 것이다. –

+0

좋아요, 저는 IT 부서와 대화를 나눴고 새로운 버전이나 빠른 버전을 설치할 수 없습니다. 그리고 Readalllines를 보면 .NET 2.0에서 지원되며 .NET .NET 1.1입니다. 어떤 아이디어를 어떻게 할 수있는 .NET 1.1에서? –

+1

1.1 ... VERY old;) StreamReader와'.ReadLine'을 확인하십시오. 샘플 MSDN 여기에서 : http://msdn.microsoft.com/en-us/library/db5x7c0d(v=vs.71).aspx – igrimpe