原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://cinderella7.blog.51cto.com/7607653/1281178

   一:Dialog

   对话框我们在手机中经常看到,比如当你要退出某个应用时,弹出提示框,问你是不是确定退出,这就是提示框,他可以给出提示信息,也可以让用户选择从而进行某些操作。

  ◆ 分类:

   (1)AlertDialog:提示对话框,给出提示信息

       ①简单提示对话框:仅给出提示信息

       ②可交互提示对话框:添加了按钮之后,与用户交互的提示对话框

       ③自定义界面的提示对话框

   (2)ProgressDialog:进度对话框,比如下载时的提示框

   (3)DatePickerDialog:日期选择对话框,给出日期,供用户选择

戮克 發表在 痞客邦 留言(0) 人氣()

1.平移动画

 

2.旋转动画

3.伸缩动画

4.翻页动画

戮克 發表在 痞客邦 留言(0) 人氣()

privatevoidnoSoftInput(finalEditTextet){

//1、EditText有焦點(focusable為true)阻止輸入法彈出
et.setOnTouchListener(newOnTouchListener(){
//@Override
publicbooleanonTouch(Viewv,MotionEventevent){
//TODOAuto-generatedmethodstub
mCurrentEdit=et;
et.setInputType(InputType.TYPE_Null);//關閉軟鍵盤
returnfalse;
}

戮克 發表在 痞客邦 留言(0) 人氣()

文章有参考http://www.cnblogs.com/zhxilin/archive/2013/03/20/2971331.html

 

下面以接入九幽数据统计插件为例

Step 1:如果是cocos2dx的话,每个版本不一样,比如3.6的话,已不支持wp8的,原因如下:

WP8: remove WP8 support because Angle don’t support WP8 any more

以3.3的版本为例,直接打开proj.wp8-xaml目录下的工程文件;

 

如果不是cocos2dx,那就创建一个directx and xaml 工程。

 

Step 2:

戮克 發表在 痞客邦 留言(0) 人氣()

本文引用网址:

http://www.hack50.com/article/sort07/sort0260/info-361099.html

18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定。 GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称"社会保障号码"更名为"公民身份号码",另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。GB11643-1999《公民身份号码》主要内容如下:
一、范围
    该标准规定了公民身份号码的编码对象、号码的结构和表现形式,使每个编码对象获得一个唯一的、不变的法定号码。
二、编码对象
    公民身份号码的编码对象是具有中华人民共和国国籍的公民。
三、号码的结构和表示形式
1、号码的结构
   公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
2、地址码
   表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
3、出生日期码
   表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。
4、顺序码
    表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
5、校验码
(1)十七位数字本体码加权求和公式
S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和
Ai:表示第i位置上的身份证号码数字值
Wi:表示第i位置上的加权因子
Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

(2)计算模
Y = mod(S, 11)

(3)通过模得到对应的校验码
Y: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
四、举例如下:
北京市朝阳区: 11010519491231002X

戮克 發表在 痞客邦 留言(0) 人氣()

原文链接:http://www.cnblogs.com/yilin/p/csharp-activex.html
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能, 以增强浏览器端的动态处理能力。通常ActiveX控件都是用C++或VB语言开发,本文介绍另一种方式,在.NET Framework平台上,使用C#语言开发ActiveX控件。
虽然本文通篇都在讲如何使用C#语言开发ActiveX控件,但我并不极力推荐使用这种技术,因为该技术存在明显的局限,即需要浏览器端安 装.NET Framework(版本取决于开发ActiveX控件使用的.NET Framework版本),该局限对于挑剔的互联网用户,几乎是不可接受的。所以,我建议以下几条均满足时,方可考虑使用该技术:
开发团队中没有人掌握使用C++/VB开发ActiveX控件技术; 该ActiveX控件不用于互联网; 用户对仅能使用IE浏览器访问表示可以接受; 用户对在浏览器端安装.NET Framework组件表示可以接受。 另外,我建议如果不是因为控件的依赖库基于更高版本的.NET Framework,或需要更高版本的.NET Framework提供的扩展功能(如需要WCF等),尽量在.NET Framework 2.0上开发ActiveX控件,因为.NET Framework 2.0只有20M,相比300M的.NET Framework 3.5和40M的.NET Framework 4.0都要小很多,对客户端操作系统的要求也要低很多,并且随着Windows版本的不断升级换代,Windows Vista以后的版本已经内置了.NET Framework 2.0。等到Windows XP系统寿终正寝之时,也将迎来该技术的春天。所以,别被我上面的建议夯退了,掌握该技术其实还是蛮有实用价值的,毕竟,C#高效的开发效率很有吸引力。
本文接下来将使用C#语言开发一个ActiveX控件,实现对浏览器端的MAC地址遍历功能;另外,提供一个在Web静态页面中调用该控件的测试实 例。本实例的开发环境为Visual Studio 2010旗舰版(SP1),目标框架为.NET Framework 2.0;浏览器端测试环境为Windows 7旗舰版,IE8。
控件开发 使用C#进行ActiveX控件开发过程其实很简单。首先,在解决方案中添加一个类库项目,目标框架使用.NET Framework 2.0,如图1所示:

X


图1创建ActiveX控件类库
此处有一个关键操作,需要设置类库项目属性->程序集信息->使程序集COM可见,如图2所示:

图2设置ActiveX控件类库程序集COM可见
ActiveX类库的内容大致包括两部分,IObjectSafety接口和实现该接口的控件类。考虑所有控件类都要实现IObjectSafety接口,可以将该接口的实现抽象为一个控件基类。
一、IObjectSafety接口
为了让ActiveX控件获得客户端的信任,控件类还需要实现一个名为“IObjectSafety”的接口。先创建该接口(注意,不能修改该接口的GUID值),接口内容如下:

1 [ComImport, Guid('CB5BDC81-93C1-11CF-8F20-00805F2CD064')] 2 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 3 public interface IObjectSafety 4 { 5 [PreserveSig] 6 int GetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U4)] ref int pdwEnabledOptions); 7 8 [PreserveSig()] 9 int SetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] int dwOptionSetMask, [MarshalAs(UnmanagedType.U4)] int dwEnabledOptions); 10 } 
二、ActiveXControl控件基类

1 public abstract class ActiveXControl : IObjectSafety 2 { 3 #region IObjectSafety 成员 4 5 private const string _IID_IDispatch = '{00020400-0000-0000-C000-000000000046}'; 6 private const string _IID_IDispatchEx = '{a6ef9860-c720-11d0-9337-00a0c90dcaa9}'; 7 private const string _IID_IPersistStorage = '{0000010A-0000-0000-C000-000000000046}'; 8 private const string _IID_IPersistStream = '{00000109-0000-0000-C000-000000000046}'; 9 private const string _IID_IPersistPropertyBag ='{37D84F60-42CB-11CE-8135-00AA004BB851}'; 10 11 private const int INTERFACESAFE_FOR_UNTRUSTED_CALLER = 0x00000001; 12 private const int INTERFACESAFE_FOR_UNTRUSTED_DATA = 0x00000002; 13 private const int S_OK = 0; 14 private const int E_FAIL = unchecked((int)0x80004005); 15 private const int E_NOINTERFACE = unchecked((int)0x80004002); 16 17 private bool _fSafeForScripting = true; 18 private bool _fSafeForInitializing = true; 19 20 21 public int GetInterfaceSafetyOptions(ref Guid riid, ref int pdwSupportedOptions, ref int pdwEnabledOptions) 22 { 23 int Rslt = E_FAIL; 24 25 string strGUID = riid.ToString('B'); 26 pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA; 27 switch (strGUID) 28 { 29 case _IID_IDispatch: 30 case _IID_IDispatchEx: 31 Rslt = S_OK; 32 pdwEnabledOptions = 0; 33 if (_fSafeForScripting == true) 34 pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER; 35 break; 36 case _IID_IPersistStorage: 37 case _IID_IPersistStream: 38 case _IID_IPersistPropertyBag: 39 Rslt = S_OK; 40 pdwEnabledOptions = 0; 41 if (_fSafeForInitializing == true) 42 pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA; 43 break; 44 default: 45 Rslt = E_NOINTERFACE; 46 break; 47 } 48 49 return Rslt; 50 } 51 52 public int SetInterfaceSafetyOptions(ref Guid riid, int dwOptionSetMask, int dwEnabledOptions) 53 { 54 int Rslt = E_FAIL; 55 56 string strGUID = riid.ToString('B'); 57 switch (strGUID) 58 { 59 case _IID_IDispatch: 60 case _IID_IDispatchEx: 61 if (((dwEnabledOptions & dwOptionSetMask)== INTERFACESAFE_FOR_UNTRUSTED_CALLER) && 62 (_fSafeForScripting == true)) 63 Rslt = S_OK; 64 break; 65 case _IID_IPersistStorage: 66 case _IID_IPersistStream: 67 case _IID_IPersistPropertyBag: 68 if (((dwEnabledOptions & dwOptionSetMask) == INTERFACESAFE_FOR_UNTRUSTED_DATA) && 69 (_fSafeForInitializing == true)) 70 Rslt = S_OK; 71 break; 72 default: 73 Rslt = E_NOINTERFACE; 74 break; 75 } 76 77 return Rslt; 78 } 79 80 #endregion 81 } 
三、MacActiveX控件类

1 [Guid('65D8E97F-D3E2-462A-B389-241D7C38C518')] 2 public class MacActiveX : ActiveXControl 3 { 4 public string GetMacAddress() 5 { 6var mc = new ManagementClass('Win32_NetworkAdapterConfiguration'); 7 var mos = mc.GetInstances(); 8 var sb = new StringBuilder(); 9 10 foreach (ManagementObject mo in mos) 11 { 12 var macAddress = mo['MacAddress']; 13 14 if (macAddress != null) 15 sb.AppendLine(macAddress.ToString()); 16 } 17 18 return sb.ToString(); 19 } 20 } 
注意,第一行指定的Guid值即为该ActiveX控件的唯一标识,请保证其唯一性。Guid的生成有多种方法,你可以在系统目录的Program Files目录搜索一个名为guidgen.exe的工具,用该工具产生;也可以写一段测试代码,调用Guid.NewGuid()方法产生;有的 Visual Studio版本也提供了快捷方式,在“工具->生成GUID”菜单下。另外,访问MAC需要添加对System.Management系统组件的 引用。
到此,控件类库的开发工作就做完了,整个实现过程确实很简单。


戮克 發表在 痞客邦 留言(0) 人氣()