Q&A

  • 스트링그리드에서 선택한 데이타 insert시키기...
스트링그리드에 텍스트 파일명들을 보여 줍니다...
거기서 더블클릭해서 '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;
1  COMMENTS
  • Profile
    머슴 2002.09.04 20:00
    스트링 그리드에.. 체크필드가 있고 이어서 그 화일의 경로가 있을 경우에
    해당됩니다.. 이런 경우에는 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;


    • 이정택
    • 2002.09.04 19:51
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.09.04 20:09
        제가 알기로는  Query컴퍼넌트는 Refresh 메서드를 지원을 안하는 것으로 &nb...
    • 김흥식
      2002.09.04 20:14
      도움이 될런지... 저는 이렇게 합니다. Query.Active := False; Query.Active := True; 그럼..
    • 김상수
    • 2002.09.04 19:41
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김영남
      2002.09.04 19:52
      델파이에두 물론 문자열 위치 반환이나 문자열을 자르는 함수가 있지요... 문자열 자르기 _st := '12...
    • 김상수
      2002.09.04 20:13
    • 짱아
    • 2002.09.04 19:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.09.04 20:00
      스트링 그리드에.. 체크필드가 있고 이어서 그 화일의 경로가 있을 경우에 해당됩니다.. 이런 경우에는 ...
    • 김영남
      2002.09.04 20:05
      델파이에서 호스트 변수 사용을 말씀하시는건지? 그럼... parambyname('Abc').asstring := '2002/0...
    • sunny
    • 2002.09.04 17:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김용일
      2002.09.04 19:07
      님께서 쓰신 방법은 문제가 있군요. 더블클릭보다는 DrawCell 이벤트를 써야 마땅합니다. 더블클릭은 설...
    • 박정찬
    • 2002.09.04 09:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.09.04 20:55
      안녕하세요. 최용일입니다. 패키지파일에서 *.dcu파일빼시고 *.dcu파일들은 패스가 지정된 Lib폴더 같은...
    • 용환종
    • 2002.09.04 07:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.09.04 20:56
      hsr///////////////////////////////////////////////////////////// 컴포넌트로 되어있는것을 풀어서 정...
    • 김주경
    • 2002.09.04 07:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 미소나눔
      2002.09.04 18:43
      연결 컴포넌트를 어떤것을 쓰는지 잘모르지만 만약 DCOM 을 이용해서 DataSnapd을 이용한다면 클라이언트...
    • 신봉석
    • 2002.09.04 04:48
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.09.04 07:47
      hsr//////////////////////////////////////////////////// TStream과 TStrings으로 바꾼후 선택하는건데...
    • 이중철
      2002.09.04 05:49
      일단 랜덤하게 parent를 찾는다면 방법이 기존의 루프 밖에 없고요. 입력 방법이 어떤것이냐에 따라 입...
    • 한원희
      2002.09.04 07:34
      안녕하세요. 한원희입니다. 음... 아래와 같은 방식이라면, 하나의 노드를 추가하는 것이라면 상관이 없...
    • 짱아
    • 2002.09.04 04:20
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김용일
      2002.09.04 19:13
      procedure TForm1.Panel1DblClick(...); begin     with StringGrid1 do  &nb...
    • 동키호테
      2002.09.04 04:33
      StringGrid1.Cells[Col_num][Row_Num] := 'C'; 이렇게 하면 될텐데.. Panel1의 더블클릭쪽에다만 이것...
    • 짱아
      2002.09.04 19:13
      ㅡㅡ; 관심 가져 주셔셔 정말 감사 합니다.. 해결 했답니당.. ^^*
    • 최용일
      2002.09.04 05:22
      안녕하세요. 최용일입니다. 걍 메세지 보내시면 됩니다... procedure InsertString(Wnd: THandle; co...
    • 최용일
      2002.09.04 07:50
      안녕하세요. 최용일입니다. IcsDel50이라는 이름을 가진 패키지가 설치되어 있는가 다시한번 확인해보세...
    • 최용일
      2002.09.04 05:25
      안녕하세요. 최용일입니다. 메타파일은 확실히 잘 될지 모르겠구요... TCanvas.CopyRect로 읽어오시...
    • 최용일
      2002.09.04 03:14
      안녕하세요. 최용일입니다. 퀵리포트 홈페이지에 가시면 있습니다. http://www.qusoft.com/ 이전...
    • 궁금이
      2002.09.04 16:53
      먼저 답변을 주신점 정말 감사합니다. http://www.qusoft.com/ 사이트는 잘 알고 있어요. 현재 Delph...
    • 최용일
      2002.09.04 18:58
      안녕하세요. 최용일입니다. 델파이에서는 같은 이름의 컴포넌트를 등록할 수 없어요... 에러내용을 보면...
    • 궁금이
      2002.09.05 20:36
      감사,,,감사,, 감사,, 혹시  Delphi3 QuickReport 3.08 가지고 있으면 좀 부탁드립니다... ...
    • 델사랑
    • 2002.09.04 02:14
    • 0 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.09.04 02:10
      헐~~~ 델파이로만은 힘들것같은데... GIS하고 같이 움직여야 될것같네요... 4번이라면 캐드의 레이어 식...
    • 윤여훈
      2002.09.04 03:37
      안녕하십니까? 답변 감사합니다. 하지만 워낙 초보인지라... 맵오브젝트 및 CAD의 레이어에 관해서 좀더 ...
    • KDDG_ZZOM
      2002.09.04 04:07
      저도 잘몰라요... 우선 캐드랜드가 맞을거예요... 거기서 데모버젼을 받아서 한번해보세요... 서버구성...
    • 김상수
    • 2002.09.04 01:42
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김영남
      2002.09.04 20:10
      윈도우즈의 데이터 타입형이  'yy-mm-dd'로 되어 있는게 아닌지요? 제어판의 국가별옵션에......
    • 김상수
      2002.09.05 00:18
    • 이중철
      2002.09.04 06:08
      밑져야 본전 이와같이 해보세요.. 심심하시면(잘안된다 싶으면) Typecasting 해보시고요. 델파이5.0이나 4...
    • 김상수
      2002.09.04 18:43
    • 고지범
      2002.09.04 02:13
      안녕하십니까? 지나가던 얼큰입다. TAction 의 경우 해당 액션이 Sender로 올라옵니다. 그리고 폼의 속성...
    • KDDG_ZZOM
      2002.09.04 01:52
      var   vv_i: Integer; begin   with TWinControl(Panel1) do   begin ...