Q&A

  • CSV파일 읽어오기...
PS_Data_Rec = ^TS_Data_Rec;
TS_Data_Rec = packed record
...
end
..
var
  fp      : TextFile;
  ABuff : String;
  ARec : PS_Data_Rec;
...
while not Eof(fp) do begin
    Application.ProcessMessages;
    Readln(tp, ABuff);
    Move(ABuff[1], ARec^, Sizeof(TS_Data_Rec));
    ....
end;

CSV파일을 읽어 올때요..
TextFile로 한줄 한줄 읽어와서
ARec레코드에 항목별로 값을 넣으려고 하는데 어떻게 하죠?
Array[0.. n]of char로 읽어왔을 경우엔 읽어온 데이터의 길이가 달라지면
값이 다르게 들어가고 ...
쉼표(,)로 구분되어있으니깐 다른 방법이 있을듯한데요..

답변기다리겠습니다.

1  COMMENTS
  • Profile
    혜월 2003.04.02 22:35
    TStringList의 LoadFromFile로 읽은 다음에

        for i := 0 to MyList.Count -1 do begin
            sTmp := MyList.Strings[i];
            Tmp := StringReplace(sTmp, ',,', ', ,', [rfReplaceAll]);
            Tmp := StringReplace(Tmp, ',,', ', ,', [rfReplaceAll]);

            MyList2.Clear;
            ExtractStrings([','], [#0], PChar(Tmp), MyList2);
    이렇게 한 후에 MyList2에 담긴 내용으로 하면 될거 같네요..