스트링그리드1에 텍스트 파일명들을 보여 줍니다...
거기서 더블클릭해서 'C'라고 체크된 파일들의 내용들을(데이타들을) 모두.. 스트링그리드2 에 insert 하려고 하는데여..
아래의 소스를 실행하면...
스트링그리드1에서 체크된 맨~ 마지막 파일만 RichEdit1에 나타나고..
RichEdit1에 뿌려진 그 마지막파일의 첫번째 데이타만 스트링 그리드2 에 뿌려 집니다..
어떻해 수정을 해야 할지.. ㅡㅡ
스트링그리드1에 체크된 모든 파일들의 데이타들을 모두 스트링그리드2에 insert 하려는건 어케 해야 할지... (__) 많은 조언 부탁드려염...
procedure TfrmMnuE1.BtnsaveClick(Sender: TObject);
var i,J,k,f :integer;
str : string;
startrow,endrow : integer;
begin
for k := 1 to 50 do
if StringGrid1.Cells[1, k] = 'C' then
begin
RichEdit1.Lines.LoadFromFile('C:프로젝트 BarReaderTXTDATA' + StringGrid1.Cells[2, k]);
for i:=1 to StringGrid2.RowCount-1 do
StringGrid2.Rows[i].Clear;
StringGrid2.RowCount:=2;
J := 0;
for i:=0 to RichEdit1.Lines.Count-1 do
begin
str:= RichEdit1.Lines.Strings[i];
J := J + 1;
StringGrid2.Cells[1,J]:=copy(str,1,3);
StringGrid2.Cells[2,J]:=copy(str,4,3);
StringGrid2.Cells[3,J]:=copy(str,7,6);
StringGrid2.Cells[4,J]:=copy(str,42,13);
StringGrid2.Cells[5,J]:=copy(str,56,20);
StringGrid2.Cells[6,J]:=copy(str,85,40);
StringGrid2.Cells[7,J]:=copy(str,209,10);
StringGrid2.Cells[8,J]:=copy(str,221,20);
StringGrid2.Cells[9,J]:=copy(str,261,8);
StringGrid2.Cells[10,J]:=copy(str,269,8);
StringGrid2.Cells[11,J]:=copy(str,277,8);
StringGrid2.Cells[12,J]:=copy(str,292,15);
StringGrid2.Cells[13,J]:=copy(str,305,25);
StringGrid2.Cells[14,J]:=copy(str,317,25);
StringGrid2.Cells[15,J]:=copy(str,328,25);
StringGrid2.Cells[16,J]:=copy(str,348,25);
StringGrid2.Cells[17,J]:=copy(str,362,25);
StringGrid1.RowCount:=StringGrid1.RowCount+1;
end;
end;
end;
var
i,j: integer;
inxRow: integer;
str: string;
begin
StringGrid2.RowCount := 2;
StringGrid2.Rows[1].Clear; //그리드 지우기
inxRow := 0; //입력될 Row번호 초기화
for i:=1 to StringGrid1.RowCount do
begin
if StringGrid1.Cells[1, i] = 'C' then
begin
//선택된 줄일경우
RichEdit1.Lines.LoadFromFile('C:BarReaderTXTDATA' + StringGrid1.Cells[2, k]);
//파일의 라인수(데이터수) 만큼 그리드2의 라인수 증가
StringGrid2.RowCount := StringGrid2.RowCount + RichEdit1.Lines.Count;
for j:=0 to RichEdit1.Lines.Count-1 do
begin
inc(inxRow); //입력될 Row번호 증가
str := RichEdit1.Lines[j];
StringGrid2.Cells[1,inxRow] := copy(str,1,3);
//중략
StringGrid2.Cells[17,inxRow] := copy(str,362,25);
end; // j루프
end; //end if
end; //i 루프
end; //프로시져
******************************************************
이렇게 하면 될거 같네여
간단한 건데 순서가 획갈리신거 같네여
테스트 안해봤습니다.
에러가 있을지도 모르겠습니다. 양해 바랍니다.
******************************************************