最新评论
输出为一个标准DLL,可供VB,VC,Delphi,C#.NET,VB.NET,模拟精灵,按键精灵等多平台调用,调用方法简单,几行代码即可完成。独具特色的边缘检测字符分离、旋转倾斜纠正和通用字符匹配算法(无论字体和大小), 使得该引擎对于像新浪、动网、淘宝、CSDN等多种验证码均有不错的识别率,是一款效果较为理想的验证码识别引擎。附详细的调用实例和代码注释等相关技术文档。
官方网站 - http://www.purejoy.cn/yzm_advocr
识别效果怎么样一试就知道 - DEMO下载 http://www.purejoy.cn/yzm_advocr/advocr.rar
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MenuTree.aspx.cs" Inherits="Modules_MenuTree" %>
<link rel="stylesheet" type="text/css" href="<%=ThemePath %>style.css">
<link rel="stylesheet" type="text/css" href="<%=ThemePath %>menu.css">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>主菜单</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body class="panel">
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<div id="bottom">
</div>
<script language="JavaScript">
var cur_id="";
var flag=0,sflag=0;
//-------- 菜单点击事件 -------
function c(srcelement)
{
var targetid,srcelement,targetelement;
var strbuf;
//-------- 如果点击了展开或收缩按钮---------
targetid=srcelement.id+"d";
targetelement=document.getElementById(targetid);
if (targetelement.style.display=="none")
{
srcelement.className="active";
targetelement.style.display='';
menu_flag=0;
expand_text.innerHTML="收缩";
}
else
{
srcelement.className="";
targetelement.style.display="none";
menu_flag=1;
expand_text.innerHTML="展开";
var links=document.getElementsByTagName("A");
for (i=0; i<links.length; i++)
{
srcelement=links[i];
if(srcelement.parentNode.className.toUpperCase()=="L1" && srcelement.className=="active" && srcelement.id.substr(0,1)=="m")
{
menu_flag=0;
expand_text.innerHTML="收缩";
break;
}
}
}
}
function set_current(id)
{
cur_link=document.getElementById("f"+cur_id)
if(cur_link)
cur_link.className="";
cur_link=document.getElementById("f"+id);
if(cur_link)
cur_link.className="active";
cur_id=id;
}
//-------- 打开网址 -------
function a(URL,id)
{
set_current(id);
//if(URL.substr(0,7)!="http://" && URL.substr(0,6)!="ftp://")
// URL = "/general/"+URL;
//window.open(URL,"main");
parent.openURL(URL,0);
}
function b(URL,id)
{
set_current(id);
URL = "/app/"+URL;
parent.openURL(URL,0);
}
//-------- 菜单全部展开/收缩 -------
var menu_flag=1;
function menu_expand()
{
if(menu_flag==1)
expand_text.innerHTML="收缩";
else
expand_text.innerHTML="展开";
menu_flag=1-menu_flag;
var links=document.getElementsByTagName("A");
for (i=0; i<links.length; i++)
{
srcelement=links[i];
if(srcelement.parentNode.className.toUpperCase()=="L1" || srcelement.parentNode.className.toUpperCase()=="L21")
{
targetelement=document.getElementById(srcelement.id+"d");
if(menu_flag==0)
{
targetelement.style.display='';
srcelement.className="active";
}
else
{
targetelement.style.display="none";
srcelement.className="";
}
}
}
}
//-------- 打开windows程序 -------
function winexe(NAME,PROG)
{
URL="/general/winexe?PROG="+PROG+"&NAME="+NAME;
window.open(URL,"winexe","height=100,width=350,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top=0,left=0,resizable=no");
}
</script>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MenuTree.aspx.cs" Inherits="Modules_MenuTree" %>
USE [GFS]
GO
/****** 对象: Table [dbo].[GFS_SYS_Class] 脚本日期: 02/26/2008 15:26:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[GFS_SYS_Class](
[ClassID] [int] NOT NULL,
[ClassName] [varchar](500) COLLATE Chinese_PRC_CI_AS NOT NULL,
[ClassRemark] [text] COLLATE Chinese_PRC_CI_AS NULL,
[ClassType] [int] NULL,
[ClassParentID] [int] NULL,
[ClassAddedBy] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[ClassAddedDate] [datetime] NULL,
[Status] [int] NULL CONSTRAINT [DF_GFS_Class_Status] DEFAULT (0),
[Target] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,
[ImageUrl] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[ClassUrl] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [GFS_SYS_Class_pk] PRIMARY KEY CLUSTERED
(
[ClassID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
2.aspx文件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MenuTree.aspx.cs" Inherits="Modules_MenuTree" %>
3.cs文件
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Modules_MenuTree : GFS.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
InitTree();
this.EnableViewState = false;
}
}
private void InitTree()
{
string userName = Request.Cookies["Username"].Value.ToString();
GFS.Components.Class classobj = new GFS.Components.Class();
int parentID = 0;
if (Request["parentName"] != null)
{
parentID = int.Parse(Request["parentName"].ToString());/// classobj.GetClassId(Request["parentName"].ToString());
}
DataTable dt = classobj.GetAllUserClass(userName, parentID);
DataView dv = dt.DefaultView;
dv.Sort = "classparentid";
GFS.Web.UI.MenuTree mt = new GFS.Web.UI.MenuTree();
this.PlaceHolder1.Controls.Add(mt);
GetChild(mt.Nodes, dv, parentID);
//GetChild(this.TreeView1.Nodes, dv, parentID);
// this.TreeView1.CollapseAll();
}
private void GetChild(TreeNodeCollection TNC, DataView dv, int parentid)
{
System.Data.DataRowView[] dvr = dv.FindRows(parentid);
foreach (DataRowView drv in dvr)
{
System.Web.UI.WebControls.TreeNode tn = new TreeNode();
tn.Value = drv["ClassID"].ToString();
tn.Text = drv["ClassName"].ToString();
if (drv["ImageUrl"] != null && drv["ImageUrl"].ToString() != string.Empty)
tn.ImageUrl = this.ResolveUrl("~/Images/menu/" + drv["ImageUrl"].ToString());
else
tn.ImageUrl = this.ResolveUrl("~/Images/menu/" + GetIcon(drv["ClassType"].ToString()));
if (drv["ClassUrl"] != null && drv["ClassUrl"].ToString() != string.Empty)
{
tn.NavigateUrl = this.ResolveUrl("~/Modules/" + drv["ClassUrl"].ToString().Replace("@classID", tn.Value));
//Response.Cookies["ActiveNodeID"].Value=tn.Value;
}
else
{
tn.NavigateUrl = "Empty.aspx";
}
if (drv["Target"] != null && drv["Target"].ToString() != string.Empty)
{
tn.Target = drv["Target"].ToString();
}
else
tn.Target = "main";
TNC.Add(tn);
GetChild(tn.ChildNodes, dv, int.Parse(tn.Value));
}
}
#region 获取节点图标
///
/// 获取节点图标
///
private string GetIcon(string ClassType)
{
string rtnValue = string.Empty;
switch (ClassType)
{
case "0":
rtnValue += "flag.gif";
break;
case "1":
rtnValue += "myDoc.gif";
break;
case "2":
rtnValue += "mail.gif";
break;
case "3":
rtnValue += "page.gif";
break;
case "4":
rtnValue += "staff.gif";
break;
case "5":
rtnValue += "help_page.gif";
break;
case "6":
rtnValue += "MyTask.gif";
break;
case "7":
rtnValue += "mail.gif";
break;
case "8":
rtnValue += "myDoc.gif";
break;
case "9":
rtnValue += "DocFlow.gif";
break;
case "10":
rtnValue += "ClientManage.gif";
break;
case "11":
rtnValue += "myLinkman.gif";
break;
case "12":
rtnValue += "position.gif";
break;
case "13":
rtnValue += "roleManage.gif";
break;
case "14":
rtnValue += "kaoqin.gif";
break;
case "15":
rtnValue += "workadmin.gif";
break;
case "16":
rtnValue += "message.gif";
break;
case "17":
rtnValue += "usbkey.gif";
break;
default:
rtnValue += "red_ball.gif";
break;
}
return rtnValue;
}
#endregion
}
我的QQ:81167055
谢谢。
