>>21
そのどっちかしかないよ。前者の場合先頭から一バイトずつ解析していけば可能。
TStrings二つ使ってやるのが楽かも
lines.LoadFromFile('foo.cvs');
for i := 0 to lines.Count-1 do
begin
 values.CommaText := lines[i];
 ...
 lines[i] := values.CommaText;
end;