用javascript将中文字符转换成拼音

思路还是比较简单的,就是——穷举法,将中文字符作为参数,去"数据库"匹配,这里的数据库其实就是几个数组。 使用方法: 首先加载pytran.js <script type=”text/javascript” src=”pytran.js”></script> 然后写一个函数调用pinyin库里的函数来完成字符的转换,例如: function Translate() { var txtNameSpell = document.getElementById(“txtNameSpell”); var txtHanZi = document.getElementById(“txtDisplayName”); var txtPinYin = document.getElementById(“txtPinYin”); var srccode = txtHanZi.value; txtPinYin.value = TranslateToDiv(srccode, txtPinYin); }   在要使用转换的地方调用Translate(),例如,在某个textbox onblur的时候: <input type=”text” id=”txtDisplayName” onblur=”Translate();” /> 这样就可以在txtDisplayName onblur事件触发的时候,在txtPinYin里显示相应的拼音了 代码下载: 点击这里下载源代码和示例

用sql察看数据库结构

有时候我们没办法用查询分析器或者企业管理器访问数据库,查看数据库结构,这时候,我们可以用sql语句查询出表结构: sql语句: 使用于sql server 2000 select ( case when a.colorder = 1 then d.name else ” end ) 表名, a.colorder 字段序号, a.name 字段名, ( case when COLUMNPROPERTY (a.id,a.name,’isidentity’) = 1 then ‘√’ else ” end ) 标识, ( case when ( select count(*) from sysobjects where name in ( select name from sysindexes where (id… Read More »

ajax取得被访问页面中的一部分

纯粹地用xmlhttprequest访问某个页面的时候,比如某个aspx页面,返回的是整个页面的html,但有时候我们只需要其中的一部分,或者第一次调用需要页面中的某个部分,第二次调用需要页面中的另外一个部分。 可以这样解决: 在被访问页面里写上某些注释,客户端callback的时候截取注释里的内容: 部分js代码: function processData(responseText, responseStatus) { if (responseStatus==200) { alert(responseText); var str = responseText.match(/<!–ajaxcontentbegin–>(.|”s|”r|”r”n)*?<!–ajaxcontentend–>/gim); alert(str); document.getElementById(“container”).innerHTML = str; document.getElementById(“localInput”).value = document.getElementById(“someInput”).value } else { alert(responseStatus ); } } var myRequest = new ajaxObject(‘target.htm’, processData);

xslt转换示例xml xslt transform using c#

在以前公司的时候写过一点用c#通过xslt把xml转成html的代码,在此记录一下,附示例xml和xslt。 try { string sourceDoc = “resource-sample.xml”; string xsltDoc = “resource.xslt”; XPathDocument myXPathDocument = new XPathDocument(sourceDoc); XslCompiledTransform myXslTransform = new XslCompiledTransform(); MemoryStream ms = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(ms, null); myXslTransform.Load(xsltDoc); myXslTransform.Transform(myXPathDocument, null, writer); ms.Seek(0, SeekOrigin.Begin); StreamReader stream = new StreamReader(ms); this.txtOutput.Text = stream.ReadToEnd(); writer.Close(); } catch (FileNotFoundException filexc) { MessageBox.Show(“File Not Found!”,… Read More »

广度优先,从子节点找到到根路径的sql

这是以前在公司遇到的一个问题,避免sql语句的递归,提高效率 /* 注解: 以前遇到过一个同事,在处理树的时候,在sql语句里面用递归,造成性能非常低下。 在遇到sql处理树的时候,可以采用以下方法,用循环来解决。 主要思路: 找到Cateogry的Parent插入临时表,在临时表里做遍历,每到一条记录,都做一个操作:将它的parent select出来,插入临时表,最后,将临时表join Cateogry表。 */ set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[Proc_GetCategoryPath] @CategoryID uniqueidentifier AS IF EXISTS (SELECT * FROM dbo.sysobjects WHERE ID=object_id(N’#_Name’) AND OBJECTPROPERTY(id, N’IsUserTable’)=1) DROP TABLE #_Name /*建一个临时表*/ CREATE TABLE [dbo].[#_Name] ( [ID] [bigint] IDENTITY (1, 1) NOT NULL, [ParentCategoryID] uniqueidentifier NULL , [CategoryID] uniqueidentifier… Read More »

清除日志的sql脚本(clear sql log)

有时候我们使用虚拟主机上的sql,不能用企业管理器等工具直接对数据库进行操作,有时候为了节省空间,需要清楚数据库里的Log,以下的sql脚本是用来清除数据库的log SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT USE cms — 要操作的数据库名 SELECT @LogicalFileName = ‘cms_log’, — 日志文件名 @MaxMinutes = 10, — Limit on time allowed to wrap log. @NewSize = 100 — 你想设定的日志文件的大小(M) — Setup / initialize DECLARE @OriginalSize int SELECT @OriginalSize = size FROM sysfiles WHERE name = @LogicalFileName SELECT… Read More »

保存网页时内容不丢失

以下的css代码可以让ie在被保存时,把输入框例如<input type="text" />中的值一并保存下来 <style> .saveSnapshot {behavior:url(#default#savesnapshot);} </style>

关于Regex全字符匹配

前加^后加$ 比如^[\d]+$ abc123这个就不match了,IsMatch返回false 如果[\d]+ abc123 IsMatch的话就会返回true

小算法 – 将一个字符串分割成等长的几段

将一个string分成等长的几分 例如,SplitStringIntoMultipart( "abcdefgh", 3 ); 会返回 "abc", "def", "gh" public static string[] SplitStringIntoMultipart( string input , int eachCount ) { if( input.Length == 0 ) return new string[0]; if( input.Length <= eachCount ) return new string[1]{input}; int partNum; if( input.Length % eachCount == 0 ) partNum = input.Length / eachCount; else partNum = input.Length /… Read More »