![]() |
博主的文章写的很好,是否愿意进行友情链接交换,我的站百度,谷歌都均收录在2200以上! 名称:搜骗网 地址:http://www.soopian.com 邮箱:webmaster@soopian.com 描述:搜骗网——江湖险恶,骗子横行,防止被骗,请到搜骗网学习防骗秘笈 |
![]() |
串客。。。 |
![]() |
很喜欢贵站想与贵站做个友情链接! 本站已做好贵站的连接,欢迎检查! 连接申请已提交,烦请查看。 |
![]() |
很喜欢你的博客想和你做个友情连接!! 方便以后访问~~你的链接已经做好咯~~ 链接申请已提交,烦请查看。 网站名称:红孩子 网站地址:http://www.hhz80.cn/ |
![]() |
在循环之后去掉"|"就行了. retPics = retPics.Remove(retPics.Length-1, 1); retLinks = retLinks.Remove(retLinks.Length-1, 1); retTitle= retTitle.Remove(retTitle.Length-1, 1); |
感谢您的修正,我将在文中注明您的修正方法,谢谢!
![]() |
我是用foreach循环,不会存在数组多一个的问题..您的文章截图您再详细看一下,在第5后面就有一个黑框,那个黑框是会播放出来的,占用一幅图播放时间.. |
![]() |
看了您<在业务层实现ASP.NET幻灯片效果>一文,很受启发.我的一个项目也在实现这种效果,可不知道您察觉没有,这种方法,在幻灯片播放时,最后会有一个空的,也就是(假设5个图片),到最后一个图片,再切换时,就会显示空白..有可能是有append时,最后一个也另上了"|"的分割符..建议您的代码处理一下,过滤掉最后一个"|"... |
感谢您的纠正,最后有一个是空间,是否是因为在for循环时多循环了一个,我在实际项目运用中没有碰到您所说的问题,我会立即测试一下来验证这个Bug.
再次谢谢您的意见。
再次谢谢您的意见。
![]() |
你好,能不能加个QQ,我现在做个人网站,遇到几个问题flash和数据库的问题,想请教下,能否加个QQ?我的QQ:26361945 |
1.有问题,请先www.g.cn一下.
2.以上找不到答案,可以先去www.dezai.cn找一下
3.实在不行,请在线咨询。
2.以上找不到答案,可以先去www.dezai.cn找一下
3.实在不行,请在线咨询。
![]() |
你每天是不是有36小时啊?可以搞这么多东东? 或者 你的生活太神奇了~ |
时间是挤出来的,在某些地方付出的同时,也必然会失去一些你想得到的东西。
![]() |
请问delpi中 如何将DFM文件转换成XML文件又同时将XML文件转换成DFM文件的 我在网上找到相关的例子 但是测试不通 http://dev.csdn.net/article/34213.shtm 请帮忙解惑 感激不进 |
您好,看了您给出的链接。对Delphi不是很熟,但个人理解如下:
dfm文件是Delphi中存储窗体控件信息,
procedure Dfm2Xml(ADfmStrings: TStrings; AXml: IDsXmlDocument);
Var
i: integer;
mStr : string;
mParentNode, mNode : IDsXMLNode;
mObjName, mClass, mObjType: string;
mPropName, mPropValue: string;
mInItem: Boolean; //有Item的也会有End相对,所以要和Object end分开
begin
mInItem := False;
mParentNode := AXML;
for i:=0 to ADfmStrings.Count - 1 do
begin
mStr := trim(ADfmStrings.Strings[i]);
//对象开始
if (copy(mStr, 1, 6) = 'object') or (copy(mStr, 1, 9) = 'inherited') then
begin
//先写入属性 - 如果还有属性没有写
if mPropName <> '' then //如果mPropName不为空的话,执行以下操作
begin
mNode := AXml.createElement(mPropName); //这里创建XML结点
mNode.text := mPropValue; //这里赋值给结点
mParentNode.appendChild(mNode); //这里添加一个结点
mPropName := '';
end;
mObjType := CutToken(mStr, ' '); //Type: object or inherited
mObjName := CutToken(mStr, ': '); //ObjName: Ex. frmCmsI03
mClass := mStr; //ClassName: Ex. TButton
mNode := AXml.createElement(mObjName); //创立一个mobjName ,MobjName可能是一个对象来的
(mNode as IDsXmlElement).setAttribute('ObjType', mObjType); //这里是对mnode增加相关的属性,就是XML中的元素objType
(mNode as IDsXmlElement).setAttribute('Class', mClass); //增加元素 Class
mParentNode.appendChild(mNode); //增加一个子结点
mParentNode := mNode; // 结束根结点,完成一个根结点
end
//对象结束
else if (mStr = 'end') and (not mInItem) then
begin
//先写入属性
if mPropName <> '' then
begin
mNode := AXml.createElement(mPropName);
mNode.text := mPropValue;
mParentNode.appendChild(mNode);
mPropName := '';
end;
mParentNode := mParentNode.parentNode;
end
//属性处理
else
begin
//有 = 说明是一个属性的新的开始
if (Pos(' = ', mStr) > 0) and (not mInItem) then
begin
//先写入属性
if mPropName <> '' then
begin
mNode := AXml.createElement(mPropName);
mNode.text := mPropValue;
mParentNode.appendChild(mNode);
end;
mPropName := CutToken(mStr, ' = ');
mPropValue := CutToken(mStr, ' = ');
end
else //说明这个属性可能有多行
mPropValue := mPropValue + '#13#10' + mStr;
if mStr = 'item' then mInItem := True;
if mStr = 'end' then mInItem := False;
end;
end;
end;
这里有用到的一些类型:
用到的类型:
uses
MSXML2_TLB;
//类型自己重新定义过
type
IDsXmlDocument = IXMLDOMDocument2;
IDsXmlNode = IXMLDOMNode;
IDsXmlElement = IXMLDOMElement;
IDsXmlNodeList = IXMLDOMNodeList;
dfm文件是Delphi中存储窗体控件信息,
procedure Dfm2Xml(ADfmStrings: TStrings; AXml: IDsXmlDocument);
Var
i: integer;
mStr : string;
mParentNode, mNode : IDsXMLNode;
mObjName, mClass, mObjType: string;
mPropName, mPropValue: string;
mInItem: Boolean; //有Item的也会有End相对,所以要和Object end分开
begin
mInItem := False;
mParentNode := AXML;
for i:=0 to ADfmStrings.Count - 1 do
begin
mStr := trim(ADfmStrings.Strings[i]);
//对象开始
if (copy(mStr, 1, 6) = 'object') or (copy(mStr, 1, 9) = 'inherited') then
begin
//先写入属性 - 如果还有属性没有写
if mPropName <> '' then //如果mPropName不为空的话,执行以下操作
begin
mNode := AXml.createElement(mPropName); //这里创建XML结点
mNode.text := mPropValue; //这里赋值给结点
mParentNode.appendChild(mNode); //这里添加一个结点
mPropName := '';
end;
mObjType := CutToken(mStr, ' '); //Type: object or inherited
mObjName := CutToken(mStr, ': '); //ObjName: Ex. frmCmsI03
mClass := mStr; //ClassName: Ex. TButton
mNode := AXml.createElement(mObjName); //创立一个mobjName ,MobjName可能是一个对象来的
(mNode as IDsXmlElement).setAttribute('ObjType', mObjType); //这里是对mnode增加相关的属性,就是XML中的元素objType
(mNode as IDsXmlElement).setAttribute('Class', mClass); //增加元素 Class
mParentNode.appendChild(mNode); //增加一个子结点
mParentNode := mNode; // 结束根结点,完成一个根结点
end
//对象结束
else if (mStr = 'end') and (not mInItem) then
begin
//先写入属性
if mPropName <> '' then
begin
mNode := AXml.createElement(mPropName);
mNode.text := mPropValue;
mParentNode.appendChild(mNode);
mPropName := '';
end;
mParentNode := mParentNode.parentNode;
end
//属性处理
else
begin
//有 = 说明是一个属性的新的开始
if (Pos(' = ', mStr) > 0) and (not mInItem) then
begin
//先写入属性
if mPropName <> '' then
begin
mNode := AXml.createElement(mPropName);
mNode.text := mPropValue;
mParentNode.appendChild(mNode);
end;
mPropName := CutToken(mStr, ' = ');
mPropValue := CutToken(mStr, ' = ');
end
else //说明这个属性可能有多行
mPropValue := mPropValue + '#13#10' + mStr;
if mStr = 'item' then mInItem := True;
if mStr = 'end' then mInItem := False;
end;
end;
end;
这里有用到的一些类型:
用到的类型:
uses
MSXML2_TLB;
//类型自己重新定义过
type
IDsXmlDocument = IXMLDOMDocument2;
IDsXmlNode = IXMLDOMNode;
IDsXmlElement = IXMLDOMElement;
IDsXmlNodeList = IXMLDOMNodeList;
![]() |
现在有一问题,给一数据库(ID随时可能增加),现要做一页面``要随机显示N个数据,有人懂么? 最好有详细的程序与数据库存储结构代码~~急~~~ |
随机显示数据,这个其实可以通过一个SQL来实现,你可以将其写成一个存储过程,也可以直接写成一句语句使用
提供:ASP版本样例
<%
'-------------------------数据库连接-----------------------
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & Server.MapPath("data.mdb")
objConn.Open
'-------------------------数据库连接-----------------------
'-------------------------检索数据-----------------------
strSQL = "Select id,DataColumn FROM DataTable"
'Sql语句,检索数据库
Set objRS = Server.CreateObject("ADODB.Recordset")
'创建记录集
objRS.Open strSQL, objConn, 1, 1
'执行检索
Count=objRS.RecordCount
'得到记录总数
Item=4
'显示记录数
'-------------------------检索数据-----------------------
'-------------------------------------------------------------------------------
redim a(Item, 2),t(Count)
'定义2数组,数组a用来储存记录,数组t用来删选记录
'---------------------------------------
'初始数组数值,目的为了插入数据以后和此值做比较
for each j in t
j=0
next
'---------------------------------------
'---------------------------------------
' 随机抽取记录号
Randomize timer '初始化随机数生成器
for j=1 to Item
k=int(rnd*Count+1) '从总数里面随机取一条记录
do while t(k)<>0 '判断是否记录是否已经在数组中
k=int(rnd*Item+1)
loop
t(k)=1 '第k条记录被选中
next
'--------------------------------------
j=1:i=1'定义下标
'--------------------------------------
' 循环选取数据集objRS中的部分记录存放到数组中
Do While Not objRS.Eof
if t(j)=1 then
a(i,1)=objRS("id") '记录id
a(i,2)=objRS("DataColumn") '记录内容
i=i+1
end if
j=j+1
objRS.MoveNext
Loop
'--------------------------------------
'-------------------------------------------------------------------------------
'----------------------------显示内容--------------------
for i=1 to Item
Response.write "序号"&a(i,1)&"<br>"
Response.write "内容"&a(i,2)&"<p>"
next
'----------------------------显示内容--------------------
'---------------------------
'释放资源
objRs.Close
set objRs=nothing
objConn.Close
set objConn=nothing
'---------------------------
%>
Data
id DataColumn
--------------------------
1 a
2 b
3 c
4 d
5 e
随机显示N条记录的SQL语句方法有N多,你可以搜索一下就能找到。原理都一样
提供:ASP版本样例
<%
'-------------------------数据库连接-----------------------
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & Server.MapPath("data.mdb")
objConn.Open
'-------------------------数据库连接-----------------------
'-------------------------检索数据-----------------------
strSQL = "Select id,DataColumn FROM DataTable"
'Sql语句,检索数据库
Set objRS = Server.CreateObject("ADODB.Recordset")
'创建记录集
objRS.Open strSQL, objConn, 1, 1
'执行检索
Count=objRS.RecordCount
'得到记录总数
Item=4
'显示记录数
'-------------------------检索数据-----------------------
'-------------------------------------------------------------------------------
redim a(Item, 2),t(Count)
'定义2数组,数组a用来储存记录,数组t用来删选记录
'---------------------------------------
'初始数组数值,目的为了插入数据以后和此值做比较
for each j in t
j=0
next
'---------------------------------------
'---------------------------------------
' 随机抽取记录号
Randomize timer '初始化随机数生成器
for j=1 to Item
k=int(rnd*Count+1) '从总数里面随机取一条记录
do while t(k)<>0 '判断是否记录是否已经在数组中
k=int(rnd*Item+1)
loop
t(k)=1 '第k条记录被选中
next
'--------------------------------------
j=1:i=1'定义下标
'--------------------------------------
' 循环选取数据集objRS中的部分记录存放到数组中
Do While Not objRS.Eof
if t(j)=1 then
a(i,1)=objRS("id") '记录id
a(i,2)=objRS("DataColumn") '记录内容
i=i+1
end if
j=j+1
objRS.MoveNext
Loop
'--------------------------------------
'-------------------------------------------------------------------------------
'----------------------------显示内容--------------------
for i=1 to Item
Response.write "序号"&a(i,1)&"<br>"
Response.write "内容"&a(i,2)&"<p>"
next
'----------------------------显示内容--------------------
'---------------------------
'释放资源
objRs.Close
set objRs=nothing
objConn.Close
set objConn=nothing
'---------------------------
%>
Data
id DataColumn
--------------------------
1 a
2 b
3 c
4 d
5 e
随机显示N条记录的SQL语句方法有N多,你可以搜索一下就能找到。原理都一样
![]() |
德仔,许久不见一切可好? 数学不好,偏偏要算术来验证,郁闷! 我现在米国,有空msn:) |
555555555555,[em17],我想死你了。Miss Peng. 多多注意,保重. MSN:eastjazz (at) hotmail.com
记得加俺。
记得加俺。
![]() |
德仔:知道你在深圳的,我也在深圳布吉,想問一下你那工作室能不能開個培訓班?有關asp + jscript的,深圳這方面的培訓好象沒有,要就是asp.net的.費用的事,可以商量。我現在真的較急這事,你能不能救一下急?本人有點編程基礎,但目前本人要短時間內交一個項目,所以較急。 請回電郵: hellow_hau@sohu.com多謝! |
水平不济,不敢害人。若有问题,可以大家共同讨论[em02]
![]() |
为何这几天德仔网站不能进入子网页呀???????[em15][em15][em15][em18][em18][em18]进入主页后不能浏览网页内容[em08][em08][em08][em08][em08][em08][em08][em08][em08][em08][em08][em08][em08][em08][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15][em15] |
谢谢你的关注,问题已经解决:)
![]() |
你好,在其他地方看到了些你的关于ASP2HTML的技巧,我还不是很明白,您能帮我看一下,我有个程序怎么样让他生成关键字?希望多跟您交流 我的QQ332666696 |
关于asp to html的方法及案例,相信在http://www.dezai.cn/index/里面的ASP版块里均有,您可以去查一下,谢谢支持。不过我认为大多数ASPtoHtml的原理一般都是通过template模板样式加生成源码,这最简单的办法可能就是用document.write()来实现,不过这样可能麻烦一点。
再次谢谢您的支持:)
再次谢谢您的支持:)
该留言为隐藏留言! 只有管理员和留言者可以查看.
![]() |
你好!祝贺改版成功!但我遇到一点技术问题,我的爱普生c41打印贵网站文章时,出现右边字体打不全的问题,即缺字,缩小页面打印一样不行!清问怎样解决,又或者是否你们网站页面过大? |
谢谢您的访问,对打印出现问题,可能是本站CSS样式设定所致.感谢您提出的意见,我们将在这两天内做出打印页面,方便您的打印要求.同时声明:本网站资源均为网络所摘,不带任何功利行为
此问题已解决:)欢迎您多多提意见:)
此问题已解决:)欢迎您多多提意见:)
![]() |
第一次来..嘻嘻.. 德哥.真让人羡慕[em17]! 看了你很多事迹..深受启发... |
谢谢你的到来,大家共同努力吧[em16]
发表留言












留记。
有些人一直没机会见,等有机会见了,却又犹豫了,相见不如不见。
有些事一直没机会做,等有机会了,却不想再做了。
有些话埋藏在心中好久,没机会说,等有机会说的时候,却说不出口了。