본문 바로가기

Development/Delphi

DateUtils.pas 날짜함수 원문 : http://www.delmadang.com/community/bbs_view.asp?bbsNo=21&bbsCat=0&indx=209893&page=41 //일자를 추출한다. function DateOf(const AValue: TDateTime): TDateTime; //시간을 추출한다. function TimeOf(const AValue: TDateTime): TDateTime; //평년,윤년을 구분하다. function IsInLeapYear(const AValue: TDateTime): Boolean; //오전,오후를 구분한다. function IsPM(const AValue: TDateTime): Boolean; //Word형의 년,월,일 파라메타의 유효성을 체크한다. function ..
자식컨트롤 특정 클래스타입 찾기 var i, checkedCount: Integer; begin for i:=0 to GBMultiUpdate.ControlCount-1 do begin if TComponent(GBMultiUpdate.Controls[i]).ClassType = TCheckBox then if (GBMultiUpdate.Controls[i] as TCheckBox).Checked then Inc(checkedCount); end; end;
DBGrid 타이틀 클릭시 정렬하기(order by) DBGrid 는 ordering(sorting) 기능이 없다. DataSet(TFDQuery) 는 쿼리한 결과를 모두 가지고 있지 않다. 즉, 메모리에 모두 담고있지 않기 때문에 쿼리를 다시 해야 한다.이는 DataSet(TFDQuery).RecordCount 함수를 실행했을때 실제 쿼리결과의 row count 와 틀린 원인과 동일하다. // DBGrid 타이틀 클릭 procedure TfrmMain.DBGExamTitleClick(Column: TColumn); begin DoSortGrid(Column); end; // 쿼리 order by procedure TfrmMain.DoSortGrid(Column: TColumn); var sSQL : String; iPos,i : Integer; pQry ..
StringGrid의 Column의 크기(width) 자동 조절 원글 : http://www.howto.pe.kr/zboard/zboard.php?id=delphi_tiptrick&page=23&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=name&desc=desc&no=76 procedure AutoSizeGridColumn(Grid : TStringGrid; column : integer); var i : integer; temp : integer; max : integer; begin max := 0; for i := 0 to (Grid.RowCount-1) do begin // Grid Canvas를 기준으로한 지정한 Column의 각 row의 width중 // 최대값을 구하여 column의 width로 결정한다 te..
TDataSet(TQuery, TTable) 엑셀로 저장하기 // DataSet 을 엑셀로 내보내기 procedure TfrmMain.exportToExcel(DataSet: TDataSet); var XL, XArr, XTitle: Variant; i, j, k: Integer; FixedCol: String; begin try //타이틀 처리변수 XTitle := VarArrayCreate([1, DataSet.FieldCount], VarVariant); //데이타 처리변수 XArr := VarArrayCreate([1, DataSet.FieldCount], VarVariant); try //엑셀을 실행 XL := CreateOLEObject('Excel.Application'); except MessageDlg('Excel이 설치되어 있지 않습니다.', M..
TDataSet 바인딩된 SQL Field / Value 출력하기 Memo.lines.ADD(SQLQuery1.SQL.TEXT); for i := 0 to SQLQuery1.Params.Count - 1 do begin Memo.lines.ADD(SQLQuery1.Params.Items[i].Name + ' : ' + VarToStr(SQLQuery1.Params.Items[i].Value));//출력 end;
폼 띄우기 및 해제하기 폼 스타일이 fsNoraml 일경우 MDI 일경우에는 cafree 해주어야 한다.MDI 는 델마당에서 검색해봐 1. ShowModal function // 첫번째 방식 //부모폼 ViewBizSchDlg := TViewBizSchDlg.Create(Application); try ViewBizSchDlg.ShowModal; finally ViewBizSchDlg.Free; end; // 두번째 방식 //부모폼 ViewBizSchDlg := TViewBizSchDlg.Create(Application); ViewBizSchDlg.ShowModal; //자기자신 procedure TViewBizSchDlg.FormClose(Sender: TObject; var Action: TCloseAction); beg..
실행파일 경로 구하기 ExtractFilePath(Application.Exename);