안녕하세요...
그리드에 있는 값을 읽어서 text파일로 저장하려고 합니다..
아래와 같이 그리드의 cell값을 배열에 넣은 후 한번에 한 줄로 출력하려고 했는데..
잘안되내요..
어떻게 하면...그리드의 row값을 텍스트 파일에 한줄로 출력할 수 있는지 좀 알려주세요...
var
str : Array[1..4] of String;
TextFile : TextFile;
begin
AssignFile(TextFile, 'C:ram847101.Txt');
Append(TextFile);
for j := 0 to sg_test.rowcount do
begin
str[1] := sg_test.cells[j, 0];
str[2] := sg_test.cells[j, 1];
str[3] := sg_test.cells[j, 2];
str[4] := sg_test.cells[j, 3];
end;
for i := 1 to 4 do
Writeln(TextFile, Str[i]);
end;
두번째 for문이 첫번째 for문안으로 들어가야 하겠죠. 안그러면 맨 마지막거 하나만 넣
어질테구요.. 그리고 마지막에 파일을 닫지 않았군요... 또하나 for문의 인뎃스에서
RowCount에서 1을 빼주셔야죠... 0부터 시작하기 때문에...
Write함수는 줄바꿈을 하지 않습니다. 참조하세요...
var
// str: Array[1..4] of String;
TextFile: TextFile;
X, Y: Integer;
begin
AssignFile(TextFile, 'C:ram847101.Txt');
Append(TextFile);
for Y := 0 to (sg_test.RowCount - 1) do
for X := 0 to (sg_test.ColCount - 1) do
WriteLn(TextFile, sg_test.Cells[X, Y]);
CloseFile(TextFile);
end;
^^ 항상 즐코하세요...
초보 wrote:
> 안녕하세요...
>
> 그리드에 있는 값을 읽어서 text파일로 저장하려고 합니다..
>
> 아래와 같이 그리드의 cell값을 배열에 넣은 후 한번에 한 줄로 출력하려고 했는데..
>
> 잘안되내요..
>
> 어떻게 하면...그리드의 row값을 텍스트 파일에 한줄로 출력할 수 있는지 좀 알려주세요...
>
>
> var
> str : Array[1..4] of String;
> TextFile : TextFile;
>
> begin
> AssignFile(TextFile, 'C:ram847101.Txt');
> Append(TextFile);
>
> for j := 0 to sg_test.rowcount do
> begin
> str[1] := sg_test.cells[j, 0];
> str[2] := sg_test.cells[j, 1];
> str[3] := sg_test.cells[j, 2];
> str[4] := sg_test.cells[j, 3];
> end;
>
> for i := 1 to 4 do
> Writeln(TextFile, Str[i]);
> end;
>