본문 바로가기

분류 전체보기

[교육] 숭실대학교 - 컴퓨팅적 사고 1회차 - RAD 개발도구의 이해 2회차 - 데이터베이스 프로그래밍 맛보기 3회차 - 모바일 프로그래밍 맛보기카메라 앱 만들기 // Switch1.OnSwitch 이벤트 생성 후 코딩procedure TForm1.Switch1Switch(Sender: TObject);begin if Switch1.IsChecked then CameraComponent1.TorchMode := TTorchMode.ModeOn else CameraComponent1.TorchMode := TTorchMode.ModeOff;end;// Button1.OnClick 이벤트 생성 후 코딩procedure TForm1.Button1Click(Sender: TObject);begin CameraComponent1.Active := .. 더보기
[라이브바인딩] 콤보박스에 목록표시, 선택 값 반영하기 콤보박스에 목록을 표시하고, 선택한 항목의 키값을 다른 데이터셋에 적용하는 방법입니다.DB Controls의 DBLookupComboBox의 기능을 라이브바인딩으로 구현하는 내용입니다. 아래 라이브바인딩 내용은 사원 테이블(qryMember)의 팀정보(MEM_TEAM_SEQ)를 콤보박스에서 선택하도록 구현한 것입니다. 콤보박스 목록 표시할 내용 - 팀명(DPT_TEAM)을 목록으로 표시콤보박스 선택한 값을 반영 - 선택한 항목을 MEM_TEAM_SEQ에 반영(Item.LookupData와 연결된 필드의 값)목록의 키값(LookupData) - 목록의 키값으로 사용할 필드를 Item.LooupData와 연결)위와 같이 적용 시 콤보박스에 팀정보가 표시되고, 콤보박스를 선택하면 사원정보의 팀정보가 변경됩니다.. 더보기
[게임] 매의 눈(컵속에 숨겨진 주사위 찾기 게임) 구글 플러스 델파이 개발자 그룹에 오대우님이 매의 눈이라는 게임의 소스코드를 공개하셨습니다.매의 눈은 컵안에 숨겨진 주사위를 찾는 게임으로 현재 안드로이드 마켓에 올려놓으셨네요. 추억의 야바위(?) 게임 다운받아서 술자리에서하면 재밌을 것 같습니다.https://play.google.com/store/apps/details?id=com.jjggmasterking.EagleEyeEn 소스코드는 드롭박스에 올려주셨네요.(미러도 제공하겠습니다.)https://www.dropbox.com/s/dm3nfa16uqdl0g3/EAGLE_EN_SRC.zip?dl=0 더보기
delphi-markdown(델파이 마크다운 라이브러리) 소개 마크다운 문법을 해석해 html로 반환하는 라이브러리를 발견해 공유합니다. 마크다운(markdown)은 일반 텍스트 문서의 양식을 편집하는 문법이다[1]. README 파일이나 온라인 문서, 혹은 일반 텍스트 편집기로 문서 양식을 편집할 때 쓰인다. 마크다운을 이용해 작성된 문서는 쉽게 HTML 등 다른 문서형태로 변환이 가능하다. - https://ko.wikipedia.org/wiki/마크다운 delphi-markdowndelphi-markdown은 마크다운(평문)을 html로 변환해 반환해주는 델파이 라이브러리로 그래함 그리브(Grahame Grieve)가 공개한 오픈소스입니다.(그래함 그리브는 세계적인 의료정보 표준화 전문가라고 합니다. FHIR 관련 프로젝트도 함께 오픈되어 있으니 의료계 관련자.. 더보기
[마이그레이션 사례] 에스엔유프리시젼 고객들의 PC환경과 요구사항이 아주 빠르게 변화하고 있습니다. 최신 PC환경과 새로운 요구사항에 대응하기 위해서는 RAD Studio(델파이, C++빌더)에서 제공하는 최신 기능을 활용하도록 마이그레이션이 필요합니다. 저도 마이그레이션 컨설팅과 마이그레이션 워크샵을 통해 마이그레이션이 필요한 프로젝트나 기업을 지원하고 있습니다.마이그레이션을 계획하거나 진행하고 계시는 분들에게 도움되도록 과정을 간단히 정리해 공유합니다. 에스엔유프리시전 - 마이그레이션 워크샵일시 : 2016년 4월 5일 ~ 8일(4일간)지원방법 : 마이그레이션 워크샵버전 : 델파이 7 -> 델파이 XE5 지난 4월 5일~9일간 델파이 마이그레이션 워크샵 과정을 진행했습니다. 이번 워크샵 과정에 에스엔유프리시전에서 참석해 마이그레이션을 지.. 더보기
[OSX/맥] 맥의 스크린세이버 비활성화/활성화 시키기 볼랜드포럼에서 무대뽀님이 남겨준 팁 공유합니다.(작업한 내용 공유해주셔서 감사합니다^^)http://firemonkey.borlandforum.com/impboard/impboard.dll?action=read&db=firemonkey_tip&no=20 무대뽀님께서 맥용 애플리케이션 개잘 중 맥의 스크린 세이버를 비활성화 시키는 질문을 볼랜드포럼에 올려서 간단히 댓글을 드렸더니 멋지게 기능을 완성하셨네요.(http://firemonkey.borlandforum.com/impboard/impboard.dll?action=read&db=firemonkey_qna&no=146) 제가 작성한 답변입니다.맥 개발자 라이브러리에 아래와 같은 샘플이 있습니다. https://developer.apple.com/lib.. 더보기
[FMX] 앱에서 문장을 출력하는 3가지 방법 앱에서 긴 글을 표시해야 하는 경우 3가지 방법을 이용해 표현할 수 있습니다.(아래 방법외에도 더 많은 방법이 있을 수 있습니다.) 1, TMemo 이용문장을 나타내는 대표적인 컴포넌트입니다. 문장 출력뿐아니라 입력도 받을 수 있습니다.출력이 목적인 경우 ReadOnly 속성을 True로 설정하면 입력을 제한합니다.자동 줄바꿈이 필요하면 TextSettings.WordWrap 속성을 True로 설정합니다. 2, TWebBrowser + HTML 이용HTML을 표현하는 웹브라우저에 문장을 출력하는 방법입니다. HTML 태그를 이용해 글자크기, 색상, 스타일 등을 자유롭게 사용할 수 있습니다. 만약, 문장이 HTML로 구성된 경우 아주 좋은 선택 입니다.웹브라우저에 HTML을 불러오려면 아래와 같이 Load.. 더보기
[안드로이드/iOS] 이미 배포(Deployment)된 파일 업데이트 하기 사운드, 이미지, 텍스트 파일을 최초배포하고, 변경된 파일을 다시 배포할 경우 덮어쓰기(overwrite)가 되지않는 이슈가 있습니다.(10 시애틀. 2016년 3월) 해당 증상은 안드로이드와 iOS 모두 해당됩니다.http://tech.devgear.co.kr/delphi_qna/420755http://qc.embarcadero.com/wc/qcmain.aspx?d=125481해당 이슈는 파일을 배포하는 System.StartUpCopy.pas에 구현된 내용을 살펴보니 배포 대상파일이 있는 경우(FileExist) 배포를 진행하지 않도록 구현되어 있습니다. 위 이슈를 해결하는 방법은 3가지 정도로 생각해볼 수 있습니다.1, System.StartUpCopy.pas를 수정하는 방법2, 업데이트할 파일을 .. 더보기
[VCL] 다른 프로세스의 폼을 패널등에 넣기 프로세스를 생성하고 프로세스의 폼을 내 애플리케이션의 특정 영역(패널 등)에 넣도록 하는 코드입니다. 1, 아래 그림과 같이 메모장(notepad.exe)을 실행해 Panel에 넣어봤습니다. 2, 프로세스의 폼(메모장)의 테두리를 없앴습니다.3, 창 크기가 변경될때 프로세스의 폼 크기를 변경하도록 했습니다.(비동기) uses Winapi.ShellAPI; // 메모장 실행 / Embed 시키기 procedure TForm1.Button1Click(Sender: TObject); var ExecuteFile : string; SEInfo: TShellExecuteInfo; RetryCount: Integer; begin ExecuteFile:='c:\Windows\notepad.exe'; FillChar(.. 더보기
RAD Studio IDE에서 SVN 사용하기 + TortoiseSVN 사용하기 소스코드 버전관리 시스템으로 SVN을 사용하기 위해 SVN 서버 소프트트웨어를 서버에, 사용자 PC에 SVN 클라이언트 소프트웨어를 설치해야 합니다. 이 글에서는 RAD Studio IDE에 내장된 SVN 클라이언트 플러그인을 이용해 SVN 서버 저장소에 파일을 등록(Import)하고 변경내역을 가져오고(Update), 작업내용을 저장(Commit)하는 내용을 설명합니다.(RAD Studio에는 SVN, Git, Mercurial 3가지 버전관리 클라이언트 기능을 제공합니다.) RAD Studio에 내장된 SVN 클라이언트 플러그인SVN 저장소를 준비합니다.(만약, SVN 저장소가 없다면 다음 글을 참고해 SVN 서버 설치 후 저장소를 추가합니다. - http://blog.hjf.pe.kr/417) SV.. 더보기
SVN 서버 설치하기 - Visual SVN 이용 소스코드 버전관리 시스템으로 SVN을 사용하기 위해 SVN 서버 소프트트웨어를 서버에, 사용자 PC에 SVN 클라이언트 소프트웨어를 설치해야 합니다. 이 글에서는 SVN 서버 소프트웨어를 서버에 설치하는 내용을 설명합니다. SVN 서버 소프트웨어는 소스코드 버전관리 해야하는 작업자들이 접속할 수 있는 서버 머신에 설치해야 합니다.예를들어, 팀내에서 소스코드를 버전관리 해야하는 경우 팀내에서 운영 중인 사내의 팀서버에 설치하는 것이 좋습니다.만약, 외부와 협업이 필요한 경우 IDC 등에 SVN 서버 소프트웨어를 설치하면 외부 인원과도 소스코드 버전관리 할 수 있습니다. SVN 서버 소프트웨어SVN 서버 소프트웨어는 오픈 소프트웨어 부터 상용 소프트웨어까지 다양하게 선택할 수 있습니다.아래 링크를 참고해 원.. 더보기
런타임 오브젝트 인스펙터(ObjectDebugger) 오픈소스 소개 실행 시점에 폼, 컴포넌트의 속성과 이벤트, 데이터를 확인하고, 일부 속성을 변경할 수 있는 런타임 오브젝트 인스펙터(ObjectDebugger) 컴포넌트와 소스코드가 공개되었습니다. 해당 컴포넌트는 VCL 용입니다.ObjectDebugger 소개 : http://blog.marcocantu.com/blog/2016-february-objectdebugger-delphi10seattle.html소스코드 : https://github.com/marcocantu/ObjectDebugger해당 컴포넌트의 소스코드는 런타임에서 동적으로 속성을 변경하는 기능 구현이 필요한 경우, RTTI 학습이 필요한 경우 참고하면 좋을 것 같습니다. 더보기
애플 WWDR 인증서 만료로 iOS 개발자 인증서 이슈 해결 방안 한국시간으로 2월 15일 오후 3시경 Apple Worldwide Developer Relations Certification Authority이 만료되었습니다. 그 여파로 잘 사용하던 iOS 인증서로 iOS Device 컴파일 시에 "[Error] Unable to match bundle identifier "앱이름" with AppID in all provisioning profiles" 오류가 발생 해 컴파일 되지 않았습니다. 그리고 키체인에서 개발자 인증서를 확인해보니, 인증서의 상태가 "이 인증서는 유효하지 않은 발급자를 가지고 있음" 이었습니다. 관련 이슈는 애플 개발자 포럼과 마르코칸투 블로그 등에서 다루고 있어 쉽게 해결할 수 있었습니다.https://forums.developer.appl.. 더보기
RAD Studio 2016년 로드맵 2016년 Fire Monkey(불 원숭이)해가 밝았습니다. 마침 RAD Studio 2016년 로드맵이 공개되었습니다. - http://community.embarcadero.com/article/news/16211-embarcadero-rad-studio-2016-product-approach-and-roadmap-2 이번 로드맵에는 2개 트랙으로 구분해 제공합니다. 첫 번째 트랙은 코드 명 "Big Ben"으로 품질 및 첫 사용자 경험과 설치가 주요 주제입니다.(GetIt 기술을 이용해 새로 설치 시 유연하게 원하는 것만 선택 해 설치할 수 있고, 설치 시간을 줄였습니다.) 다음 기능들이 포함됩니다.분리되거나 합쳐지는 폼디자이너(VCL/FMX)C++ 리팩토링FireUI 앱 미리보기 - IDE의 폼디.. 더보기
[FireDAC MergeDataSet] 여러 데이터셋을 병합해 하나의 데이터셋을 구성할 수 있습니다. FireDAC의 TFDDataSet.MergeDataSet 메소드를 이용해 구조가 같은(또는 확장된) 데이터셋을 병합해 하나의 데이터셋을 구성할 수 있습니다. 제가 테스트한 목적은, 데이터스냅으로 데이터량이 많은 데이터 중 일부분 데이터만 가져오고, 필요한 경우 추가로 가져와 병합(페이징 기능 구현) 할 목적으로 테스트 진행해 봤습니다.TFDDataSet.MergeDataSet지정된 데이터 셋(ASource)의 데이터와 메타데이터를 현재 데이터셋과 병합합니다.procedure MergeDataSet(ASource: TFDDataSet; AData: TFDMergeDataMode = dmDataMerge; AMeta: TFDMergeMetaMode = mmNone); TFDMergeDataMode데이터셋 .. 더보기
델파이 iOS Touch ID 구현하기(래퍼 클래스) Touch ID는 애플 iOS의 LocalAuthentication 프레임워크 통해 구현할 수 있습니다.애플의 Touch ID는 애플의 지문인식 시스템입니다.https://developer.apple.com/library/ios/documentation/LocalAuthentication/Reference/LocalAuthentication_Framework/ 델파이에서 Touch ID를 구현하기 위해 LocalAuthentication 프레임워크를 델파이로 래핑한 iOSapi.LocalAuthentication.pas를 다운로드 받아 시스템 PATH에 등록된 경로에 복사합니다. iOSapi.LocalAuthentication.pas 소스파일 다운로드 및 사용법과 설명은 아래 링크에서 가능합니다.(영문).. 더보기
[교육] 미니프로젝트과정 - 자료 과정소개http://www.devgear.co.kr/support/education/delphi_miniproj/ 요구사항 분석 다음 기능은 데이터 모듈에 함수를 정의해 구현할 것프로젝트 수행인원 추가 / 삭제프로젝트 삭제 function AppendProjectMember(const APrjSeq, AMemSeq: Integer): Boolean; function DeleteProjectMember(const APrjSeq, AMemSeq: Integer): Boolean; function DeleteProject(const APrjSeq: Integer): Boolean; 데이터셋 상태인터베이스 데이터베이스와 스크립트 데이터모듈에서 데이터 연결을 재설정 하세요.DataAccessModule > con.. 더보기
[팁] 온라인상에서 바이러스를 진단 하세요. - 구글 Virus Total 온라인 상에서 파일의 바이러스 감염여부를 체크해 주는 서비스입니다. 구글에서 서비스하고 있습니다. - https://www.virustotal.com/ko/ 배포 전 실행파일 등을 위 사이트에서 검사하면 더욱 안전하겠네요. 54 종의 안티 바이러스를 대상으로 체크할 수 있습니다.(2016년 1월 6일 현재) 제공하는 안티바이러스 종류ALYacAVGAVwareAd-AwareAegisLabAgnitumAhnLab-V3AlibabaAntiy-AVLArcabitAvastAviraBaidu-InternationalBitDefenderBkavByteHeroCAT-QuickHealCMCClamAVComodoCyrenDrWebESET-NOD32EmsisoftF-ProtF-SecureFortinetGDataIkarusJ.. 더보기
[마이그레이션][팁] 유니코드 검토 대상 분석 도구 유니코드 검토 대상 분석 도구 유니코드 적용 시 검토해야 할 부분(함수, 자료형)을 안내해 주는 도구입니다. Change 버튼을 눌러 경러 선택 후 Process files 버튼을 누르면 해당 경로의 유닛파일(*.pas)을 분석 후 결과를 표시합니다. 다운로드 제가 기능을 추가한 실행파일은 아래에서 검토 대상 총 갯수 메모 마지막에 표시 하도록 수정디렉토리 경로 문자열을 에디터에 복사해도 적용되록 수정하단 트리뷰와 레포트 파일에 검토대상이 없는 소스코드 표시되지 않도록 수정 원본 실행파일과 소스코드 http://cc.embarcadero.com/item/27398 분석 대상 다음 함수와 자료형을 대상으로 분석하며, 하단 Add Token 기능으로 대상을 추가할 수 있습니다. SizeOf Length Fi.. 더보기
[마이그레이션] 유니코드 적용시 검토할 사항들 델파이 2009 이후 버전 부터는 유니코드 기반의 문자열을 사용합니다. 그래서 델파이 2007 이전버전에서 델파이 2009 이후 버전으로 마이그레이션 할 경우 소스코드에서 유니코드 사용에 대한 점검이 필요합니다. 일부 개발자들이 유니코드 대응을 마이그레이션의 큰 위험요소로 생각합니다. 하지만 알고 보면 대부분의 경우 기존 소스코드를 별도 추가작업 없이 유니코드 기반에서 그대로 사용할 수 있습니다. 단, 문자열을 다루는 코드에 대해서는 점검이 필요합니다. 유니코드와 델파이의 변경사항에 대해 살펴보고 기존코드를 유니코드 기반 델파이에서 동작하도록 점검하는 내용을 살펴보겠습니다.목차1. 유니코드와 델파이의 변경사항 1.1. 유니코드란? 1.2. 유니코드 지원에 의한 델파이 변경사항2. 기존 코드를 유니코드 기.. 더보기