`
yr512656630
  • 浏览: 321466 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

flex 实现sql语句关键字高亮显示

    博客分类:
  • flex
 
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				minWidth="955"
				minHeight="600" xmlns:local="*">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;

			[Bindable]
			public var keyArray:ArrayCollection=new ArrayCollection(["AS", "SELECT", "FROM", "WHERE", "AND", "OR"]);
		]]>
	</mx:Script>
	<local:HighlightKeywordTextArea width="500"
										 height="300"
										 keyColor="red"
										 keyArray="{keyArray}"
										 text="select name as 姓名 from user_info where id='key'">

	</local:HighlightKeywordTextArea>
</mx:Application>



<?xml version="1.0" encoding="utf-8"?>
<mx:TextArea xmlns:mx="http://www.adobe.com/2006/mxml"
			 creationComplete="textarea_creationCompleteHandler(event)">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			import mx.controls.textClasses.TextRange;
			import mx.events.FlexEvent;
			[Bindable]
			public var keyArray:ArrayCollection;

			[Bindable]
			public var keyColor:String="red";

			private var tr:TextRange;

			private var crlf:String=String.fromCharCode(13);

			private var regEx:RegExp=new RegExp(crlf, "g");

			private function setKeyColor(num:int, key:String):void
			{
				var text:String=this.text.toUpperCase().replace(regEx, " ");
				var str:String=text.substr(num, text.length);
				var strArray:Array=str.split(" ");
				var keyIndex:int=strArray.indexOf(key);

				if (keyIndex != -1)
				{
					if (keyIndex != 0)
					{
						for (var i:int; i < keyIndex; i++)
						{
							num+=(strArray[i] as String).length + 1;
						}
					}

					var length:int=key.length;
					tr=new TextRange(this, false, num, num + length);
					tr.color=keyColor;

					num+=(length + 1);

					if (num < text.length)
					{
						setKeyColor(num, key);
					}
				}
			}

			private function addTextRange():void
			{
				try
				{
					tr=new TextRange(this);
					tr.color="black";
					tr.textDecoration="normal";
					tr.fontSize=20;
					for each (var key:String in keyArray)
					{
						setKeyColor(0, key);
					}

				}
				catch (err:RangeError)
				{

				}
			}

			private function textArea_change(evt:Event):void
			{

				addTextRange();
			}

			protected function textarea_creationCompleteHandler(event:FlexEvent):void
			{
				addTextRange();
			}
		]]>
	</mx:Script>
</mx:TextArea>
分享到:
评论

相关推荐

    Flex-DataGrid使用关键字过滤结果

    在Flex应用中,DataGrid通常用于显示来自数据提供者(如ArrayCollection或XMLListCollection)的数据,并支持排序、分页和过滤等功能。本文将深入探讨如何利用关键词对Flex DataGrid中的数据进行过滤,以实现更高效...

    Flex中文本高亮显示

    标题“Flex中文本高亮显示”涉及到的是在Adobe Flex中实现文本内容的高亮显示技术。Flex是一款基于ActionScript的开源框架,用于构建富互联网应用程序(RIA)。在Flex中,文本高亮通常用于突出显示用户搜索的关键字...

    SqlParser C++实现的SQL语法解释器

    这些标记通常是SQL关键字、标识符(如表名或列名)、操作符、常量等。C++中,这通常通过扫描器(lexer)或词法生成器(如Flex)来完成。词法分析器会识别SQL语句中的各个元素,并将它们转化为统一的数据结构,以便...

    nsql.rar_NSQL_SQL parser_flex_sql语法树解析

    Flex可以自动生成词法分析器,识别SQL语句中的关键字、符号和其他元素。通过Flex,NSQL能更高效地处理各种SQL变体,确保解析的准确性。 接下来,我们讨论“SQL语法树解析”。语法树是一种数据结构,它以树状形式...

    flex实现高亮闪烁显示polyline

    ### Flex 实现高亮闪烁显示 Polyline 的方法 在 Flex 中实现高亮闪烁显示 Polyline 是一种常见的图形用户界面设计技巧,特别是在地图应用、数据可视化等领域。本文将详细介绍如何使用 Flex 和相关技术来实现这一...

    Linux环境中使用Flex、Bison进行SQL语法分析.pdf

    本文的目的是为了提供一种通用的SQL语法分析策略,以解决SQL语法分析过程中的冲突消解、可重入策略和错误处理三个大问题,实现对Oracle的SQL语句进行语法分析并构建完整的SQL语法树的目标,为进一步的处理提供了方便...

    flex中的datagrid的分页定位以及高亮显示

    本篇主要探讨如何在Flex的`Datagrid`中实现分页定位和高亮显示。 首先,分页定位涉及的主要任务是确保用户在进行数据修改后,返回时能够快速定位到修改过的记录。这需要我们关注两个关键点:`Combobox`的定位和数据...

    Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar

    Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar...

    flex操作数据库, flex操作本地sql数据库

    在Flex中,可以利用各种技术来实现与数据库的交互,包括操作本地SQL数据库。本篇文章将详细探讨Flex如何操作数据库,特别是针对本地SQL数据库的处理。 一、Flex与数据库连接 在Flex中,数据访问通常通过ADO.NET、...

    Flex 实现文件上传及进度显示

    在Flex中实现文件上传和进度显示,通常涉及到多个技术层面,包括客户端的用户界面设计、服务器端的数据处理以及通信协议的使用。以下是关于这个主题的详细知识点: 1. **Flex组件库**:Flex提供了一套丰富的组件库...

    使用Bison (Yacc)和Flex的现代SQL解析器

    An SQL parser, generated from Bison (Yacc) and Flex (Lex). Original version - most of the work - comes from John Levine's Flex & Bison book published by O'Reilley. Example usage: $ echo "SELECT a.name...

    flex3+java+sqlserver实现的增删查改

    本项目“flex3+java+sqlserver实现的增删查改”就是这样一个实例,它结合了Adobe Flex 3作为前端开发框架,Java作为后端服务器端语言,以及Microsoft SQL Server作为数据库管理系统,实现了基本的数据操作功能,即增...

    flex 实现全文检索中的高亮显示代码

    本篇文档将详细介绍如何在Flex中实现全文检索时的高亮显示效果。 首先,Flex是一个用于开发富互联网应用(Rich Internet Applications, RIA)的开源框架。它主要基于ECMAScript for XML (E4X) 的语法,结合...

    lex和yacc构建的SQL分析器

    1. **定义词法规则**:编写`flex`配置文件,定义各种SQL关键字、操作符和常量的正则表达式,以及它们如何转换为词法单元。 2. **定义语法规则**:编写`bison`配置文件,定义SQL语句的BNF(巴科斯范式)或EBNF(扩展...

    flex4教程-as条件控制语句

    Flex4是一种基于ActionScript 3.0的框架,用于创建富互联网应用程序(RIA)...通过深入学习并实践“01-05AS的条件控制语句”这个视频教程,你将能够更自如地控制你的Flex4应用程序的流程,从而提升开发效率和用户体验。

    Flex4 SQL2005

    在众多实现Flex与后端数据库连接的方法中,我们选择了Remoting的方式,通过FluorineFX与ASP.NET结合实现Flex访问SQL Server 2005数据库的功能,并将查询结果展示在GridView控件中。 #### 方案比较 Flex访问数据库...

    sql flex (最简单的连接方式)

    在IT行业中,SQL(Structured Query Language)是一种用于管理和处理关系数据库的强大语言,而Flex...通过理解这些知识点,开发者可以利用Flex和SQL实现高效、安全的Web应用,提供丰富的用户体验并有效地处理后端数据。

    Linux环境中使用Flex_Bison进行SQL语法分析

    Linux环境中使用Flex_Bison进行SQL语法分析

    flex实现滑动显示隐藏效果

    标题中的"flex实现滑动显示隐藏效果"指的是使用Flex框架来创建一个可以滑动展示或隐藏内容的组件。这个功能在移动应用和网页设计中非常常见,比如侧边栏菜单、抽屉式导航或者可展开的详情区域。 首先,我们需要理解...

    flexwheel flex实现的图片滚动效果

    "Flexwheel"是基于Flex实现的一种特定组件,主要用于创建图片滚动和时间滚动的效果。这种效果常用于增强用户体验,尤其是在展示大量信息或者产品图片时,能够以吸引人的方式呈现内容。 首先,我们要理解什么是Flex...

Global site tag (gtag.js) - Google Analytics