±ÍÇÏ´Â ¼Õ´Ô À̽ʴϴÙ
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ
  
  µ¨¸¶´ç °ø½Ä ÀºÇà°èÁÂ
  ÇϳªÀºÇà 227-910235-83607
  ¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø)
ÇÁ·ÎÁ§Æ® °Ô½ÃÆÇ
ÅõÇ¥°Ô½ÃÆÇ
µ¨¸¶´ç¼Ò°³
±âÃʺÎÅÍ È°¿ë±îÁö! µ¨ÆÄÀÌ ±³À° - µ¥ºê±â¾î
Áú¹®°ú ´äº¯ Áú¹®°ú ´äº¯ ÀÔ´Ï´Ù.
±Û³»¿ë - Áú¹®°ú ´äº¯
 [Áú¹®]DB¿¡ Àִ ¿¢¼¿ ¾ç½Ä¿¡ À̹ÌÁö »Ñ¸®±â Á» ºÁÁÖ¼¼¿ä.
ÀüºÀ¼ö
(ÀüºÀ¼ö)
2018-02-21 ¿ÀÈÄ 10:45:16
1032ȸ Á¶È¸


÷ºÎÆÄÀÏ ´Ù¿î·Îµå
DBopen.gif
1. °³¹ß/½ÇÇà Ç÷§Æû 
  (1) OS : Windows 7
  (2) °³¹ßÅø : Delphi 7 
  (3) »ç¿ë Database : Firebird 2.1

2. °³¹ß ÁßÀΠÇÁ·Î±×·¥ 

3. Áú¹® ³»¿ë 
¿¢¼¿ÆÄÀÏÀ»DB¿¡ ³Ö°í ½ºÆ®¸µ±×¸®µå·Î ºÒ·¯¿Í¼­ ¿­±â ±îÁö´Â ¸¸µé¾ú ½À´Ï´Ù. ¿¢»ø ¾ç½ÄÀ» DB¿¡ ³Ö°í ºÒ·¯¿Í¼­ ¿¢¼¿ ¾ç½Ä¿¡ À̹ÌÁö°¡ Æ÷ÇԵȠµ¥ÀÌÅ͸¦ »Ñ·ÁÁִ ·çÅÏÀ» ¸¸µé¾ú½À´Ï´Ù. ¹ÃÁ¦´Â µ¥ÀÌÅʹ ¾ç½Ä¿¡ Àß µé¾î°¡´Âµ¥ À̹ÌÁö´Â ¿¢¼¿ ¾ç½Ä¿¡ µé¾î°¡Áö ¾Ê³×¿ä.

OpenDialog ·Î ¿¢¼¿ ¾ç½ÄÀ» ºÒ·¯¿Í¼­ »Ñ·ÁÁִ °ÍÀº À̹ÌÁö³ª µ¥ÀÌÅÍ°¡ Àß µé¾î°©´Ï´Ù.

¾Æ·¡ÄÚµå´Â DB¿¡¼­ ½ºÆ®¸µ±×¸®µå·Î ºÒ·¯µéÀΠ¿¢¼¿ ¾ç½ÄÀ» ¼±ÅÃÇÏ¿© µ¥ÀÌÅ͸¦ ¿¢¼¿¿¡ »Ñ·ÁÁִ ÄÚµå ÀÔ´Ï´Ù. °í¼ö´Ôµé ¹«¾úÀÌ À߸ø µÈ°ÇÁö Á» ºÁÁÖ¼¼¿ä.

// Äû¸®°á°ú ¿¢¼¿·Î º¸³»±â
procedure TFEM2011_F.Btn_ExcelClick(Sender: TObject);
VAR
  EXEDir,DataDir : String;          
  FileExt   : String;                
  aImage : String;
  XL,xlbook,xlsheet : VARIANT;
  ArrV      : OleVariant;
  nROW,iRow : integer;
  I,Row,Col : Integer;
begin
  EXEDir := ExtractFilePath(Application.ExeName);  
  DataDir := EXEDir + 'Injang\';                     
  ForceDirectories(DataDir);                       
  aImage:=DataDir+'EQIMG.JPG';                     

  Screen.Cursor:= crHourGlass;
  try
    XL:= CreateOleObject('Excel.Application');
  except
    Application.MessageBox('ExcelÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù. ¸ÕÀú ExcelÀ» ¼³Ä¡Çϼ¼¿ä.',
                           '¿À·ù', MB_OK or MB_ICONERROR);
    Screen.Cursor:= crDefault;
    Exit;
  end;
  {----<÷ºÎÆÄÀÏ¿¡ Àִ ÇÁ·Î±×·¥ È£Ãâ>---}
  // ¿¢¼¿¾ç½Ä ÀúÀåDB ÇÁ·Î±×·¥ ºÒ·¯¿À±â
  ECLFILE_F := TECLFILE_F.create(self);
    Try
      ECLFILE_F.showmodal;
    finally
     ECLFILE_F.close;
    end;
  {--------------------------------------}
      Try
        XL.Visible := True;
        APPLICATION.BringToFront;

        // FORM CAPTIONÀ» Á¦¸ñÀ¸·Î ³Ñ±â±â
        nROW:=1;
        XL.CELLS[nROW,1].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,1].FONT.SIZE:=24;
        XL.CELLS[nROW,1].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,1].FONT.BOLD:=TRUE;
        XL.CELLS[nROW,1]:=Copy(Panel11.Caption,1,17);

        // ÀåºñÄڵ堳ѱâ±â
        nROW:=2;
        XL.CELLS[nROW,2].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,2].FONT.SIZE:=14;
        XL.CELLS[nROW,2].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,2].FONT.BOLD:=TRUE;
        XL.CELLS[nROW,2]:=ED_QFEQ_CODE.Text;

        // ±â±â¸í ³Ñ±â±â
        nROW:=3;
        XL.CELLS[nROW,2].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,2].FONT.SIZE:=14;
        XL.CELLS[nROW,2].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,2].FONT.BOLD:=TRUE;
        XL.CELLS[nROW,2]:=ED_QFEQ_NM.Text;

        // Á¶È¸ÀÏÀÚ ³Ñ±â±â
        nROW:=3;
        XL.CELLS[nROW,6].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,6].FONT.SIZE:=12;
        XL.CELLS[nROW,6].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,6].FONT.BOLD:=TRUE;
        XL.CELLS[nROW,6]:='Á¶È¸ÀÏÀÚ: '+FORMATDATETIME('yyyy"³â" mm"¿ù" dd"ÀÏ"',DATE);

        // ¼³Ä¡Àå¼Ò ³Ñ±â±â
        nROW:=4;
        XL.CELLS[nROW,2].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,2].FONT.SIZE:=14;
        XL.CELLS[nROW,2].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,2].FONT.BOLD:=TRUE;
        XL.CELLS[nROW,2]:=ED_QESBH_LC.Text;

        // ÇÕ°èÁ¤ºñ±Ý¾× ³Ñ±â±â
        nROW:=4;
        XL.CELLS[nROW,4].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,4].FONT.SIZE:=12;
        XL.CELLS[nROW,4].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,4].FONT.BOLD:=TRUE;
        XL.CELLS[nROW,4]:=St_AMT.CAPTION;

        // Ã³¸®°Ç¼ö ³Ñ±â±â
        nROW:=4;
        XL.CELLS[nROW,6].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,6].FONT.SIZE:=12;
        XL.CELLS[nROW,6].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,6].FONT.BOLD:=TRUE;
        XL.CELLS[nROW,6]:='󸮰Ǽö: '+Lb_CrKunSu.CAPTION;
        {----------------<À̹ÌÁö¸¦ ¿¢¼¿¿¡ »Ñ¸®±â>----------------------------}
        // À̹ÌÁö ¿¢¼¿·Î ³Ñ±â±â(ÀÛ¼º)
        IF FileExists( aImage ) then
          begin                        // ¿©±â¼­ºÎÅÍ ÀνÄÀ» ¸øÇÏ°í Áö³ª°¡´Â °÷ÀÔ´Ï´Ù.
            xlsheet.cells[5,1].select;
            xlsheet.pictures.insert(aImage).Select;
            xlsheet.pictures[1].ShapeRange.Left := xlsheet.Range['A5'].Left;
            xlsheet.pictures[1].ShapeRange.Top  := xlsheet.Range['A5'].Top;
            xlsheet.pictures[1].ShapeRange.IncrementLeft(10);
            xlsheet.pictures[1].ShapeRange.IncrementTop(1);
            xlsheet.pictures[1].width := 312;
            xlsheet.pictures[1].height:= 215;
          end;
        {--------------------------------------------------------------------}
        // ±â±âNO ³Ñ±â±â
        nROW:=5;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QFEQ_CODE.Text;

        // ±â±â¸í ³Ñ±â±â
        nROW:=6;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QFEQ_NM.Text;

        // ÀåºñºÐ·ù ³Ñ±â±â
        nROW:=7;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=14;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QFEQ_DV.Text;

        // ºÎ¼­¸í ³Ñ±â±â
        nROW:=8;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=14;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ST_QPART_NM.Caption;

        // °ø±ÞÀå¼Ò ³Ñ±â±â
        nROW:=7;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QSPL_LC.Text;

        // Á¦Á¶¹øÈ£ ³Ñ±â±â
        nROW:=8;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QMAK_NO.Text;

        // Á¦ÀÛȸ»ç ³Ñ±â±â
        nROW:=9;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QMET_COMP.Text;

        // ¼³Ä¡Àå¼Ò ³Ñ±â±â
        nROW:=10;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QESBH_LC.Text;

        // ¼³Ä¡³âµµ ³Ñ±â±â
        nROW:=11;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QESBH_YR.Text;

        // Çü½Ä ³Ñ±â±â
        nROW:=12;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QFEQ_FROM.Text;

        // ¼ö·® ³Ñ±â±â
        nROW:=13;
        XL.CELLS[nROW,5].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,5].FONT.SIZE:=12;
        XL.CELLS[nROW,5].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,5]:=ED_QFEQ_QTY.Text;

        // ÀåºñÁ¦¿ø ³Ñ±â±â
        nROW:=6;
        XL.CELLS[nROW,7].FONT.NAME:='±¼¸²';
        XL.CELLS[nROW,7].FONT.SIZE:=9;
        XL.CELLS[nROW,7].FONT.COLOR:=clBLACK;
        XL.CELLS[nROW,7]:=MO_QFEQ_STD.Lines.Text;
        XL.Cells[6, 7].Value := StringReplace(MO_QFEQ_STD.Lines.Text,
                                #13, '', [rfReplaceAll]);

        ArrV:= VarArrayCreate([0, StringGrid1.RowCount,
                               0, StringGrid1.ColCount], varOlestr);
        I:= 0;
        // °Ë»ö ·çÇÁ
        for Row:=0 to StringGrid1.RowCount -1 do
          begin
            //INC(nROW);
            // ¼¿º´ÇÕ
            XL.Range['E' + IntToStr(16 + Row) + ':G' + IntToStr(16+Row)].mergecells := True;
            // Çʵ堳ѱâ±â
            for Col:= 0 to StringGrid1.ColCount -1 do
              begin
                ArrV[Row,Col]:=StringGrid1.cells[Col,Row];
                if (Row <> 0)  then
                  // ¹®ÀÚ¸¦ ¼ýÀÚÆ÷¸äÀ¸·Î ÀüȯÇÏ¿© ÀڷḦ ¿¢¼¿·Î ³Ñ±ä´Ù.
                  XL.CELLS[Row +16, Col + 1].Value := StringGrid1.Cells[Col, Row];
              end;
              Inc(I);
          end;

        // 1¼¿¾¿ »Ñ¸®±â
        nRow := 17;
        for iRow :=1 to StringGrid1.RowCount do
          begin
            XL.CELLS[nROW,8] :=StringGrid1.Cells[5,iRow];  //ºñ°í
            inc(nROW);
          end;

        // Å׵θ®
        XL.Range['A' + IntToStr(16) + ':H' + IntToStr(15+StringGrid1.RowCount)].Borders.Color := clBlack;
        // Çʵ带 °¡¿îµ¥ Á¤·Ä
        XL.Workbooks[1].WorkSheets[1].Range['A16:H116'].HorizontalAlignment :=xlHAlignCenter;

        XL.Visible := True; //¿¢¼¿ Ãâ·Â

        // ÇʵåÁÙ ±½Àº Å׵θ® ¼³Á¤
        XL.Range['A16:H16'].Select;
        XL.Range[XL.Selection, XL.Selection.End[xlDown]].Select;

        XL.Selection.Borders[xlEdgeLeft].Weight :=  xlMedium;
        XL.Selection.Borders[xlEdgeTop].Weight :=  xlMedium;
        XL.Selection.Borders[xlEdgeBottom].Weight :=  xlMedium;
        XL.Selection.Borders[xlEdgeRight].Weight :=  xlMedium;

        // Á¦¸ñÁÙ ±½Àº Å׵θ® ¼³Á¤
        XL.Range['A16:H16'].Select;
        XL.Selection.Borders[xlEdgeLeft].Weight :=  xlMedium;
        XL.Selection.Borders[xlEdgeTop].Weight :=  xlMedium;
        XL.Selection.Borders[xlEdgeBottom].Weight :=  xlMedium;
        XL.Selection.Borders[xlEdgeRight].Weight :=  xlMedium;

        // ¿¢¼¿ ¹®ÀÚ¸¦ ¼¿¿¡ ¸ÂÃá´Ù.
        XL.Range['A17:H17'].Select;
        XL.Range[XL.Selection, XL.Selection.End[xlDown]].Select;
        XL.Selection.HorizontalAlignment := xlGeneral;
        XL.Selection.VerticalAlignment   := xlCenter;
        XL.Selection.ShrinkToFit         := True;
        XL.Selection.ReadingOrder        := xlContext;

        // ÆùÆ® ÁöÁ¤
        XL.Range['A17:H17'].Select;
        XL.Range[XL.Selection, XL.Selection.End[xlDown]].Select;
        XL.Selection.Font.Name := '±¼¸²Ã¼';
        XL.Selection.Font.Size := 10;
        XL.Range['A1'].Select;
      finally
        Screen.Cursor:= crDefault;
      End;
    Btn_Excel.Enabled := False;
end;