본문 바로가기

Delphi Tip243

StringGrid 초기화 StringGrid 초기화 procedure TF_Item_Save.StringGridClear; var I: Integer; begin for I := 0 to StringGrid.ColCount - 1 do StringGrid.Cols[I].Clear; StringGrid.RowCount := 2; StringGrid.Cells[0,0] := '대분류'; StringGrid.Cells[1,0] := '중분류'; StringGrid.Cells[2,0] := '시약및재료명'; StringGrid.Cells[3,0] := '규격'; StringGrid.Cells[4,0] := '단위'; StringGrid.Cells[5,0] := '저장여부'; end; 2021. 9. 14.
델파이 퀀텀그리드 Multi select 된 Row값 가져오기 델파이 퀀텀그리드 Multi select 된 Row값 가져오기 for I := 0 to grdItemDBTableView1.Controller.SelectedRowCount -1 do begin qryTemp.Close; qryTemp.SQL.Clear; qryTemp.SQL.Add('Delete from mst_item where rowid = '+grdItemDBTableView1.Controller.SelectedRows[i].Values[0]+' '); qryTemp.ExecSQL; end; 2021. 9. 13.
델파이 스트링그리드 삭제/삽입 델파이 스트링그리드 삭제/삽입 // 줄 삭제 procedure StringGridDeleteRow(StringGrid: TStringGrid; Position: integer); var i: integer; begin for i := Position to StringGrid.RowCount - 1 do StringGrid.Rows[i] := StringGrid.Rows[i + 1]; StringGrid.RowCount := StringGrid.RowCount - 1; end; // 줄 삽입 procedure StringGridInsertRow(StringGrid: TStringGrid; Position: integer); var i: integer; begin StringGrid.RowCount := S.. 2021. 9. 9.
델파이 퀀텀그리드 마지막데이터 선택 델파이 퀀텀그리드 마지막데이터 선택 cxGridDBTableView6.DataController.FocusedRecordIndex := cxGridDBTableView6.DataController.RecordCount-1; 2021. 9. 7.
델파이 AdvStringGrid에서 MultiSelect 델파이 AdvStringGrid에서 MultiSelect 1. option -> RangceSelct = > True 2. MouseAction = > DisjuntCellSelect =>True 2021. 9. 6.
Delphi 스트링그리드(StringGrid) 정렬 Delphi 스트링그리드(StringGrid) 정렬 스트링그리드 컬럼을 선택하면 해당 컬럼으로 정렬됩니다. { ************** SortGrid ************* } procedure TForm1.SortGrid(Grid: TStringGrid; SortCol: Integer); { A simple exchange sort of grid rows } var I, J: Integer; temp: TStringList; begin temp := TStringList.create; with Grid do for I := FixedRows to RowCount - 2 do { because last row has no next row } for J := I + 1 to RowCount - 1 d.. 2021. 9. 3.
델파이 폼 모달 TForm modal, modaless show 델파이 폼 모달 TForm modal, modaless show 1. 모달 폼 띄우기 (팝업창, 모달, modal) ex) 설정폼. TfrmSetup frmSetup := TfrmSetup.Create(Self); // 폼 생성 ..... // 폼 생성 후 보이기 전에 하는 작업 .... try if frmSetup.ShowModal = mrOK then begin // modalresult = OK .... end; finally frmSetup.Free; // 폼 해제 frmSetup := nil; // 그냥 습관임. 폼 변수가 폼 생성 여부를 가르키게.. end; 2. 그냥 폼 띄우기 (모달리스, modaless) ex) 로그창. TfrmLogView 로그창이 떠 있으면 앞으로 보내고, 없으면 띄운.. 2021. 9. 2.
델파이 Tcxgrid 선택한 값 가져오기 델파이 Tcxgrid 선택한 값 가져오기 var i : Integer; vVal : Variant; begin //with cxGridDBTableView16 do //begin // ShowMessage(Columns[Controller.FocusedColumnIndex].Caption); // ShowMessage(Columns[Controller.SelectedColumns[4]].Caption); //end; //cxGridDBTableView16.DataController.SelectRows(4); vVal := Null; for I := 0 to cxGridDBTableView16.DataController.GetSelectedCount-1 do begin vVal := cxGridDBTabl.. 2021. 9. 1.
델파이 퀀텀그리드 Excel출력하기 델파이 퀀텀그리드 Excel출력하기 1. uses 절에 다음을 추가 한다 cxGridExportLink , shellApi 2. 엑셀버튼 클릭시 SaveDialog1.FileName := '상품코드.xls'; if SaveDialog1.Execute then begin ExportGridToExcel(SaveDialog1.FileName, Grid_Master, true, true, false, 'xls'); Application.ProcessMessages; if MessageDlg(SaveDialog1.FileName + ' 파일을 실행하시겠습니까?', mtWarning, [mbYes, mbNo], 0) = mrYes then ShellExecute(self.Handle, PChar('OPEN'), .. 2021. 8. 31.
델파이 TcxDBTreeList 북마크 Bookmarks 사용하기 델파이 TcxDBTreeList 북마크 사용하기 억지스럽지만.....모...; procedure DBTreeListSelectBookmark_Go(DBTreeLiat:TcxDBTreeList; iFocus, iFocus0,iFocus1,iFocus2,iFocus3: integer ); begin case iFocus of 0 : DBTreeLiat.Items[iFocus0].Focused := True; 1 : DBTreeLiat.Items[iFocus0].Items[iFocus1].Focused := True; 2 : DBTreeLiat.Items[iFocus0].Items[iFocus1].Items[iFocus2].Focused := True; 3 : DBTreeLiat.Items[iFocus0].I.. 2021. 8. 27.
델파이 퀀텀트리리스트 TcxDbTreeList 멀티셀렉트 데이터 키값가져오기 델파이 퀀텀트리리스트 TcxDbTreeList 멀티셀렉트 데이터 키값가져오기 procedure TForm1.Button1Click(Sender: TObject); Var i: integer; begin for I := 0 to cxDBTreeList1.SelectionCount - 1 do Memo1.lines.add(TcxDBTreeListNode(cxDBTreeList1.Selections[i]).KeyValue); end; procedure TForm1.Button1Click(Sender: TObject); Var i: integer; begin cxDBTreeList1.DataController.BeginUpdate; try for I := 0 to cxDBTreeList1.SelectionCou.. 2021. 8. 26.
delphi tadvcolumngrid fixedcolor delphi tadvcolumngrid fixedcolor grid.Look을 glStandard로 설정하고 grid.FixedColor를 사용할 수도 있습니다. 2021. 8. 25.
VCL 애플리케이션에서 TControl.StyleElements 사용/미사용 VCL 애플리케이션에서 TControl.StyleElements 사용/미사용 델파이 스타일 제외 시키기 VCL 애플리케이션 생성 Vcl.Controls.TControl.StyleElements 를 사용하려면 VCL Forms Application 을 만들어야 합니다 . 그렇게 하려면 다음 단계를 따르세요. 선택 파일> 새로 만들기> VCL Forms 응용 프로그램 - 델파이 VCL 양식 디자이너 를 열려면 프로젝트 관리자 에서 .pas 단위를 두 번 클릭 한 다음 코드 편집기의 아래쪽 가장자리에 있는 디자인 탭 을 클릭합니다 . 구성 요소 추가 및 설정 조정 애플리케이션을 실행하기 전에 다음을 수행해야 합니다. 드롭 이 TButton 로부터 도구 팔레트를 폼에. 양식의 아무 곳이나 클릭 하고 이벤트 탭 .. 2021. 8. 24.
델파이 동작 없을 시 자동 로그아웃 델파이 동작 없을 시 자동 로그아웃 var Form1: TForm1; tm: integer; Crs: TPoint; implementation {$R *.dfm} procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean); var message: TWMKey; begin if Msg.message = WM_MOUSEMOVE then begin if (Abs(LOWORD(Msg.lParam) - crs.x) > 20) or (Abs(HIWORD(Msg.lParam) - crs.y) > 20) then // 마우스 움직임 감시 tm := 0; end else if (Msg.message = WM_KEYDOWN) or (Msg.message = WM_K.. 2021. 8. 23.
델파이 USB 인식 델파이 USB 인식 USB를 꽂거나 뺏을 때 이벤트 발생 해당 이벤트가 발생하면 처리하는 함수 구현 방법 1. 이벤트 발생 시 파라미터로 받을 데이터 타입 선언 type TWMDeviceChange = packed record Msg : Cardinal; Event: Word; dwData: Longword; Result : LongInt; end; 2. 메인 Form 클래스 안에 함수 선언 TfrmMain = class(TForm) public procedure WMDeviceChange(var Msg: TWMDeviceChange); message WM_DEVICECHANGE; end; 3. 함수 기능 구현 procedure TfrmMain.WMDeviceChange(var Msg: TWMDevice.. 2021. 8. 18.
델파이 ESC키 누르면 폼닫기 델파이 ESC키 누르면 폼닫기 먼저 Form.KeyPreview = True 로 변경 후 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_ESCAPE then Close; end; 2021. 8. 16.
델파이 마우스 아래의 윈도우 핸들 구하기 델파이 마우스 아래의 윈도우 핸들 구하기 // 아래처럼 타이머를 사용하지 않고 마우스 후킹을 사용하면 좀더 간결한 프로그램을 만들 수 있습니다 // SetWindowsHookEx(WH_MOUSE,...) 를 찾아보세요 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private.. 2021. 8. 15.
델파이 마우스 위치의 컨트롤 델파이 마우스 위치의 컨트롤 // 마우스 포인터 위치의 콘트롤(콤포넌트)의 이름을 폼의 Caption에 // 출력하는 예로 아래의 Label1, Edit1, Memo1, Button1 등은 임의로 // 올려놓으시고 테스트 해보세요 // Panel 안에 있는 콘트롤도 구분할 수 있습니다 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Memo1: TMemo; Button1: TButton; private { Private declarations } proce.. 2021. 8. 14.
델파이 하드디스크 시리얼 알아내기 델파이 하드디스크 시리얼 알아내기 function TF_Main.ReadHDDSerial: String; var MC, FL, PDW : DWord; begin GetVolumeInformation( nil, nil, 0, @pdw, mc, fl, nil, 0 ); Result := IntToStr(pdw); end; 2021. 8. 13.
델파이 모니터 전원 컨트롤 델파이 모니터 전원 컨트롤 // 전원상태를 절전모드로 유지한다. SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 1); // 전원을 원래상태로 둔다. SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1); // 전원을 아예 shut off 시킨다. SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2); 2021. 8. 12.