亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? eccpropertyhandler.h

?? C++實(shí)現(xiàn)的橢圓曲線算法。已經(jīng)寫成一個(gè)庫文件只要調(diào)用就行了
?? H
字號:
/* ==========================================================================

	ecc - Erik's Code Collection
	Copyright (C) 2003-2005 - Erik Dienske

	This file is part of ecc.

	ecc is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or
	(at your option) any later version.

	ecc is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with ecc; if not, write to the Free Software Foundation, Inc.,
	59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
	
===========================================================================*/

//---------------------------------------------------------------------------
#ifndef eccPropertyHandlerH
#define eccPropertyHandlerH
//---------------------------------------------------------------------------

#include <Classes.hpp>
#include <typinfo.hpp>
/*	typinfo.hpp can be found in $(BCB)\Include\Vcl.
	Also see <typinfo.pas> in $(BCB)\Source\Vcl. */
//---------------------------------------------------------------------------

#ifdef _DEBUG
	#define PROPERTYHANDLER_SHOW_WARNINGS
#endif

#ifdef PROPERTYHANDLER_SHOW_WARNINGS
	#include <Dialogs.hpp> // Necessary for ShowMessage().
#endif
//---------------------------------------------------------------------------

//===========================================================================
namespace ecc {
//===========================================================================

class TPropertyHandler {

private:

	TComponent* FDefaultComponent;
	/* 	Default Component for easier function-calls. */

	bool DefaultComponentExists();
	/*	Shows a message if FDefaultComponent is not initialized.
		Use this to debug your program.
		To turn the warning off #define PROPERTYHANDLER_SHOW_WARNINGS. */

	String BuildNameValue(TComponent* comp, String prName);
	/*	Returns string: "PropertyName=Value".
		!! Caution: Assumes all passed parameters are valid!
		This function only exists to present clear code in the other functions. */

	String GetClassNamesValues(TComponent* comp, String prName);
	/*	Returns "PropertyName.SubPropertyName=Value" strings
		for property prName of Component comp as a String.
		!! Caution: Assumes prName is an existing property that is a class!
		This function is used by other functions such as GetNameValue(). */

public:

	// == Functions for any Component ==

	TPropertyHandler(); // Any component constructor.
	/*	Constructor that does not set a default TComponent. */

	int PropertyCount(TComponent* comp);
	/*	Returns the number of properties of comp, including the events. */

	bool PropertyExists(TComponent* comp, String prName);
	/*	Checks if property prName exists for TComponent comp. */

	bool IsClass(TComponent* comp, String prName);
	/*	Returns true if prName is a class (like the property Font). */

	String GetName(TComponent* comp);
	/*	Returns value of Name property for any TComponent (comp) as String. */

	Variant GetValue(TComponent* comp, String prName);
	/*	Returns property value for any TComponent (comp) as Variant.
		If property does not exist the return value is NULL.
		If property is a class the return value is NULL. */

	String GetNameValue(TComponent* comp, String prName);
	/*	Returns "PropertyName=Value" for property prName of comp.
		If property does not exist the return value is "".
		If property is a class (ie. TFont) the return value is a string which
		contains the returnstring from GetClassNamesValues(). */

	String GetNamesValues(TComponent* comp, String prNames);
	/*	Returns "PropertyName.Property=Value" strings for all passed prNames
		(including subprops) of comp as a String.
		Note that multiple props should be seperated by ';' and are all in one string.
		The Name of the comp is not a part of the result. (ie. Not f_Main.Left=xx but Left=xx).
		-Example:
		{
			TPropertyHandler ph;
			Memo1->Lines->Text = ph.GetNamesValues(CheckBox1, "Name;Checked;Cursor" );
		} */

	String GetAllNamesValues(TComponent* comp);
	/*	Returns "PropertyName.Property=Value" string for all properties
		(including subprops) of comp, this list is sorted.
		Events are not returned. */

	void SetValue(TComponent* comp, String prName, Variant prValue);
	/*	There seems to be a bug(?) in the SetPropValue function of TypInfo.pas
		when using the Delphi class Variant.
		-Example:
		{
			TPropertyHandler ph(CheckBox1);
			ph.SetValue("Checked", 1);			// > Ok.
			ph.SetValue("Checked", "true");  // > Ok.
			ph.SetValue("Checked", true);    // >> WRONG!
		}
		The last line does not work as expected because true is passed as value -1,
		instead of +1, and SetPropValue handles the negative value incorrect. */

	void SetNameValue(TComponent* comp, String prName_Value);
	/*	prName_Value is assumed to be formatted like:
			"propname.subprop=value" or "propname=value".
		Make sure this is correct, else this func will not work as expected.
		If prName_Value is a multi-line string, SetNamesValues() will be called.
		Returns false if an error occured. */

	void SetNamesValues(TComponent* comp, String prNames_Values);
	/*	prNames_Values is assumed to be a collection of lines
		seperated by '\n' (ie. Text property of TStringList).
		Every line should be formatted like:
			"propname.subprop=value" or "propname=value".
		It calls SetNameValue() for every line in prNames_Values. */

	TComponent* GetSubComponent(TComponent* comp, String prName);
	/*	Returns a TComponent* for a child component of comp with name prName.
		If there is no child-component return value is NULL. */


	// === Functions using FDefaultComponent: ===

	
	TPropertyHandler(TComponent* comp); // Default component constructor.
	/*	Constructor that sets a default TComponent for easier function-calls. */

	int PropertyCount();
	/*	Same as other PropertyCount() function, for use with the default component. */

	bool PropertyExists(String prName);
	/*	Same as other PropertyExists() function, for use with the default component. */

	bool IsClass(String prName);
	/*	Same as other IsClass() function, for use with the default component. */

	String GetName();
	/*	Same as other GetName() function, for use with the default component. */

	Variant GetValue(String prName);
	/*	Same as other GetValue() function, for use with the default component. */

	String GetNameValue(String prName);
	/*	Same as other GetNameValue() function, for use with the default component. */

	String GetNamesValues(String prNames);
	/*	Same as other GetNamesValues() function, for use with the default component. */

	String GetAllNamesValues();
	/*	Same as other GetAllNamesValues() function, for use with the default component. */

	void SetValue(String prName, Variant prValue);
	void SetNameValue(String prName_Value);
	void SetNamesValues(String prNames_Values);

	TComponent* GetSubComponent(String prName);
};

//===========================================================================
} // namespace ecc;
//===========================================================================
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产综合视频在线观看 | 另类专区欧美蜜桃臀第一页| 色老汉一区二区三区| 中文字幕一区二区三区蜜月| 99精品视频一区| 亚洲男人的天堂在线aⅴ视频| 91麻豆免费视频| 亚洲大型综合色站| 日韩一区和二区| 国产精品一线二线三线精华| 国产精品免费久久| 91免费国产视频网站| 亚洲超碰97人人做人人爱| 欧美一区二区三区小说| 国产在线视视频有精品| 中文字幕国产一区| 欧美视频一区二区| 精品一区二区免费看| 国产拍欧美日韩视频二区| 99re热这里只有精品免费视频| 夜夜嗨av一区二区三区网页 | 亚洲视频图片小说| 色视频欧美一区二区三区| 天天操天天色综合| 久久人人爽爽爽人久久久| 99久久久精品| 日韩av电影天堂| 国产精品久久久久国产精品日日| 欧美视频日韩视频在线观看| 美女一区二区三区在线观看| 欧美国产成人精品| 欧美美女网站色| 国产成人av一区二区三区在线| 亚洲自拍偷拍综合| 久久精品亚洲一区二区三区浴池| 色综合视频一区二区三区高清| 日本欧美大码aⅴ在线播放| 亚洲国产精品t66y| 欧美高清www午色夜在线视频| 国产99精品在线观看| 亚洲国产精品一区二区久久恐怖片 | 欧美日韩一区在线| 成人小视频在线观看| 日韩在线卡一卡二| 亚洲免费毛片网站| 久久久久9999亚洲精品| 3d成人h动漫网站入口| av不卡在线播放| 精品一区二区三区在线播放 | 色香蕉久久蜜桃| 国产美女一区二区| 五月天视频一区| 亚洲日本va在线观看| 久久久久久久久蜜桃| 日韩一区二区三| 欧美性感一区二区三区| 不卡免费追剧大全电视剧网站| 另类小说视频一区二区| 亚洲午夜激情av| 亚洲欧美视频在线观看| 国产欧美日韩在线| 欧美精品一区男女天堂| 日韩一区二区视频| 69堂国产成人免费视频| 在线亚洲一区二区| 9人人澡人人爽人人精品| 成人一区二区三区| 国产黑丝在线一区二区三区| 美女视频一区在线观看| 日韩国产高清影视| 天天色 色综合| 丝袜美腿成人在线| 午夜精品久久久久久不卡8050| 亚洲综合免费观看高清完整版| 1区2区3区欧美| 亚洲欧洲成人自拍| 综合av第一页| 亚洲人成网站精品片在线观看 | 综合久久久久久| 国产精品国产三级国产| 国产精品色哟哟网站| 国产精品你懂的在线欣赏| 国产欧美日本一区二区三区| 中文字幕不卡三区| 国产精品国产馆在线真实露脸| 亚洲欧洲日本在线| 亚洲乱码中文字幕| 亚洲国产va精品久久久不卡综合| 亚洲午夜精品一区二区三区他趣| 亚洲高清免费观看| 婷婷国产v国产偷v亚洲高清| 日韩激情av在线| 九色综合国产一区二区三区| 国产在线播放一区| www.亚洲精品| 91福利国产成人精品照片| 欧美日韩精品久久久| 91精品国产福利在线观看| 欧美大度的电影原声| 久久综合丝袜日本网| 国产精品福利电影一区二区三区四区| 中文字幕在线观看不卡视频| 一区二区在线观看视频| 日韩精品乱码av一区二区| 精品一区二区影视| av高清久久久| 3atv一区二区三区| 国产日韩影视精品| 亚洲一区二区三区在线| 麻豆免费精品视频| 成人免费观看男女羞羞视频| 色丁香久综合在线久综合在线观看| 欧美理论片在线| 国产欧美日韩三区| 一级中文字幕一区二区| 九九久久精品视频| 91蜜桃视频在线| 欧美电视剧免费观看| 中文字幕在线免费不卡| 日韩精品91亚洲二区在线观看| 国产精品一区专区| 欧美吞精做爰啪啪高潮| 久久久久青草大香线综合精品| 亚洲欧美经典视频| 国产制服丝袜一区| 欧美色综合网站| 国产欧美精品一区二区色综合| 亚洲高清在线视频| 东方aⅴ免费观看久久av| 欧美挠脚心视频网站| 国产精品久久久久久久岛一牛影视| 午夜av电影一区| av在线播放一区二区三区| 欧美电视剧在线看免费| 亚洲综合成人在线| 成人黄动漫网站免费app| 日韩午夜激情免费电影| 亚洲精选免费视频| 国产福利一区在线| 日韩欧美国产综合| 亚洲国产日韩精品| 99亚偷拍自图区亚洲| 337p日本欧洲亚洲大胆精品| 亚洲网友自拍偷拍| 99久久精品99国产精品| 国产日韩欧美综合一区| 麻豆一区二区三| 欧美精品久久久久久久久老牛影院| 亚洲欧洲av色图| 粉嫩在线一区二区三区视频| 精品欧美一区二区在线观看| 视频一区中文字幕| 在线看不卡av| 亚洲精品视频观看| 99久久精品免费观看| 欧美国产国产综合| 国产精品538一区二区在线| 日韩欧美一级二级三级| 三级不卡在线观看| 欧美日韩一二三区| 亚洲国产精品一区二区久久| 91影视在线播放| 亚洲欧美日韩国产手机在线| 成人精品高清在线| 国产精品乱人伦| av电影在线观看一区| 中文字幕亚洲精品在线观看| 成人精品视频一区二区三区| 国产精品欧美精品| a在线欧美一区| 日韩美女精品在线| 色悠悠亚洲一区二区| 一区二区三区免费| 欧美在线free| 午夜国产精品影院在线观看| 欧美日韩精品一区二区三区四区 | 欧美天堂一区二区三区| 亚洲小说春色综合另类电影| 欧美三级电影网| 日韩国产欧美三级| 欧美tickle裸体挠脚心vk| 激情综合网激情| 欧美激情一区二区三区不卡| 成人精品视频一区二区三区| 亚洲婷婷在线视频| 欧美日韩视频专区在线播放| 日韩不卡在线观看日韩不卡视频| 日韩一二三区视频| 国产aⅴ综合色| 自拍偷拍亚洲欧美日韩| 欧美日韩国产天堂| 免费成人美女在线观看| 久久久久国产免费免费 | 国产精品护士白丝一区av| 91丝袜美女网| 婷婷国产v国产偷v亚洲高清| 欧美精品一区二区在线播放| 成人v精品蜜桃久久一区| 一级做a爱片久久| 日韩欧美高清dvd碟片|