언어 썸네일형 리스트형 복수의 유닛 참조와 간접 유닛 참조 #4 출처: http://tech.devgear.co.kr/delphi_news/8247 복수의 유닛 참조와 간접 유닛 참조 uses 절에 나열되는 유닛들의 순서는 유닛의 초기화 순서를 결정하며(“유닛의 구조와 문법”절의“initialization 섹션”참조), 컴파일러가 식별자를 찾는 방법에도 영향을 미칩니다. 두 유닛에서 같은 이름의 변수, 상수, 타입, 프로시저나 함수를 선언했을 경우, 컴파일러는 uses 절의 유닛 리스트에서 마지막 유닛의 식별자를 사용합니다. (다른 유닛의 식별자를 액세스하려면 UnitName.Identifier처럼 한정자(qualifier)를 추가해야 합니다) uses 절에는 해당 프로그램이나 유닛이 직접 참조하는 유닛들만 포함시켜야 합니다. 다시말해, 유닛 A가 유닛 B에 선언된 .. 더보기 유닛 참조와 uses 절 #3 출처: http://tech.devgear.co.kr/delphi_news/8171 uses 절은 자신이 포함된 프로그램, 라이브러리 또는 유닛에서 사용하는 유닛들을 나열합니다. (라이브러리에 대한 자세한 내용은 10장“DLL과 패키지”를 참조하십시오.) uses 절이나타날 수 있는 곳은 다음과 같습니다. - 프로그램이나 라이브러리의 프로젝트 파일 - 유닛의 인터페이스 섹션 - 유닛의 임플먼테이션 섹션 유닛들의 인터페이스 섹션처럼, 프로젝트 파일도 대부분 uses 절을 갖고 있습니다. 유닛의임플먼테이션 섹션도 자신의 uses 절을 포함할 수 있습니다. System 유닛과 SysInit 유닛은 모든 애플리케이션에서 자동으로 uses 되며, uses 절에 명시적으로 지정할 수 없습니다. (System은 파일.. 더보기 유닛의 구조와 문법 출처: http://tech.devgear.co.kr/delphi_news/8116 프로그램은‘유닛’이라는 소스 코드 모듈들로 구성됩니다. 유닛들은 program, library 혹은package 헤더로 시작되는 특수한 소스 코드 모듈에 의해 함께 묶이게 됩니다. 각 유닛은 각각의 파일로 저장되고 별도로 컴파일되며, 컴파일된 유닛이 링크되어 애플리케이션이 만들어집니다. 델파이는 계층적인 네임스페이스를 도입하여 유닛들을 구성하는 데에 더 큰 유연성을 제공합니다. 네임스페이스와 유닛을 사용함으로써 다음과 같은 일들이 가능해집니다. - 큰 프로그램을 별도로 편집 가능한 모듈들로 나눌 수 있습니다. - 프로그램들 사이에 공유할 수 있는 라이브러리를 만들 수 있습니다. - 소스 코드 없이 다른 개발자에게 라이브러.. 더보기 델파이에서 동적으로 Package (bpl) 이용하기 (MDI Child) 출처: http://minooya.blogspot.kr/2016/03/package-bpl-mdi-child.html 매번 느끼는 거지만, 뭐가 좋다고 내가 델파이를 이리도 가까이 두는지 모르겠다. 궁금증을 달래줄 자료도 부족하고, 툴이 무료도 아닌데 말이지!! 이번에도 특별한 문제거릴 하나 만났는데, 'bpl을 동적으로 활용하는 방법' 이었다. 대형 MDI 폼을 만들다 보면 수많은 Child 폼을 만들때가 있는데, 하나의 exe 파일에 모든 폼을 다 등재하기엔 좀 무리가 있지 않겠는가? 그래서, 대안이 dll사용인데, 그보다 bpl로 활용하면 여러 잇점이 있다. 델파이 자체형 dll 격이기 때문에, 호환성 측면에서 좋다고나 할까? 여튼, 그 문제는 차치하기로 하고 프로그램 분할에 있어서 bpl을 사용하.. 더보기 Package의 폼을 메인 폼으로 출처: http://www.delmadang.com/community/bbs_print.asp?bbsNo=17&bbsCat=0&indx=196712 다음과 같은 어플을 고민하다가 발견하게 되었습니다. 1. 최초에 LOGIN 창이 뜬다. 2. LOGIN이 성공적으로 이루어지면 자동 업그레이드를 수행한다. 3. Main 폼이 뜬다.(예를 들면 MDI Form) 4. Main 폼이 세부 업무에 따라 창을 띄운다.(예를 들면 MDI Child) ------------------------------------------------------------ 중요한 점은 반드시 LOGIN이 이루어진 후에 자동 업그레이드가 수행되어야 하고 Main 폼 마저도 자동 업그레이드의 대상이 된다는 점입니다. ----------.. 더보기 Connecting a 16x32 RGB LED Matrix Panel to a Raspberry Pi https://learn.adafruit.com/connecting-a-16x32-rgb-led-matrix-panel-to-a-raspberry-pi Everyone loves a colorful LED screen! Our 16x32 RGB LED display is a low cost, and easy-to-use arrangement of bright LEDs - just like the ones used in Times Square! This display makes a fantastic addition to your Raspberry Pi. It is pretty easy to wire up, but the display is quite demanding when it comes to gett.. 더보기 [JSON] Newtonsoft.Json 을 이용한 json 문자 파싱 출처: http://alpha-i.tistory.com/21 요즘은 데이터 저장 방식을 XML 보다 json 을 더 많이 쓰는걸로 알고있는데요, 직접 split 이나 정규식을 사용하여 json 데이터를 파싱하는건 정말정말 귀찮아서 훨신 편한 라이브러리를 사용합니다.Newtonsoft.Json 은 NuGet 에서 Newton 만 쳐도 나옵니다. 혹은 첨부파일 참조해주시고 Newtonsoft.Json.Linq 도 참조해주시고 ( using Newtonsoft.Json.Linq; ) string json = @" { "car" : { "Name" : "Sonata" } , "test" : "abc" } " //json 문자열JObject jobj = JObject.Parse(json); //문자를 객체화 이렇.. 더보기 Newtonsoft.Json 사용법 출처: https://devstarsj.github.io/2016/06/12/CSharp.NewtonJSON/ Newtonsoft.Json 사용법C# 에서 JSON document를 다루기 위해 가장 많이 사용되는 것은 Newtonsoft.Json입니다. nuget manager에서 JSON으로 검색시 가장 먼저 나옵니다. 그만큼 많이 사용되며, 사용법 또한 간단합니다.##1. 설치 및 namespace솔루션 탐색기 (Solution Explorer)에서 마우스 우클릭 하신뒤 Manage nuget packages...을 누르셔서 Browse 탭에서 Newtonsoft.Json을 검색하셔서 Install을 누르면 됩니다.다른 방법으로는 도구(Tools) -> Nuget package manager -> .. 더보기 [sqlite3] create table CREATE TABLEcreate-table-stmt: hidecolumn-def: hidecolumn-constraint: hideconflict-clause: hideexpr: hideraise-function: hideforeign-key-clause: hideliteral-value: hidesigned-number: hidetype-name: hidesigned-number: hideselect-stmt: hidecommon-table-expression: hidecompound-operator: hideexpr: hideliteral-value: hideraise-function: hidetype-name: hidesigned-number: hidejoin-clause: hidejoin-con.. 더보기 TPaingBox Canvas to Bitmap 출처: http://delphidabbler.com/tips/152 How to save the canvas of a TPaintBox to a .bmp file var Bitmap: TBitmap; Source: TRect; Dest: TRect; begin Bitmap := TBitmap.Create; try with Bitmap do begin Width := MyPaintBox.Width; Height := MyPaintBox.Height; Dest := Rect(0, 0, Width, Height); end; with MyPaintBox do Source := Rect(0, 0, Width, Height); Bitmap.Canvas.CopyRect(Dest, MyPaintBox.Canvas, S.. 더보기 이전 1 ··· 10 11 12 13 14 15 16 ··· 19 다음