DelPhi Treeview 操作实例 onclick节点 treeview1.Selected.Level

bywzy 发表于 程序设计 分类,标签: ,
7

怎么改变Treeview中的图标? OnClick事件Click获取Node.text 批量处理及实现TreeView结点拖拽的实例

//这个过程根据你的要求选择图标
procedure TForm1.TreeView1GetImageIndex(Sender: TObject; Node: TTreeNode);
begin
  if Node.HasChildren then
      if Node.Expanded then
          Node.ImageIndex := 3   //节点有子节点时打开的图标
      else
          Node.ImageIndex := 0   //节点有子节点时收起来的图标
  else Node.ImageIndex := 1;     //节点没有子节点时图标
end;
//这个过程显示选择的图标 阅读全文 »

开源企业网站 metinfo V1.5 破解 去版权 修改metinfo跳转

bywzy 发表于 程序设计 分类,
0

metinfo V1.5版程序在本机测试完后,上传到空间。弹出对话框后就自己跳转到了metinfo网站了。metinfo 是目前开源企业网站代码中还算比较好的。免费使用时要保留他的metinfo和连接。可朋友又不想保留:)
后来看到网上的去版说明:
—————————————————————————————————-
1. \include\global.func.php

查找: function footer()
注释本行:
/**if(!strstr($output,"MetInfo"))die("在未经授权前,请不要尝试去掉'Powered by MetInfo'版权标识!");**/

2. \include\global.func_linux.php

查找: function footer()
注释本行:
/**if(!strstr($output,"MetInfo"))die("在未经授权前,请不要尝试去掉'Powered by MetInfo'版权标识!");**/

3. \templates\*\foot.html      (注: *号表示模版风格文件夹)
查找: " $metcms_v " 删除红色字符

<br />Powered by <a href="http://www.MetInfo.cn" target="_blank" title="企业网站管理系统"><b>MetInfo</b></a> $metcms_v ©2008-$m_now_year <a href="http://www.MetInfo.cn" target="_blank" title="企业网站建设">www.MetInfo.cn</a>


注: 红色字符处的内容,会因模版不同而有所差异!

4. \include\head.php
找到: 红色代码(约在38行),注释掉
if(md5($rightok[1])!=$otherinfo[rightmd5]){
okinfo('http://www.metinfo.cn',$otherinfo[righttext]);



5. \product\product.php
找到: 红色代码(约在97行),注释掉
if(md5($rightok[1])!=$otherinfo[rightmd5]){
okinfo('http://www.metinfo.cn',$otherinfo[righttext]);



如因修改后,造成首页无法显示, 需在安装数据库中找到" $_otherinfo"的数据表,清空里面数据,才可重新生成!($表示安装表前缀)
本文仅供小峰技术研究,http://hi.baidu.com/sz_xiaofeng/blog/item/27aeb6fc9f8fe68bb801a04f.html
———————————————————————————————–

其实以上几步,我没看这到这个文章的时候,都已经改了。可打开后,发现数据库中的内容读不出来
才到网上搜索一下的。后来发现是 config_db.php 中 tablepre    =  "xt_" 前辍大小写的问题。
另外还有admin\include\global.func.php 32号也有1的代码。
Powered by MetInfo去除在include\common.inc.php文件中
$met_c_webname=$met_c_webname."–Powered by MetInfo";
$met_e_webname=$met_e_webname."–Powered by MetInfo";
以上内容,仅技术学习交流 。需去版权的可到官方购买授权。

xhtml div+css 布局三栏先显示中栏的方法 css 高度自动调整

bywzy 发表于 程序设计 分类,
1

DIV+CSS 左中右3栏布局中最先显示中栏内容的方法
这个IDEA来自KESO。
今天KESO说,对于一个左中右3栏布局的页面,比如home.donews.com,用户最想看到的是中栏的信息,左右2栏其实网站的相关信息的导航入口,所以中栏信息是最重要的,应该在页面显示顺序上优先于左右2栏。或者也可以这么说就是要将一个页面的最重要的信息优先于页面其他元素显示,无论是3栏还是2栏布局,说得很对。
浏览器显示页面是一行一行的按顺序执行代码,也就是说写在前面的先执行显示,而对于左中右3栏布局的设计,代码要么是从左–>中–>右来书写,要么就是到过来从右–>中–>左来书写,要做到KESO说的效果,那首先要书写的是中栏的代码。所以我首先定义了一个id=m的DIV,并且padding-left:150px,定义这个是为了给左栏留出140PX的显示位置,然后再在这个DIV里面嵌套定义一个id=middle的DIV,我用position:absolute的属性(绝对定位);然后再定义左栏left和右栏right。用position:absolute的属性有一个不好的地方就是它象photoshop里的层一样,它的自动延伸并不会带动整个布局的延伸,所以会遮住一些页面元素,比如我们通常会在网站的最下面写上一些copyright的信息,如果用先显示中栏的这种方法,如果不做处理的话,这些信息会被遮盖住。处理的办法就是使用javascript,让左右2栏的高度随中栏一起自动延伸。
下面是这个实现的代码,有兴趣的朋友可以COPY回去试试,也欢迎留言交流。
BTW:这次和刘韧,KESO改版DONEWS.COM,获益菲浅,他们才是真正懂用户需求,懂网站的人。


补充:
最近做一些试验的时候,发现本文代码最后的JS不是很好,想了个新的


这个是旧的


<script language="javascript">
if(document.getElementById("left").scrollHeight<document.getElementById("middle").scrollHeight||document.getElementById("right").scrollHeight<document.getElementById("middle").scrollHeight){
document.getElementById("left").style.height=document.getElementById("middle").scrollHeight+"px"
document.getElementById("right").style.height=document.getElementById("middle").scrollHeight+"px"
}
</script>


这是新的
<script language="javascript">
var l=document.getElementById("left").scrollHeight
var m=document.getElementById("middle").scrollHeight
var r=document.getElementById("right").scrollHeight
layoutHeight=Math.max(l,m,r)
document.getElementById("left").style.height=layoutHeight+"px"
document.getElementById("right").style.height=layoutHeight+"px"
document.getElementById("middle").style.height=layoutHeight+"px"
</script>


试验了3栏布局的切换,比这个复杂,过段时间会把代码放上来SHARE


完全代码:

HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]


原文地址:http://www.donews.net/dodo/archive/2005/05/16/382248.aspx

文本框 右对齐 CSS 右对齐

bywzy 发表于 程序设计 分类,
5

文本框右对齐可通过CSS来实现:
style="text-align:right"
示例效果:

HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

回车键代码 回车键 键 asp代码 回车换行 asp录入问题

bywzy 发表于 程序设计 分类,
0

asp网站多数据录入时.可用回车键代替<tab>键实现快速输入:
脚本程序如下:

显示被隐藏内容 显示被隐藏内容

<script>
document.onkeydown=function(){
var fx="";
var qx=true; //移到文本框中后是否自动全选
try{
  switch(event.keyCode){  //判断按键
  case 13:
   if(event.srcElement.tagName!="SUBMIT"){     //非TEXTAREA对象中按回车键
    fx="down";
   }
   break;
  case 40:
   if(event.srcElement.tagName=="INPUT"||event.ctrlKey){  //INPUT对象中按光标下键或在所有对象中按[ctrl]+光标下键
    fx="down";
   }
   break;
    case 39:
   if(event.srcElement.tagName=="INPUT"||event.ctrlKey){  //INPUT对象中按光标右键或在所有对象中按[ctrl]+光标下键
    fx="down";
   }
   break;
    case 37:
   if(event.srcElement.tagName=="INPUT"||event.ctrlKey){  //INPUT对象中按光标左键或在所有对象中按[ctrl]+光标下键
    fx="up";
   }
   break;
  
  case 38:
   if(event.srcElement.tagName=="INPUT"||event.ctrlKey){  //INPUT对象中按光标上键或在所有对象中按[ctrl]+光标上键
    fx="up";
   }
   break;
  default:
  }
  switch(fx){  //根据判断按键所得的fx值来执行向下或向上操作
  case "down":
   for(i=event.srcElement.sourceIndex+1;i<document.all.length;i++){
    if(((document.all(i).tagName=="INPUT")&&("text,password,checkbox,radio".indexOf(document.all(i).type)!=-1))||("Select,TEXTAREA".indexOf(document.all(i).tagName)!=-1)){
     if(!document.all(i).disabled){
      document.all(i).focus();
      if (document.all(i).tagName=="INPUT"&&qx)document.all(i).select();
      break;
     }
    }
   }
  if((i==document.all.length)&&(event.keyCode==13)){
  document.getElementsByName(document.all(event.srcElement.sourceIndex).name)[i].form.submit();
   }
   event.keyCode = 0;
   event.returnValue = false;
   break;
  case "up":
   for(i=event.srcElement.sourceIndex-1;i>-1;i–){
    if(((document.all(i).tagName=="INPUT")&&("text,password,checkbox,radio".indexOf(document.all(i).type)!=-1))||("Select,TEXTAREA".indexOf(document.all(i).tagName)!=-1)){
     if(!document.all(i).disabled){
      document.all(i).focus();
      if (document.all(i).tagName=="INPUT"&&qx)document.all(i).select();
      break;
     }
    }
   }
   event.keyCode = 0;
   event.returnValue = false;
   break;
  default:
  }
}catch(e){}
}
</script>
隐藏内容 隐藏内容
该内容已经被作者隐藏,只有会员才允许查阅 登录 | 注册


使用方法:<br>
1、回车键跳到下一个非按钮区,但在文本区中按回车键不跳;
2、光标下键↓右键→跳到下一个非按钮区,但在下拉框和文本区中按光标下键不跳;
3、光标上键↑左键←跳到上一个非按钮区,但在下拉框和文本区中按光标上键不跳;
4、会自动跳过被<b>disabled</b>的文本区。
5、在最后一个可获得焦点的对象上按回车键后可提交该对象所在的FORM表单。

asp数组详解 asp 动态数组 不定长数组 asp数组下标超界

bywzy 发表于 程序设计 分类,
0

ASP编程中使用数组

数组的定义
Dim MyArray
MyArray = Array(1‚5‚123‚12‚98)

可扩展数组
Dim MyArray()
for i = 0 to 10
ReDim Preserve MyArray(i)
MyArray(i)=i
next

将一个字符串分割并返回分割结果的数组
Dim MyArray
MyArray = Split(tempcnt‚chr(13)&chr(10))
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & "<br>"
Next

数组排序函数
function..Sort(ary)
KeepChecking = TRUE
Do Until KeepChecking = FALSE
KeepChecking = FALSE
For I = 0 to UBound(ary)
If I = UBound(ary) Then Exit For
If ary(I) > ary(I+1) Then
FirstValue = ary(I)
SecondValue = ary(I+1)
ary(I) = SecondValue
ary(I+1) = FirstValue
KeepChecking = TRUE
End If
Next
Loop
Sort = ary
End function..

数组排序函数应用例子
Dim MyArray
MyArray = Array(1‚5‚123‚12‚98)
MyArray = Sort(MyArray)
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & "<br>"
Next

在Application和Session中使用数组
Application.Lock
Application("StoredArray") = MyArray
Application.Unlock

LocalArray = Application("StoredArray")

覆盖Application中的数组
Application.Lock
Application("StoredArray") = LocalArray
Application.Unlock

Session使用方法与Application相同

从数据库中把数据导入数组中
Dim MyArray
取出全部记录
MyArray = RS.GetRows
取出前10项记录
MyArray = RS.GetRows(10)

For row = 0 To UBound(MyArray‚ 2)
For col = 0 To UBound(MyArray‚ 1)
Response.Write (col‚ row) & "<br>"
Next
Next

asp 数组小结说明:
1. dim不能用作不确定长度 不定长数组可用redim定义
   redim可以,可以设一个变量[但是使用前必须传给改变量一个整数]  
   例:Cnt=12   [传值可用CInt转换CInt(request.form("num"))]
      redim   MyArray(Cnt)  
2.preserve 保留原值
   例:redim   a(10)  
      1—->   redim   a(20)     '这样的话原来a(10)中的所有内容清空  
    2—->   redim   preserve   a(20)   '这样的话原来的a(10)中的内容保留
3.数组个数    
  在以DIM或REDIM定义数组时指定的下标,表示的是访问该数组时所容许的最大下标,却不是该数组的个数。实际上,一维数组个数总是等于(最大下标+1),访问时是通过下标从0开始逐个访问的。  
   例:Dim   myarray(5)   定义的数组元素有6个,分别是:myarray(0)、myarray(1)、myarray(2)、myarray(3)、myarray(4)、myarray(5)。  
4.关于UBOUND函数    
  UBOUND返回的是一维数组的最大下标,而不是元素个数。   比如:Dim   Myarray(5),那么UBOUND(Myarray)返回的值是5,而不是6。   ubound也可以应用于二维数组。应用于二维数组时,它返回的是第一个下标的最大值。  
    
  例:Dim   Myarray(6,3)
  
  那么UBOUND(Myarray)返回的值是6,而不是7,更不是18(6*3=18)。

asp 清空表记录 数据表清除记录 sql server 2000 清空表 快速删除所有记录

bywzy 发表于 程序设计 分类,
0

sql server 2000 数据库中快速删除记录,清空表的常用命令有:
TRUNCATE TABLE
Delete * FROM TABLE

TRUNCATE TABLE 在功能上与不带 Where 子句的 Delete 语句相同:
二者均删除表中的全部行。
但 TRUNCATE TABLE 比 Delete 速度快,且使用的系统和事务日志资源少。

Delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。
TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,
并且只在事务日志中记录页的释放。

TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。
如果想保留标识计数值,请改用 Delete。

如果要删除表定义及其数据,请使用 Drop TABLE 语句。

对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 Where 子句的 Delete 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。

TRUNCATE TABLE 不能用于参与了索引视图的表。

特别注意:TRUNCATE TABLE 删除表中的所有行,新行标识所用的计数值重置为该列的种子。
自动增长ID

在ASP中的参考代码如下:
<%

   sql="TRUNCATE TABLE  表名"
   conn.execute sql

%>

Pjblog3.0 技巧 PJBLOG日志归档 手工升级pjblogV2.8.137

bywzy 发表于 程序设计 分类,
0

PJBLOG的博客程序已用了很久了,现在官网已更新为PJBLOG3.0 PJBlog3 v2.8.4.136 版,而我使用的还是V2版的,其间因为垃圾引用,评论也修改过很多次。本来想整体升级,在本机升级测试成功后,发现后台跟以前的差不多,那个在线编辑的功能是不错。可自己还有很多想实现的功能还是没有,于是放弃了。再等等吧。不过现在的侧边内容太长,尤其是日志归挡。看到很多PJBLOG新版的归档都是6个月一行,于是就先把这个日志归档手工升级一下:
1. 打开common/cache.asp,找到275行:“读取日志归档缓存”,将后面的从“if action<>2 then”到“end if”之间的所有代码替换为以下内容:

程序代码 程序代码

if action<>2 then
Dim archive_item_Len,Month_array,TempYear,MonthCounter
if ubound(blog_archive,1)=0 then archive="":exit function
Month_array=Array("01月","02月","03月","04月","05月","06月","07月","08月","09月","10月","11月","12月")
archive_item_Len=ubound(blog_archive,2)
TempYear=blog_archive(1,0)
MonthCounter=0
  For i=0 to archive_item_Len
   IF i=0 Then archive="<a class=""sideA"" style=""margin:0px 0px 0px -2px;"" href=""default.asp?log_Year="&blog_archive(1,i)&""" title=""查看"&blog_archive(1,i)&"年的日志"">"&blog_archive(1,i) &"</a>"
   IF blog_archive(1,i)=TempYear Then
  archive=archive&"<a style=""margin-right:5px;"" href=""default.asp?log_Year="&blog_archive(1,i)&"&log_Month="&blog_archive(2,i)&""" title="""&blog_archive(1,i)&"年"&blog_archive(2,i)&"月有 "&blog_archive(0,i)&"篇日志"">"&Month_array(blog_archive(2, i)-1)&"</a>"
  MonthCounter=MonthCounter+1
  IF MonthCounter=6 Then MonthCounter=0:archive=archive&"<br/>"
Else
  MonthCounter=1
  archive=archive&"<a class=""sideA"" style=""margin:6px 0px 0px -2px;"" href=""default.asp?log_Year="&blog_archive(1,i)&""" title=""查看"&blog_archive(1,i)&"年的日志"">"&blog_archive(1,i) &"</a>"
  archive=archive&"<a style=""margin-right:5px;"" href=""default.asp?log_Year="&blog_archive(1,i)&"&log_Month="&blog_archive(2,i)&""" title="""&blog_archive(1,i)&"年"&blog_archive(2,i)&"月有 "&blog_archive(0,i)&"篇日志"">"&Month_array(blog_archive(2, i)-1)&"</a>"
  TempYear=blog_archive(1,i)
End IF
  Next
end if



2 找到258行:“写入日志归档缓存”,将后面的“Month([log_PostTime]) Desc”改为“Month([log_PostTime]) ASC”。
3 进入后台管理→初始化数据→重建数据缓存。
PJBLOG V2.6 版测试通过。下一步打算搞个[无情链接]。

CSDN 网站无法打开 CSDN 无法显示 CSDN.net 被封

bywzy 发表于 程序设计 分类,
0

昨天查一个PHP的资源,在网上搜索了一下。
找到CSDN网站的连接,点击却打不开,当时也没有太在意。
今天早上在网上看到:CSDN被封

  国内技术性网站CSDN遭关停。据消息人士进一步透露,CSDN服务器在某IDC服务商北京机房内,因机房内一网站非法播放奥运开幕式视频,机房相关网段被封锁,导致网段内包括csdn.net在内的众多网站不能访问

  哎。还有的这样的事情发生!如果真的是受牵连,这样的管理也太霸道了吧。
  
    不由让我想起了这句话:

    在自然界不要跟天斗,在联合国不要跟美国斗,在中国不要跟党斗,在家不要跟老婆斗

    再想想,这么专业的技术性网站,这么有影响的网站。受牵连被关的可能性应该不大,莫非是

    自己的网站有非法视频。。。那就怪不得别人了。

phpwindv6.3.2 去除阿里妈妈广告 关闭alimama广告 删除广告

bywzy 发表于 程序设计 分类,
0

今天将在路上的BBS论坛升级到了6.3.2 最新版的phpwindv6.3.2。升级后却发现论坛最下面被强加了阿里妈妈的广告。上网查了查了很久,也没有找到解决办法 。
在官方论坛上也有不少phpwindv6.3.2 用户咨询 去除阿里妈妈广告 关闭alimama广告 删除phpwindv6.3 alimama广告的问题。但没有找到可行的方法。看来只好自己测试解决了。
打开网页源代码:发现尾部有:http://init.phpwind.com/init.php
估计就这个。
从index.htm index.php开始测试。找到问题 footer()
再打开global.php
520行找到
if ($SCR != 'post') {
        $output .= "<script language=\"JavaScript\" src=\"http://init.phpwind.com/init.php?sitehash={$GLOBALS[db_sitehash]}&v=$wind_version&c=$ceversion\"></script>";
    }
改为:
if ($SCR != 'post') {
        $output .= "";
    }
保存上传,问题解决。从此阿里妈妈不在烦人。