S/W 개발/Embarcadero2018.07.03 16:07

VCL 기본 색상 정의표

VCL 이름

색상표

색상

지정명

색상

clNone

$1FFFFFFF

 

NONE

 

clAqua

$FFFF00

 

AQUA

 

clBlack

$0

 

BLACK

 

clBlue

$FF0000

 

BLUE

 

clCream

$F0FBFF

 

CREAM

 

clDkGray

$808,080

 

DKGRAY

 

clFuchsia

$FF00FF

 

FUCHSIA

 

clGray

$808,080

 

GRAY

 

clGreen

$8,000

 

GREEN

 

clLime

$00FF00

 

LIME

 

clLtGray

$C0C0C0

 

LTGRAY

 

clMaroon

$80

 

MAROON

 

clMedGray

$A4A0A0

 

MEDGRAY

 

clMoneyGreen

$C0DCC0

 

MONEYGREEN

 

clNavy

$800,000

 

NAVY

 

clOlive

$8,080

 

OLIVE

 

clPurple

$800,080

 

PURPLE

 

clRed

$0000FF

 

RED

 

clSilver

$C0C0C0

 

SILVER

 

clSkyBlue

$F0CAA6

 

SKYBLUE

 

clTeal

$808,000

 

TEAL

 

clWhite

$FFFFFF

 

WHITE

 

clYellow

$00FFFF

 

YELLOW

 

 

clWebAliceBlue

$FFF8F0

 

WEBALICEBLUE

 

clWebAntiqueWhite

$D7EBFA

 

WEBANTIQUEWHITE

 

clWebAqua

$FFFF00

 

WEBAQUA

 

clWebAquamarine

$D4FF7F

 

WEBAQUAMARINE

 

clWebAzure

$FFFFF0

 

WEBAZURE

 

clWebBeige

$DCF5F5

 

WEBBEIGE

 

clWebBisque

$C4E4FF

 

WEBBISQUE

 

clWebBlack

$0

 

WEBBLACK

 

clWebBlanchedAlmond

$CDEBFF

 

WEBBLANCHEDALMOND

 

clWebBlue

$FF0000

 

WEBBLUE

 

clWebBlueViolet

$E22B8A

 

WEBBLUEVIOLET

 

clWebBrown

$2A2AA5

 

WEBBROWN

 

clWebBurlywood

$87B8DE

 

WEBBURLYWOOD

 

clWebCadetBlue

$A09E5F

 

WEBCADETBLUE

 

clWebChartreuse

$00FF7F

 

WEBCHARTREUSE

 

clWebChocolate

$1E69D2

 

WEBCHOCOLATE

 

clWebCoral

$507FFF

 

WEBCORAL

 

clWebCornFlowerBlue

$ED9564

 

WEBCORNFLOWERBLUE

 

clWebCornSilk

$DCF8FF

 

WEBCORNSILK

 

clWebCrimson

$3C14DC

 

WEBCRIMSON

 

clWebCyan

$FFFF00

 

WEBCYAN

 

clWebDarkBlue

$8B0000

 

WEBDARKBLUE

 

clWebDarkCyan

$8B8B00

 

WEBDARKCYAN

 

clWebDarkGoldenRod

$0B86B8

 

WEBDARKGOLDENROD

 

clWebDarkGray

$A9A9A9

 

WEBDARKGRAY

 

clWebDarkgreen

$6,400

 

WEBDARKGREEN

 

clWebDarkKhaki

$6BB7BD

 

WEBDARKKHAKI

 

clWebDarkMagenta

$8B008B

 

WEBDARKMAGENTA

 

clWebDarkOliveGreen

$2F6B55

 

WEBDARKOLIVEGREEN

 

clWebDarkOrange

$008CFF

 

WEBDARKORANGE

 

clWebDarkOrchid

$CC3299

 

WEBDARKORCHID

 

clWebDarkRed

$00008B

 

WEBDARKRED

 

clWebDarkSalmon

$7A96E9

 

WEBDARKSALMON

 

clWebDarkSeaGreen

$8FBC8F

 

WEBDARKSEAGREEN

 

clWebDarkSlateBlue

$8B3D48

 

WEBDARKSLATEBLUE

 

clWebDarkSlategray

$4F4F2F

 

WEBDARKSLATEGRAY

 

clWebDarkTurquoise

$D1CE00

 

WEBDARKTURQUOISE

 

clWebDarkViolet

$D30094

 

WEBDARKVIOLET

 

clWebDeepPink

$9314FF

 

WEBDEEPPINK

 

clWebDeepskyBlue

$FFBF00

 

WEBDEEPSKYBLUE

 

clWebDimGray

$696,969

 

WEBDIMGRAY

 

clWebDodgerBlue

$FF901E

 

WEBDODGERBLUE

 

clWebFirebrick

$2222B2

 

WEBFIREBRICK

 

clWebFloralWhite

$F0FAFF

 

WEBFLORALWHITE

 

clWebForestGreen

$228B22

 

WEBFORESTGREEN

 

clWebFuchsia

$FF00FF

 

WEBFUCHSIA

 

clWebGainsboro

$DCDCDC

 

WEBGAINSBORO

 

clWebGhostWhite

$FFF8F8

 

WEBGHOSTWHITE

 

clWebGold

$00D7FF

 

WEBGOLD

 

clWebGoldenRod

$20A5DA

 

WEBGOLDENROD

 

clWebGray

$808,080

 

WEBGRAY

 

clWebGreen

$8,000

 

WEBGREEN

 

clWebGreenYellow

$2FFFAD

 

WEBGREENYELLOW

 

clWebHoneydew

$F0FFF0

 

WEBHONEYDEW

 

clWebHotPink

$B469FF

 

WEBHOTPINK

 

clWebIndianRed

$5C5CCD

 

WEBINDIANRED

 

clWebIndigo

$82004B

 

WEBINDIGO

 

clWebIvory

$F0FFFF

 

WEBIVORY

 

clWebKhaki

$8CE6F0

 

WEBKHAKI

 

clWebLavender

$FAE6E6

 

WEBLAVENDER

 

clWebLavenderBlush

$F5F0FF

 

WEBLAVENDERBLUSH

 

clWebLawnGreen

$00FC7C

 

WEBLAWNGREEN

 

clWebLemonChiffon

$CDFAFF

 

WEBLEMONCHIFFON

 

clWebLightBlue

$E6D8AD

 

WEBLIGHTBLUE

 

clWebLightCoral

$8080F0

 

WEBLIGHTCORAL

 

clWebLightCyan

$FFFFE0

 

WEBLIGHTCYAN

 

clWebLightGoldenrodYellow

$D2FAFA

 

WEBLIGHTGOLDENRODYELLOW

 

clWebLightGreen

$90EE90

 

WEBLIGHTGREEN

 

clWebLightgrey

$D3D3D3

 

WEBLIGHTGREY

 

clWebLightPink

$C1B6FF

 

WEBLIGHTPINK

 

clWebLightSalmon

$7AA0FF

 

WEBLIGHTSALMON

 

clWebLightSeaGreen

$AAB220

 

WEBLIGHTSEAGREEN

 

clWebLightSkyBlue

$FACE87

 

WEBLIGHTSKYBLUE

 

clWebLightSlateGray

$998,877

 

WEBLIGHTSLATEGRAY

 

clWebLightSteelBlue

$DEC4B0

 

WEBLIGHTSTEELBLUE

 

clWebLightYellow

$E0FFFF

 

WEBLIGHTYELLOW

 

clWebLime

$00FF00

 

WEBLIME

 

clWebLimeGreen

$32CD32

 

WEBLIMEGREEN

 

clWebLinen

$E6F0FA

 

WEBLINEN

 

clWebMagenta

$FF00FF

 

WEBMAGENTA

 

clWebMaroon

$80

 

WEBMAROON

 

clWebMediumAquamarine

$AACD66

 

WEBMEDIUMAQUAMARINE

 

clWebMediumBlue

$CD0000

 

WEBMEDIUMBLUE

 

clWebMediumOrchid

$D355BA

 

WEBMEDIUMORCHID

 

clWebMediumPurple

$DB7093

 

WEBMEDIUMPURPLE

 

clWebMediumSeaGreen

$71B33C

 

WEBMEDIUMSEAGREEN

 

clWebMediumSlateBlue

$EE687B

 

WEBMEDIUMSLATEBLUE

 

clWebMediumSpringGreen

$9AFA00

 

WEBMEDIUMSPRINGGREEN

 

clWebMediumTurquoise

$CCD148

 

WEBMEDIUMTURQUOISE

 

clWebMediumVioletRed

$8515C7

 

WEBMEDIUMVIOLETRED

 

clWebMidnightBlue

$701,919

 

WEBMIDNIGHTBLUE

 

clWebMintcream

$FAFFF5

 

WEBMINTCREAM

 

clWebMistyRose

$E1E4FF

 

WEBMISTYROSE

 

clWebMoccasin

$B5E4FF

 

WEBMOCCASIN

 

clWebNavajoWhite

$ADDEFF

 

WEBNAVAJOWHITE

 

clWebNavy

$800,000

 

WEBNAVY

 

clWebOldLace

$E6F5FD

 

WEBOLDLACE

 

clWebOlive

$8,080

 

WEBOLIVE

 

clWebOliveDrab

$238E6B

 

WEBOLIVEDRAB

 

clWebOrange

$00A5FF

 

WEBORANGE

 

clWebOrangeRed

$0045FF

 

WEBORANGERED

 

clWebOrchid

$D670DA

 

WEBORCHID

 

clWebPaleGoldenrod

$AAE8EE

 

WEBPALEGOLDENROD

 

clWebPaleGreen

$98FB98

 

WEBPALEGREEN

 

clWebPaleTurquoise

$EEEEAF

 

WEBPALETURQUOISE

 

clWebPaleVioletRed

$9370DB

 

WEBPALEVIOLETRED

 

clWebPapayaWhip

$D5EFFF

 

WEBPAPAYAWHIP

 

clWebPeachPuff

$B9DAFF

 

WEBPEACHPUFF

 

clWebPeru

$3F85CD

 

WEBPERU

 

clWebPink

$CBC0FF

 

WEBPINK

 

clWebPlum

$DDA0DD

 

WEBPLUM

 

clWebPowderBlue

$E6E0B0

 

WEBPOWDERBLUE

 

clWebPurple

$800,080

 

WEBPURPLE

 

clWebRed

$0000FF

 

WEBRED

 

clWebRosyBrown

$8F8FBC

 

WEBROSYBROWN

 

clWebRoyalBlue

$E16941

 

WEBROYALBLUE

 

clWebSaddleBrown

$13458B

 

WEBSADDLEBROWN

 

clWebSalmon

$7280FA

 

WEBSALMON

 

clWebSandyBrown

$60A4F4

 

WEBSANDYBROWN

 

clWebSeaGreen

$578B2E

 

WEBSEAGREEN

 

clWebSeashell

$EEF5FF

 

WEBSEASHELL

 

clWebSienna

$2D52A0

 

WEBSIENNA

 

clWebSilver

$C0C0C0

 

WEBSILVER

 

clWebSkyBlue

$EBCE87

 

WEBSKYBLUE

 

clWebSlateBlue

$CD5A6A

 

WEBSLATEBLUE

 

clWebSlateGray

$908,070

 

WEBSLATEGRAY

 

clWebSnow

$FAFAFF

 

WEBSNOW

 

clWebSpringGreen

$7FFF00

 

WEBSPRINGGREEN

 

clWebSteelBlue

$B48246

 

WEBSTEELBLUE

 

clWebTan

$8CB4D2

 

WEBTAN

 

clWebTeal

$808,000

 

WEBTEAL

 

clWebThistle

$D8BFD8

 

WEBTHISTLE

 

clWebTomato

$4763FF

 

WEBTOMATO

 

clWebTurquoise

$D0E040

 

WEBTURQUOISE

 

clWebViolet

$EE82EE

 

WEBVIOLET

 

clWebWheat

$B3DEF5

 

WEBWHEAT

 

clWebWhite

$FFFFFF

 

WEBWHITE

 

clWebWhiteSmoke

$F5F5F5

 

WEBWHITESMOKE

 

clWebYellow

$00FFFF

 

WEBYELLOW

 

clWebYellowGreen

$32CD9A

 

WEBYELLOWGREEN

 


Posted by 가희나희아빠 희자매(가희나희)아빠
S/W 개발/Embarcadero2009.04.21 19:04
AnsiString 메소드 정리

* AnsiCompare
현재 문자열과 파라미터로 지정한 문자열의 크기를 비교하여 결과를 되돌려 줍니다.
이때 파라미터로 지정된 문자열은 AnsiString 문자열과 비교하여 AnsiString 문자열보다 크면 0보다 큰수를 반환하고, 작을경우에는 0보다 작은수를 , 같으면 0을 반환합니다.
원형
 int __fastcall AnsiCompare(const AnsiString & rhs) const;

Ex 
AnsiString strCompare = "AAA";
int nReturn;
nReturn = strCompare.AnsiCompare("BBB");
if (nReturn > 0) ShowMessage("값이 큽니다.\n");
else if (nReturn > 0) ShowMessage("값이 작습니다.\n");
else  ShowMessage("값이 같습니다.\n");      

Result
값이 작습니다.


...............

[참고] http://bcbjournal.org/articles/vol1/9708/An_AnsiString_class_reference.htm
아래 부분 참고...

더보기


Posted by 가희나희아빠 희자매(가희나희)아빠
S/W 개발/Embarcadero2009.03.19 09:32

DLL을 작성하다 보면 DLL을 호출하는 부분이 누구인지 궁금할 때가 있다.
이럴때 DllMain 부분을 다음과 같이 작성하면 누가 호출하는지 알수가 있다..
VCL과 MFC에서 사용하는 방법이 조금 다르다... 다음은 MFC에서 사용하는 방법으로 작성하여 본 것이다..

VCL에서는 호출하는 정의가 조금 다르다.. 그래서.. DLL_PROCESS_ATTACH 부분이 조금 다르다...

VCL : int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
MFC : BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)





아래는 참고 내용이다..

DllMain

더보기


Posted by 가희나희아빠 희자매(가희나희)아빠
S/W 개발/Embarcadero2009.03.19 09:15
LL 을 만들때 Import 헤더와 Export 헤더가 다르게 나올수 있다..

이럴때.. 헤더 파일에 다음과 같이 지시자를 만들면 조금 하나의 헤더파일만 작성하면 다른 헤더파일을 만들 필요가 없다..

#ifdef __DLL__
#define DLL_FUNC __declspec(dllexport)
#else
#define DLL_FUNC __declspec(dllimport)
#endif

그리고 전체 헤더에 전역으로 처리하고자 할때에도 다음과 같은 부분을 만들고 그 사이에 헤더 파일을 작성하면 범위 안의 함수들은 같은 전역으로 처리가 가능하다..

#ifdef __cplusplus
extern "C"{
#endif
.... 내용......
#ifdef __cplusplus
}
#endif

다음은 위의 방법으로 만들어본 헤더 파일이다...
Posted by 가희나희아빠 희자매(가희나희)아빠
S/W 개발/Embarcadero2009.02.03 09:42
이 에러는 디버거 모듈이 로드 되지 않았을때 나온다.. 업데이트 하다가 많이 발생했다..

이럴때는 이 모듈을 다시 등록해주면 된다..

regsvr32 bordbk105.dll
regsvr32 bordbk105n.dll


Posted by 가희나희아빠 희자매(가희나희)아빠
TAG VCL, 디버그
S/W 개발/Embarcadero2008.11.11 09:50
Open Dialog나 Save Dialog 사용시 보통 실행 시키면 화면 중앙에 위치하게 된다.

그런데, 원하는 특정 위치로 보내야할때가 있다..

이럴때는 해당 다이얼로그의 OnFolderChange의 이벤트에 다음과 같이 작성한다.
Posted by 가희나희아빠 희자매(가희나희)아빠
S/W 개발/Embarcadero2008.09.29 20:22

// 한번에 하는 방법은 ForceDirectories 함수를 이용하면 된다..

함수 설명은 아래와 같다..  반환값은 실패 성공 뿐이니까.. 실패 성공만 처리하면된다..
굳이 디렉토리가 존재하는지 확인 할 필요도 없다.
있으면 그냥 넘어가고 없으면 생성하게 된다.

ex) ForceDirectories("C:\\IT\\LOG");

Creates a new directory, including the creation of parent directories as needed.

Pascal
function ForceDirectories(const Dir: string): Boolean;
C++
Boolean ForceDirectories(string Dirconst);

FileCtrl

ForceDirectories creates a new directory as specified in Dir, which must be a fully-qualified path name. If the directories given in the path do not yet exist, ForceDirectories attempts to create them. 

ForceDirectories returns true if it successfully creates all necessary directories, false if it could not create a needed directory.

Warning: 
Important:Do not call ForceDirectories with an empty string. Doing so causes ForceDirectories to raise an exception.  
Note: 
The FileCtrl unit (Windows only) also contains a ForceDirectories function. However, the FileCtrl version is deprecated, and the SysUtils version preferred, even if the code does not need to be cross-platform.  

 


Posted by 가희나희아빠 희자매(가희나희)아빠
S/W 개발/Embarcadero2008.03.20 11:27

사용예) hDLL = LoadLibraryEx("Temp.dll", NULL,LOAD_LIBRARY_AS_DATAFILE);

#define DONT_RESOLVE_DLL_REFERENCES            0x00000001
#define LOAD_IGNORE_CODE_AUTHZ_LEVEL           0x00000010
#define LOAD_LIBRARY_AS_DATAFILE                     0x00000002
#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE   0x00000040
#define LOAD_LIBRARY_AS_IMAGE_RESOURCE       0x00000020
#define LOAD_WITH_ALTERED_SEARCH_PATH         0x00000008

참고
•DONT_RESOLVE_DLL_REFERENCES :
   이 옵션은 윈도우 NT에서만 사용할 수 있으며 DllEntryPoint를 부르지 않을 때 사용한다.     DllEntry와 DllExit 코드는 Dll Main을 설명할 때 함께 하기로 하고,  지금은 Dll의 Entry Point에서 명시된 코드를 실행하지 않을 때 이 옵션을 사용한다

•LOAD_LIBRARY_AS_DATAFILE :
    이 옵션은 DLL 파일을 하나의 단순한 데이터 파일로 이해하고 적재하도록 하는데 그 목적이 있다. 실행 코드가 전혀 없는 DLL들은 시스템에서 DLL의 실행을 위한 특별한 준비가 필요하지 않으므로 실행 시간을 절약할 수 있다.

•LOAD_WITH_ALTERED_SEARCH_PATH :
   이 옵션을 사용하면 위에서 언급한 DLL을 탐색하는 경로를 LoadLibraryex(LPTCSTR)에 명시된 대로 바꿀 수 있다

'S/W 개발 > Embarcadero' 카테고리의 다른 글

디렉토리를 한번에 생성하는 방법  (0) 2008.09.29
LoadLibraryEx  (0) 2008.03.20
가끔씩 하는 RAD Studio 스플래쉬 바꾸기..  (1) 2008.01.11
조합키를 사용법  (0) 2008.01.10
Posted by 가희나희아빠 희자매(가희나희)아빠
S/W 개발/LabView&CVI2008.03.20 11:12
LabView의 기능중에 컴파일 기능이 있다.

이중 DLL 만들기가 있다.

랩뷰가 생성되는 파일은 M$에서 사용되는 COFF 파일이다.
VCL에서는 OMF 형식으로 되니까.. 이부분을 변환해 줘야 된다고 생각하고 정적으로 불러왔으나 되지 않는다.

혹시나 해서 동적으로 불러보니 잘 된다.. ㅠㅠ(하루 까먹었다..)

우선 형을 정의해 주고..
typedef double (__stdcall *TTempTest)(double);

DLL을 인스턴스로 선언해주고..
HINSTANCE  Dll;

동적으로 생성할  함수형도 미리 선언
TTempTest DLLFunc;

사용하고자 하는 곳에서... (또는 생성부에서...) DLL 로드
둘 중 편한대로 사용..(2000과 XP 모두에서 사용할려면 아래 방식으로 해야 된다고 한다.. 2000 시스템이 없어서 확인 못함... XP는 사용가능)
 Dll = LoadLibrary("Temp.dll");
 Dll = LoadLibraryEx("Temp.dll", NULL, LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE);

이제 동적으로 불러오고.... 실행...
 DLLFunc = (TTempTest)GetProcAddress(Dll, "TempTest");
 if(DLLFunc)
 {
       DLLFunc(8);
 }

참고로... 화면을 불러오고자 할때에는...

VI 설정화면에서  윈도우 동작을 플로팅으로 해야 한다..
기본으로 할 경우에는 화면이 동작하지 않는다.
그리고 호출시 프런트패널을 보일것인지.. 로드시 보일것인지도 판단하도록 하고..

그리고 While문을 사용할경우에도 주의..하자.. 
그래프나 차트랑 연동될경우..
하나의 창만 나타날수도 있다.

블록다이어그램에서 인보크노드에서 설정해도 된다..

그리고.. 함수의 입출력 부분을 커넥트 처리를 꼭하자.. 이거 안하면 함수의 인자나 반환값을 받을수가 없다.



Posted by 가희나희아빠 희자매(가희나희)아빠
TAG dll, LabView, VCL
S/W 개발/번역 작업2008.01.25 17:30

VCL을 사용하다가 보면 알람이나 에러메시지를 만나면 간단한것들은 그냥 해결이 가능하나 어떤것들은 모호할때가 있다. 이럴때를 대비해서 Codegear에서 제공하는 메뉴얼을 참조해 하나씩 번역할려고 한다..

그런데, 언제 끝날지 모른다.. 번역기의 도움과 어설픈 영어해석으로 말이 안 맞을수도 있다.
그러나 대충 뜻은 알아 들을수 있을것이다. (예전에 컴파일시 나타나는 에러 메시지를 한글화 했으나. 업데이트 할때마다 이 파일을 자꾸 건들려야 해서.. 이제부터는 아예 이런식으로 정리할려고 한다. 추후 시간이 되면 기존에 하던 작업도 업데이트 해야겠다.)

문서는 100 단위씩 나누어서 작업할 예정..

작업환경 : RAD STUDIO (C++ Builder 2007)
참고문서 : 24682_rad_studio_2007_help_c_reference_help
번역기 : http://translation.infoseek.co.jp/ - 일한번역기가 따로 없어서 인터넷이 될때만 한다.

Posted by 가희나희아빠 희자매(가희나희)아빠

티스토리 툴바