본문 바로가기

분류 전체보기

[FMX] ListBox 전체체크 기능 구현하기 리스트박스(TListBox)에 체크박스를 두고 버튼 클릭 시 전체체크하는 기능에 대한 문의가 있어 정리해 봤습니다. 이 글에서는 아래 내용을 학습할 수 있습니다.리스트박스를 동적으로 생성하는 방법리스트박스 아이템에 체크박스를 표시하는 속성화면 구성컴포넌트 속성 설정주요 속성을 설정합니다.(Object Inspector에서 속성을 설정해도 됩니다.)procedure TForm2.FormCreate(Sender: TObject); begin Button1.StaysPressed := True; //버튼 눌림(IsPressed) 상태 유지 ListBox1.DefaultItemStyles.ItemStyle := 'listboxitemrightdetail'; // 텍스트와 오른쪽에 상세정보가 표시되도록 기본속성 .. 더보기
RAD Studio 2015년 로드맵 RAD Studio(델파이, C++빌더)의 2015년도 로드맵이 발표되었습니다. Rad Studio, Delphi, C++Builder, and Appmethod 2015 Technology Roadmap from JTatEmbarcaderoTechnologies 제가 본 주요 기능은iOS 64bit 지원(델파이, C++빌더)LLVM 기반 32bit C++ 컴파일러개발환경 - IDE 안정성, IDE에서 라이브러리 관리, 생산성 향상 등Windows 10 지원(VCL, FireMonkey), 새로운 컴포넌트와 라이브러리 등FireMonkey - 모바일 컴포넌트 추가(맵 등), iOS 컨트롤 강화(z-order관리 등), 성능최적화사물인터넷 - 비콘 기술 지원 기대, 이종 API를 사용하는 이기종 기기와 장.. 더보기
[VCL] 에디트에 숫자만 입력, 콤마찍기 VCL 에디트(TEdit)의 NumbersOnly 속성을 이용하면 컨트롤에 숫자만 입력받도록 구현할 수 있다는 것 잘 아실텐데요.이번 글에서는 숫자 입력 시 콤마를 자동추가할 수 있도록 구현한 내용 공유합니다. 기능은 2가지입니다. 키입력 시 3자리마다 콤마 추가(e.g. 123,456,789,012)에디트에서 순수 숫자만 읽고 쓰기(PlainText 속성 추가)구현은 여러폼에서 uses에 추가하기만 하면 동작하도록 별도의 유닛으로 만들었습니다.unit Vcl.EditExtends; interface uses Vcl.StdCtrls, Vcl.Controls, System.Classes; type TEdit = class(Vcl.StdCtrls.TEdit) private function GetPlainTe.. 더보기
[XE7] iOS 시뮬레이터 배포 시 'Please specify exact device preset UUID.' 오류 대응 iOS 시뮬레이터 실행 시 아래와 같은 오류 발생 시 대처사항입니다. 결과적으로 원인은 RAD Studio XE7에서 iOS Simulator 8.1을 지원하지 않아서 입니다.(iOS Device에서는 8.1을 지원합니다.)Hotfix iPhone Simulator 7.1 지원RAD Studio XE7 출시 이후 나온 7.1에 대한 패치가 필요합니다. 아래 글의 2번째 Hotfix 설치하기 바랍니다.[Hotfix] iOS 배포와 요세미티, VCL Bitmap 파일 보안취약점 패치iPhone Simulator 7.1 설치 및 설정맥에서 XCode(6.1) 실행 > XCode > Preferences... > Download 화면에서 iOS 7.1 Simulator 다운로드델파이 Project Manager.. 더보기
파이어몽키 용 그리드 컴포넌트 안내 - FirePower 태블릿용 앱에서는 한 화면에 많은 정보(여러 컬럼과 레코드)를 표시해야하는 경우가 있는데요.이때, 기본 컴포넌트를 이용한다면 리스트뷰에 컬럼을 추가해 구현할 수 있지만, 아무래도 전통적인 그리드 컴포넌트가 필요할 수 있습니다. 오늘은 이미 인포파워 그리드로 유명한 Woll2Woll사의 파이어몽키용 그리드 컴포넌트인 FirePower 컴포넌트를 소개합니다. 제가 트라이얼로 돌려본 주요 기능은 아래와 같습니다.기본 그리드 컴포넌트(TGrid, TStringGrid) 대비 스크롤 속도가 상당히 빠릅니다.(이 부분은 기본 컴포넌트의 성능도 꾸준히 개선되고 있습니다.)다양한 스타일(배경색상, 글자색, 글자 스타일 등)을 적용할 수 있습니다.셀에 버튼, 이미지 등 속성을 지정할 수 있습니다.컬럼별 색상을 지정할 수.. 더보기
[Delphi Week 2015] 델파이 1부터 XE7까지 20년간 변천사 영상 델파이는 1995년 2월 14일 처음 출시되어 갓 20살을 넘었습니다. 델파이 생일을 축하하는 Delphi Week 2015 온라인 축제를 진행했는데요. 델파이 1부터 XE7까지 델파이에 무슨일이 있었는지 15분간의 영상으로 한번에 볼 수 있습니다.(흥미롭게 보다보니 금방 15분이 가네요^^) 기타 다른 영상들도 엠바카데로 유투브 채널을 통해 다시 볼 수 있습니다. 더보기
[Delphi Week 2015] 윈도우 3.11에서 델파이 1 실행 델파이는 1995년 2월 14일 처음 출시되어 갓 20살을 넘었습니다.델파이 생일을 축하하는 Delphi Week 2015 온라인 축제를 진행했는데요. 이벤트에 맞춰 David I가가 흥미로운 영상을 공개했습니다.바로 윈도우 3.11에서 무료 델파이 1을 실행한 영상입니다. 흥미롭게도 델파이 1에서 실행한 코드는 최근 버전인 XE7에서도 그대로 동작한다는 것이 인상적입니다.델파이가 얼마나 견고한 구조와 아키텍쳐 내에서 개발됐는지를 반증하는 내용인 것 같습니다. 기타 다른 영상들도 엠바카데로 유투브 채널을 통해 다시 볼 수 있습니다. 더보기
[FireDAC Skill Sprints] 2. FireDAC으로 DBMS 사용 내역 추적, 모니터링 하기 엠바카데로에서 FireDAC Skill Sprint 웨비나(1월 23일 ~ 3월 27일: 매주 금요일 10시)를 진행하고 있습니다. 이 글에서는 웨비나 다시보기와 함께 웨비나 일부 내용을 샘플코드와 함께 소개합니다. 하단 온라인 기술 도움말 링크를 통해 더 자세한 내용을 추가학습하시기 바랍니다. 2회차에서는 FireDAC의 추적과 모니터링에 대한 내용으로 진행합니다.FireDAC 추적과 모니터링FireDAC의 추적기능을 이용하면 애플리케이션과 데이터베이스 사이의 통신내용을 상세하게 보거나 기록할 수 있습니다. 이 추적 정보에는 이벤트 발생시간, API 호출내역, DB로 전송된 SQL, 파라메터와 필드 값, 오류와 경고 등이 기록되어 여러분의 DB 애플리케이션으 문제점을 디버깅하고 해결하는데 유용하게 사용.. 더보기
[VCL] 에디트/버튼의 다양한 속성 소개 VCL 기본 컴포넌트 중 가장 많이 사용하는 에디트(TEdit), 버튼(TButton)의 다양한 속성을 소개합니다. 대부분 아는 속성일테지만 항상 사용하는 기본 속성만 사용하는 분들은 이 기회에 다양한 속성 사용해 보세요. ❑ 에디트 텍스트 정렬Alignment 속성 선택(taCenter, taLeftJustify, taRightJustify)으로 텍스트의 위치를 지정할 수 있습니다.❑ 에디트 텍스트 힌트(콤보박스도 가능)TextHint 속성을 이용해 Text가 비어있으면 입력항목의 설명을 배경으로 표시할 수 있습니다. 콤보박스도 항목(Items)와 무관하게 설명을 표시합니다.❑ 에디트 숫자만 입력 / 비밀번호 문자NumbersOnly 속성으로 숫자만 입력하도록 강요합니다.PasswordChar에 '■'.. 더보기
[XE7] 안드로이드 블루투스 활성화 조회와 설정하기 일본인 개발자인 山本隆(야마모토 타카시)의 글을 참고해 안드로이드에서 블루투스 활성여부 조회와 설정하는 내용을 공유합니다.블루투스 활성여부 조회uses Androidapi.JNI.Bluetooth; procedure TForm2.Button1Click(Sender: TObject); var Adapter: JBluetoothAdapter; begin Adapter := TJBluetoothAdapter.JavaClass.getDefaultAdapter; if Adapter.isEnabled then ShowMessage('Bluetooth가 활성화 되어있습니다.') else ShowMessage('Bluetooth가 활성화 되지 않았습니다.'); end;블루투스 활성화 설정uses Androidapi.J.. 더보기
[XE7] 안드로이드 WiFi 상태조회와 설정하기 일본인 개발자인 山本隆(야마모토 타카시)의 글을 참고해 안드로이드 앱에서 Wifi 상태를 읽고 키고끄는 기능을 구현해 보고 공유합니다.❑ 안드로이드 WifiManager 델파이 브릿지 파일 생성Java2OP 툴을 이용해 WifiManager 델파이 브릿지 파일을 만듭니다.Java2OP.exe -classes android.net.wifi.WifiManager -unit Androidapi.JNI.WifiManager 위 명령어를 실행하면 아래와 같이 Androidapi.JNI.WifiManager.pas 유닛파일이 생성됩니다. 해당 유닛파일을 프로젝트 경로 또는 본인이 관리하는 라이브러리 경로에 복사합니다.(저는 D:\Projects\common\rtl\XE7\android 경로에 복사 후 Option .. 더보기
FieldByName 사용팁 - 사악신님의 글 FieldByName('fieldName').AsString과 같이 많이 사용하시죠? 웹서핑 중 사악신님 블로그에서 FieldByName 사용 팁을 발견해 공유합니다. FieldByName 호출 시 수행되는 과정을 파해치고 대안을 제시해 줍니다. 짧으면서 좋은 팁이네요.http://saksin.tistory.com/985 더보기
태블릿용 멀티컬럼 리스트뷰 ItemAppearace 만들기 모바일(폰과 패드)용 목록을 만드는 컴포넌트는 대표적으로 ListView와 ListBox가 있습니다.두 목록 컴포넌트의 차이점은 이름으로 알수 있듯이 목적에 차이가 있습니다. ListView는 View 즉 보여주는 것을 목적으로 하기 때문에 목록을 빠르게 이동할 수 있지만 목록아이템을 꾸미는데 제한적입니다.반면, ListBox는 Box 즉 목록 아이템에 다른 아이템을 담아 자유롭게 목록을 구성할 수 있는 컴포넌트입니다. 목록을 원하는데로 꾸밀 수 있지만 많은 컴포넌트를 담는다면 스크롤이 상대적으로 느려질 수 있습니다. 두 목록 컴포넌트의 목적을 잘 이해하고 사용하시기 바랍니다. ListView는 목록 아이템을 꾸미는데 제한적이라고 했는데요. 그 이유는 TListViewItem은 (TFMXObject를 상.. 더보기
[VCL] TaskDialog 컴포넌트 소개 TTaskDialog 컴포넌트작업에 대한 소개와 다양한 옵션으로 다중작업 중 선택할 수 있는 TTaskDialog 컴포넌트를 소개합니다.아래와 같이 다양한 정보와 선택지(RadioButton, CommandLink, 버튼)를 제공하고 입력 받을 수 있습니다.선택한 버튼에 대한 정보는 ModalResult 속성으로 버튼번호를 알아 옵니다.❑ 기본 정보Caption, Text, Title 속성으로 작업에 대한 기본 정보를 설정할 수 있습니다.❑ 자세한 정보ExpandedText, ExpandButtonCaption 속성으로 추가정보를 제공합니다. 추가정보는 기본으로 감추고 자세한 정보 보기 버튼을 누르면 자세한 내용이 작업설명 하단에 표시됩니다.❑ 버튼CommonButtons 속성을 통해 확인, 예, 아니오.. 더보기
트루타입 폰트(FontAwesome) 파일을 이용해 아이콘 표시하기(안드로이드, iOS) 트루타입 폰트에 그림을 등록해 아이콘으로 사용하는 방식은 최근 웹개발에서 많이 사용됩니다.델파이에서 어떻게 사용할까. 궁금했는데요. 마침 엠바카데로 커뮤니티 블로그에 관련 글이 올라와 소개합니다. http://community.embarcadero.com/index.php/blogs/entry/true-type-font-iconography-for-android-and-ios-apps 간단한 개발팁을 보태면FontAwesome에서 다운로드 후 폰트파일 설치(fontawesome-webfont.ttf 찾아 더블클릭 > 설치)윈도우 유틸리지 중 "문자표" 실행 후 FontAwesome 폰트 선택 후 사용할 아이콘 선택 > 클립보드 복사 델파이에서 Label 등을 추가 후 문자타입(Font.Family)를 ".. 더보기
[XE7] 안드로이드 L 스타일팩 다운로드 최근 안드로이드 L(롤리팝: 5.0)을 적용한 스마트폰이 나오고 있습니다. 엠바카데로에서도 안드로이드 5.0 지원을 위해 핫픽스를 배포하고 안드로이드 L에 맞는 스타일팩을 배포합니다. 안드로이드 L 스타일팩 활용방법은 Sarina DuPont의 글을 참고하기 바랍니다.관련 글안드로이드 L 스타일팩 다운로드(XE7) 안드로이드 L 스타일팩 활용안드로이드 5.0(롤리팝) 지원 핫픽스 더보기
[hotfix]iOS 플랫폼에서 TForm.Quality를 HighQuality 설정이 적용되지 않는 문제에 대한 패치 FMX에서 타겟플랫폼이 iOS인 경우 TForm.Quality를 HighQuality로 설정시 반영되지 않는 버그에 대한 패치를 배포합니다. 다운로드 : http://cc.embarcadero.com/Item/30115대상 : RAD Studio XE7, 델파이 XE7, C++빌더 XE7설치방법패치파일에 포함된 FMX.Platform.iOS.pas 파일을 소스경로(C:\Program Files (x86)\Embarcadero\Studio\15.0\source\fmx)에 복사합니다. 더보기
[온라인교육] FireDAC 무료 온라인 교육 안내 1월 23일(현지시간 22일) 부터 총 10회 간(20분) 다양한 상황에서 FireDAC을 활용하는 주제로 온라인 교육이 진행됩니다. FireDAC은 VCL과 FMX에서 멀티플랫폼(윈도우, OSX, 안드로이드, iOS)용 기술입니다. 개발방식이 BDE와 비슷해 사용법이 쉽고, 성능 또한 막강해 여러분들의 데이터베이스 프로그램 개발이 즐거워 질 수 있을 것입니다. 특히, 델파이의 오래된 데이터 엑세스 기술인 BDE를 사용하시는 분들, 새로운 데이터 엑세스 기술을 검토하시는 분들, 더 빠른 데이터 엑세스가 필요하신 분들은 꼭 참석해 도움 받으시길 바랍니다. 이번 온라인 강의는 다음과 같이 진행됩니다.(한국시간 기준)진행방식 : 매주 금요일 10시부터 20분간 10회 진행진행기간 : 1월 23일 ~ 3월 27.. 더보기
[컴포넌트 소개] TWebUpdate - 업데이트 프로그램 제작 컴포넌트/지원 툴(TMS Software) 자동 업데이트 프로그램은 주요 기능은 아니지만 빠져서는 안되는 프로그램 중 하나입니다. 이번 글에서는 자동 업데이트 프로그램 제작 시 도움이 되는 TWebUpdate 컴포넌트를 소개합니다. 자동 업데이트 프로세스는 시스템 환경에 맞게 각자 정해야 하지만 자동 업데이트에 필요한 기술은 TWebUpdate 컴포넌트를 활용해 빠르게 개발해 여러분의 시간을 절약할 수 있습니다. 자동 업데이트 프로세스에 대해 익숙하지 않은 분들을 위해 HTTP를 이용한 자동 업데이트 프로세스 예를 한가지 들어 보겠습니다.업데이트할 파일을 웹 서버에 업로드 하고, 업데이트 정보를 담고 있는 업데이트 정보파일도 웹서버에 업로드 합니다.프로그램이 실행 시 메인 프로그램 전에 업데이트 프로그램을 실행하도록 구성하고, 업데이트 프로그램은.. 더보기
안드로이드에 설치된 앱 목록(AppList)을 표시하는 앱(소스코드 공개) 안드로이드 디바이스에 설치된 앱을 빠르게 찾아 실행할 수 있는 안드로이드 앱의 소스코드를 FMXExpress.com에서 공개하였습니다. 해당 앱은 설치된 앱 목록을 표시하고, 항목 선택 시 앱을 실행합니다. 그리고, 검색창을 통해 키워드로 필터링해 빠르게 앱을 검색할 수 있습니다. 기존에는 안드로이드 디바이스에서 페이지 단위로 넘겨가며(Swipe) 앱을 찾던 수고를 크게 줄일 수 있습니다. 이 앱에서는 다음의 기술을 학습할 수 있습니다.설치된 앱 목록 조회하기설치된 앱의 아이콘 가져오기앱 실행(앱의 패키지명, 앱이름으로)ListView 필터링 하기더 자세한 내용 보기, 프로젝트 소스 다운로드 하기 더보기