스트링그리드에 텍스트 파일명들을 보여 줍니다...
거기서 더블클릭해서 'C'라고 체크된 파일들의 내용들을(데이타들을) 모두.. db에 저장 하려고 하는데여..
아래의 예제는 다이얼 로그 박스를 이용해서 선택한 하나의 텍스트파일의 내용만을 불러와 저장하도록 한는건데여..
어떻해 수정을 해야 할지.. ㅡㅡ
하나의 파일은 열어서 저장할수록은 하겠는데..
스트링그리드에 체크된 모든 파일들의 데이타들을 모두 저장하는건 어케 해야 할지... (__) 많은 조언 부탁드려염...
procedure TfrmMnuE1.BtnsaveClick(Sender: TObject);
var i,J:integer;
str : string;
startrow,endrow : integer;
begin
// if StringGrid1.Cells[1, StringGrid1.Row] = 'C' then
// begin
if OpenDialog1.Execute then
begin
RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);
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;
query1.insert;
query1.fieldbyname('aaa').asstring := copy(str,5,3);
query1.fieldbyname('bbb').asstring := copy(str,10,3);
query1.fieldbyname('ccc').asstring := copy(str,15,1);
query1.fieldbyname('ddd').asstring := copy(str,20,11);
query1.fieldbyname('eee').asstring := copy(str,35,8);
query1.fieldbyname('fff').asstring := copy(str,45,8);
query1.fieldbyname('ggg').asstring := copy(str,55,12);
query1.fieldbyname('hhh').asstring := copy(str,99,2);
query1.post;
end;
OpenDialog1.InitialDir:=ExtractFilePath(OpenDialog1.FileName);
end;
end;
해당됩니다.. 이런 경우에는 OpenDialog를 호출할 필요가 없을 것 같습니다.
즉 이미 경로가 있으므로 직접 호출을 하면 될것 같고요..
if StringGrid1.Cells[1, StringGrid1.Row] = 'C' then
begin
//직접 경로로 호출...
RichEdit1.Lines.LoadFromFile(StringGrid1.Cells[2, StringGrid1.Row]);
for i:=0 to RichEdit1.Lines.Count-1 do
begin
str:= RichEdit1.Lines.Strings[i];
query1.insert;
query1.fieldbyname('aaa').asstring := copy(str,5,3);
query1.fieldbyname('bbb').asstring := copy(str,10,3);
query1.fieldbyname('ccc').asstring := copy(str,15,1);
query1.fieldbyname('ddd').asstring := copy(str,20,11);
query1.fieldbyname('eee').asstring := copy(str,35,8);
query1.fieldbyname('fff').asstring := copy(str,45,8);
query1.fieldbyname('ggg').asstring := copy(str,55,12);
query1.fieldbyname('hhh').asstring := copy(str,99,2);
query1.post;
end;
end;