带验证码的Flex登录窗口实例代码

如果您喜欢这些文章,欢迎点击此处订阅本Blog title="RSS 2.0" type="application/rss+xml" href="http://feed.feedsky.com/softwave" rel="alternate"> Blog 订阅

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

本例子是实现了一个网页登录窗口的验证程序,具有验证码功能:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
  3.     <mx:states>
  4.         <!--新建“index”State-->
  5.         <mx:State name="index">
  6.             <!--移除“登录框”-->
  7.             <mx:RemoveChild target="{panel1}"/>
  8.             <!--添加新的组件-->
  9.             <mx:AddChild position="lastChild">
  10.                 <mx:Label x="231" y="174" text="欢迎来到主页" fontFamily="Georgia" fontSize="20" />
  11.             </mx:AddChild>
  12.         </mx:State>
  13.     </mx:states>
  14.     <mx:Script>
  15.         <![CDATA[
  16.             import mx.controls.Alert;
  17.             private function initApp():void
  18.             {
  19.                 //显示校验码
  20.                lblCheckCode.text=GenerateCheckCode(); 
  21.             }
  22.             private function loginHandle():void
  23.             {
  24.                 //空的情况
  25.                 if(txtUsername.text==""||txtPassword.text=="")
  26.                 {
  27.                     Alert.show("请输入完整数据!");
  28.                 }
  29.                 else
  30.                 {
  31.                     //合法用户
  32.                     if(txtUsername.text=="Administrator"&&txtPassword.text=="123456"&&txtCheckCode.text.toLocaleLowerCase()==lblCheckCode.text.toLowerCase())
  33.                     {
  34.                         currentState="index";
  35.                     }
  36.                     //登录失败
  37.                     else  
  38.                     {
  39.                         //校验码错误
  40.                         if(txtCheckCode.text.toLowerCase()!=lblCheckCode.text.toLowerCase()) 
  41.                         {
  42.                            Alert.show("校验码错误!");
  43.                            //重新生成校验码
  44.                            lblCheckCode.text=GenerateCheckCode(); 
  45.                         }
  46.                         //用户名或密码错误
  47.                         else  
  48.                           Alert.show("用户名或密码错误!");
  49.                     }
  50.                 }
  51.             }
  52.             private function resetHandle():void
  53.             {
  54.                 txtUsername.text="";
  55.                 txtPassword.text="";
  56.                 txtCheckCode.text="";
  57.             }
  58.  
  59.             //生成随机码
  60.             private function GenerateCheckCode():String
  61.             {
  62.                 //初始化
  63.                 var ran:Number;
  64.                 var number:Number;
  65.                 var  code:String;
  66.                 var checkCode:String ="";
  67.                 //生成四位随机数
  68.                 for(var i:int=0; i<4; i++)
  69.                 {
  70.                     //Math.random生成数为类似为0.1234
  71.                     ran=Math.random();
  72.                     number =Math.round(ran*10000); 
  73.                     //如果是2的倍数生成一个数字
  74.                     if(number % 2 == 0)
  75.                       //"0"的ASCII码是48  
  76.                       code = String.fromCharCode(48+(number % 10)); 
  77.                     //生成一个字母
  78.                     else  
  79.                       //"A"的ASCII码为65
  80.                       code = String.fromCharCode(65+(number % 26)) ;
  81.                     checkCode += code;
  82.                 }
  83.                 return checkCode;
  84.             }
  85.  
  86.         ]]>
  87.     </mx:Script>
  88.     <mx:Panel x="337.5" y="261" width="349" height="257" layout="absolute" title="用户登录" fontFamily="Georgia" fontSize="12" id="panel1">
  89.         <!--  "用户名"标签  -->
  90.         <mx:Label x="41.5" y="33" text="用户名"/> 
  91.         <!--  "密码"标签  -->   
  92.         <mx:Label x="42.5" y="81" text="密码"/> 
  93.         <!--  "用户名"输入框  -->    
  94.         <mx:TextInput x="94.5" y="33" id="txtUsername"/>  
  95.         <!--  "密码"输入框  -->
  96.         <mx:TextInput x="95.5" y="81" id="txtPassword" displayAsPassword="true"/>
  97.         <!--  "登录"按钮  --> 
  98.         <mx:Button x="82.5" y="159" label="登录" id="btnLogin" click="loginHandle()"/> 
  99.         <!--  "重置"按钮  --> 
  100.         <mx:Button x="181.5" y="159" label="重置" id="btnReset" click="resetHandle()"/> 
  101.         <!--  "校验码"标签  --> 
  102.         <mx:Label x="165.5" y="125" id="lblCheckCode" width="42.5" color="#377CD0"/>
  103.         <mx:LinkButton x="216" y="123" label="看不清楚?" id="linkbtnReGenerate" click="lblCheckCode.text=GenerateCheckCode();" fontFamily="Georgia" fontSize="11"/>
  104.         <mx:Label x="39.5" y="123" text="校验码"/>
  105.         <!--  "校验码"输入框  --> 
  106.         <mx:TextInput x="96.5" y="121" id="txtCheckCode" width="61" maxChars="4"/>
  107.     </mx:Panel>
  108. </mx:Application>
转自: http://www.joelove.cn/



需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值