化了23小时做出来的日期选择的FROM控件给给意见。

JMANYICZF 2003-10-15 12:11:57
<script language="JScript">
function f_curTextData(){
tmp1="$#D@3$%&&"
cTG=document.selection.createRange();
cTG.text=tmp1;
tmp2=document.all.rq.value.indexOf(tmp1)
cTG.moveStart("character", -tmp1.length)
cTG.text="";
return(tmp2)
}
function f_fullsp(str,len){
str=str.toString()
while (str.length<len){
str=str+" "
}
return(str)
}
function f_inputData(k1,l1){
tmpE1=""
tmpE2=""
tmpE3=""
document.all.rq.focus()
tmpV=document.all.rq.value
tmpC=f_curTextData()
tmpS1=""
d=new Date();
d4=d.getFullYear()
d3=d.getMonth()+1
d2=d.getDate()
tmpI=tmpV.indexOf("年")
tmpL=tmpV.length
if (tmpI>-1){
tmpS=parseInt(tmpV.substr(0,4))
if (tmpS.toString().length=4){
if ((tmpS>2090)||(tmpS<1900)){
tmpS=d4
}
}
tmpS=tmpS.toString()
tmpS=f_fullsp(tmpS,4)
tmpS1=tmpS + "年"
tmpE1=tmpS
tmpE=tmpS1 + tmpV.substr(tmpI+1,tmpL-tmpI)
}
tmpS=""
tmpV=tmpE
tmpL=tmpV.length
tmpI=tmpV.indexOf("月")
if (tmpI>-1){
tmpS=parseInt(tmpV.substr(5,2))
if ((tmpS>12)||(tmpS<1)){
tmpS=d3
}
tmpS=tmpS.toString()
if (tmpS.length<2){
tmpS="0" + tmpS
}
if (isNaN(tmpS)){tmpS="01"}
tmpS1=tmpS1 + tmpS + "月"
tmpE2=tmpS
tmpE=tmpS1 + tmpV.substr(tmpI+1,tmpL-tmpI)
}
tmpS=""
tmpV=tmpE
tmpL=tmpV.length
tmpI=tmpV.indexOf("日")
if (tmpI>-1){
tmpS=parseInt(tmpV.substr(8,2))
if ((tmpS>31)||(tmpS<1)){
tmpS=d2
}
tmpS=tmpS.toString()
if (tmpS.length<2){
tmpS="0"+tmpS
}
if (isNaN(tmpS)){tmpS="01"}
tmpS1=tmpS1 + tmpS + "日"
tmpE3=tmpS
tmpE=tmpS1 + tmpV.substr(tmpI+1,tmpL-tmpI)
}
if ((((tmpC==4)||(tmpC==7))&&(k1!=39))&&(k1!=37)){
tmpC=tmpC+1
}
tmpE=""
// tmpS="f_mdata('"
if ((l1.indexOf("y")>-1)&&(tmpV.indexOf("年")>-1)){
tmpE=tmpE + tmpE1 + "年";
// tmpS=tmpS + "y";tmpE1=",'" + tmpE1 +"'"
}
if ((l1.indexOf("m")>-1)&&(tmpV.indexOf("月")>-1)){
tmpE=tmpE + tmpE2 + "月";
// tmpS=tmpS + "m";tmpE2=",'" + tmpE2 +"'"
}
if ((l1.indexOf("d")>-1)&&(tmpV.indexOf("日")>-1)){
tmpE=tmpE + tmpE3 + "日";
// tmpS=tmpS + "d";tmpE3=",'" + tmpE3 + "'"
}
document.all.rq.value=tmpE
// tmpS=tmpS+"'" + tmpE1 + tmpE2 +tmpE3 + ")"
// eval(tmpS)
document.all.ttt1.value=tmpS
f_moveCur(tmpC)
}
function f_moveCur(num){
if(isNaN(num)){return;}
var rng = document.all.rq.createTextRange();
rng.moveStart("character",num);
rng.collapse(true);
rng.select();
}
...全文
27 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
iPanda 2003-10-17
  • 打赏
  • 举报
回复
等待改进……
qnzu 2003-10-17
  • 打赏
  • 举报
回复
支持,鼓励!
alexsten 2003-10-17
  • 打赏
  • 举报
回复
给个Demo的url
看看Demo就知道好不好用了
好用才会去看代码,不好用嘛,HOHO ……

呵呵,现在是懒了点,实在懒得去copy那么多代码
blueice2002 2003-10-16
  • 打赏
  • 举报
回复
收藏
rubasse200 2003-10-16
  • 打赏
  • 举报
回复
真是不错,已经收藏了。等待改进……
JMANYICZF 2003-10-15
  • 打赏
  • 举报
回复
function f_showdatediv(){
document.all.ttt1.value="x=" + event.x + ",y=" + event.y
document.all.datediv.style.pixelLeft=event.x-80
document.all.datediv.style.pixelTop=event.y+20
document.all.datediv.style.visibility='visible'
}

</script>
<input type="text" name="ttt1">
<input name="rq" type='text' id="rq" onclick="f_clickData()" ondblclick="return false" onkeypress="return /[0-9]/g.test(String.fromCharCode(event.keyCode))" onkeyup=f_inputData(event.keyCode,'ymd') onkeydown="if (((event.keyCode==46)&&((f_curTextData()==4)||(f_curTextData()==7)||(f_curTextData()==10)))||((event.keyCode==8)&&((f_curTextData()==5)||(f_curTextData()==8)||(f_curTextData()==11)))){return false}" onpaste="return !clipboardData.getData('text').match(/[0-9]/)" ondragenter="return false" >
<input type="button" name="Submit" value="按钮" onclick="f_showdatediv()">
<input type='hidden' name="hiddendata1" id="hiddendata1">

<div id="datediv" style="position:absolute; width:200px; height:115px; z-index:11; left: 276px; top: 59px; visibility: hidden;">
<script language="JScript">
f_cdtable()
f_mdata('ymd')

</script>
加上以上才是完整的~~因为太长所以连接4张也发不完~
slumcherry 2003-10-15
  • 打赏
  • 举报
回复
学习
程序要写,身体也要注意:)
foolfish 2003-10-15
  • 打赏
  • 举报
回复
使用方法是不是说下啊? - -
JMANYICZF 2003-10-15
  • 打赏
  • 举报
回复
function f_curdata(){
obj=f_curdata1()
if (obj.f){
v1=document.all.hiddendata1.value
if ((v1!="")&&(v1!=null)){
document.all[v1].style.backgroundColor='#ffffff';
if (document.all[v1].v2){
document.all[v1].style.color='#ff0000';
}else{
document.all[v1].style.color='#000000';
}
}
document.all.hiddendata1.value=obj.id
n=(obj.id.replace("day","").length<2)?"0" + obj.id.replace("day",""):obj.id.replace("day","");
document.all.rq.value=document.all.datatable.rows(0).cells(0).year + "年" + document.all.datatable.rows(0).cells(0).month + "月"+ n + "日"
obj.style.backgroundColor='#006699';
obj.style.color='#ffffff';
}
}
function f_moveMonth(n){
year=document.all.datatable.rows(0).cells(0).year
month=document.all.datatable.rows(0).cells(0).month
month=parseInt(month,10)+n
day=document.all.datatable.rows(0).cells(0).day
if (month==13){
year=year + 1
month=1
}
if (month==0){
year=year - 1
month=12
}
f_mdata('ymd',year,month,day)
}
function f_moveYear(n){
year=document.all.datatable.rows(0).cells(0).year
year=year+n
if (year<1900){year=year+1}
if (year>2090){year=year-1}
month=document.all.datatable.rows(0).cells(0).month
month=parseInt(month,10)
day=document.all.datatable.rows(0).cells(0).day
f_mdata('ymd',year,month,day)
}
JMANYICZF 2003-10-15
  • 打赏
  • 举报
回复
function f_curdata1(){
return(window.event.srcElement)
}
function f_mdata(l1,m1,m2,m3){
maxd2=0
d=new Date();
m1=parseInt(m1)
m2=parseInt(m2)
m3=parseInt(m3)
if ((m1>1970)&&(m1<2099)){d.setFullYear(m1)}
if ((m2>0)&&(m2<13)){d.setMonth(m2-1)}
d3=d.getMonth()+1
d4=d.getFullYear()
maxd2=/1|3|5|7|8|10|12/g.test(d3)?31:maxd2;
maxd2=(d3==2)?28:maxd2;
maxd2=/4|6|9|11/g.test(d3)?30:maxd2;
if (maxd2<30){
if ((d4%4)==0){
maxd2=29;
}
}
if ((m3>0)&&(m3<=maxd2)){d.setDate(m3)}
d1=d.getDay();
(d1==0)?d1a=7:d1a=d1;
d1s=0
d1w=0
d2=d.getDate()
d2t=true
i=0
ros=1
cel=0
d.setDate(1)//星期日为0但是计算个数在内应为1
d1s=d.getDay()
d1w=(d1s+maxd2)/7
if (d1w>parseInt(d1w)){d1w=parseInt(d1w)+1}
rqv=""
if (l1.indexOf('y')>-1){
rqv=d4 + "年"
}
if (l1.indexOf('m')>-1){
if (d3.toString(10).length<2){
d3="0" + d3.toString(10);
rqv=rqv + d3
}else{
rqv=rqv + d3.toString(10);
}
rqv=rqv + "月"
}
if (l1.indexOf('d')>-1){
if (d2.toString(10).length<2){
rqv=rqv+"0"+d2.toString(10)
}else{
rqv=rqv + d2.toString(10);
}
rqv=rqv + "日"
}
document.all.rq.value=rqv
///以下开始表格
document.all.showY.innerText=d4+"年"
document.all.showM.innerText=d3+"月"

with(document.all.datatable){
while (d1w+1>rows.length){
newrow = insertRow()
for (tdc=0;tdc<7;tdc++){
newcell= newrow.insertCell();
newcell.innerHTML=" "
}
}
rows(0).cells(0).day=d2
rows(0).cells(0).month=d3
rows(0).cells(0).year=d4
while (d1w+1<rows.length){deleteRow(rows.length-1)}


for (m=1;m<d1w+1;m++){
for (n=0;n<7;n++){
if (i==0){
if (n<d1s){
rows(m).cells(n).style.color="#000000"
rows(m).cells(n).style.backgroundColor='#ffffff';
rows(m).cells(n).innerText=""
rows(m).cells(n).style.v3=""
rows(m).cells(n).v2=false
rows(m).cells(n).style.cursor=""
rows(m).cells(n).id=""
rows(m).cells(n).f=false
}else{
i=1
}
}
if ((i>0)&&(i<=maxd2)){
rows(m).cells(n).f=true
rows(m).cells(n).innerText=i
rows(m).cells(n).align="center"
rows(m).cells(n).id="day"+i
rows(m).cells(n).v3=i
rows(m).cells(n).style.backgroundColor='#ffffff';
if (i==d2){
rows(m).cells(n).v2=true
rows(m).cells(n).style.color="#ff0000"
}else{
rows(m).cells(n).v2=false
rows(m).cells(n).style.color="#000000"
}
rows(m).cells(n).style.cursor="hand"
i=i+1
}else if (i>maxd2){
rows(m).cells(n).style.backgroundColor='#ffffff';
rows(m).cells(n).style.color="#000000"
rows(m).cells(n).innerText=""
rows(m).cells(n).style.v3=""
rows(m).cells(n).v2=false
rows(m).cells(n).style.cursor=""
rows(m).cells(n).id=""
rows(m).cells(n).f=false
}
}
}
}
}
JMANYICZF 2003-10-15
  • 打赏
  • 举报
回复
function f_clickData(){
tmpC=f_curTextData()
if (tmpC==4){f_selectText(0,4)}
if (tmpC==7){f_selectText(5,7)}
if (tmpC==10){f_selectText(8,10)}
}
function f_selectText(sp,ep){
sp = parseInt(sp)
ep = parseInt(ep)
if(isNaN(sp)||isNaN(ep)){return}
var rng = document.all.rq.createTextRange()
rng.moveEnd("character",-document.all.rq.value.length)
rng.moveStart("character",-document.all.rq.value.length)
rng.collapse(true);
rng.moveEnd("character",ep)
rng.moveStart("character",sp)
rng.select();

}
function f_cdtable(){
j=0
d1c=0


v="<table width='210' border='0' cellspacing='0' cellpadding='0' style='border: 1px solid #000000;'><tr><td height='20' align='center' style='font-family: 宋体;font-size: 12px;color: #FFFFFF;background-color: #003399;'>"
v=v+"<span id='showY'></span> "
v=v+"<input type='button' name='nyear' value='5' style='font-family:Marlett,Webdings;font-size: 9px;cursor: hand;background-color: #999999;height: auto;width: 15px;border: 1px solid #ffffff;color:#ffffff;' onclick='f_moveYear(1)'> "
v=v+"<input type='button' name='pyear' value='6' style='font-family:Marlett,Webdings;font-size: 9px;cursor: hand;background-color: #999999;height: auto;width: 15px;border: 1px solid #ffffff;color:#ffffff;' onclick='f_moveYear(-1)'> "
v=v+"<span id='showM' ></span> "
v=v+"<input type='button' name='pmonth' value='3' style='font-family:Marlett,Webdings;font-size: 9px;cursor: hand;background-color: #999999;height: auto;width: 15px;border: 1px solid #ffffff;color:#ffffff;' onclick='f_moveMonth(-1)'> "
v=v+"<input type='button' name='nmonth' value='4' style='font-family:Marlett,Webdings;font-size: 9px;cursor: hand;background-color: #999999;height: auto;width: 15px;border: 1px solid #ffffff;color:#ffffff;' onclick='f_moveMonth(1)'> "
v=v+"<input type='button' name='closedtediv' value='r' style='font-family:Marlett,Webdings;font-size: 9px;cursor: hand;background-color: #999999;height: auto;width: 15px;border: 1px solid #ffffff;color:#ffffff;' onclick=document.all.datediv.style.visibility='hidden'>"
v=v+"</td></tr><tr><td id='datetd'>"
v=v+"<table id='datatable' width='210' border='0' cellspacing='0' cellpadding='0'style='font-family: 宋体;font-size: 12px;'><tr align='center' style='font-family: 宋体;font-size: 12px;font-weight: bold;color: #FFFFFF;background-color: #999999;border-top: 0px solid #000000;border-right: 0px solid #000000;border-bottom: 1px solid #000000;border-left: 0px solid #000000;'><td width='50'height='19' >日</td><td width='50'>一</td>"
v=v + "<td width='30'>二</td><td width='50'>三</td><td width='50'>四</td><td width='50'>五</td><td width='50'>六</td></tr>"
while (j<5){
v=v + "<tr>"
while (d1c<7){
v=v + "<td width='50' onclick='f_curdata()' > </td>"
d1c=d1c+1
}
d1c=0
j=j+1
v=v + "</tr>"
}
v=v + "</table></td></tr></table>"
document.write(v)
}
JMANYICZF 2003-10-15
  • 打赏
  • 举报
回复
这些会改的了。不过时间太急,要赶起一个查询系统。
meizz 2003-10-15
  • 打赏
  • 举报
回复
支持地说!, 功能上还可以再多些:
比如日历不能被 select 等元素遮挡, 日历能够移动等
JMANYICZF 2003-10-15
  • 打赏
  • 举报
回复
功能与设计想法。
功能:因为在写WEB网上顶单的时候学一些软件那样,一按晶期就会有个日期弹出来给你选。还有就是指定地方可以写日期,例如年。我可以写年等~~
设计:1、开始就设计INPUT的控制。如“年月日”的中文字不能删,等。
2、设计一个TABLE可以对应INPUT的时间。可以达到调整的功能。

f_curTextData()---光标定位,返回当前光标的位置
f_fullsp(str,len)---补空格,写了但没应用。
f_inputData(k1,l1)---输入捡查
f_moveCur(num)-----移动光标
f_clickData()------点击年月日等字的时候选中对应的年月日数字
f_selectText(sp,ep)-----选择一段内容
f_cdtable()-----建立一个表格。没有太多内容的
f_curdata1()-----选取当前MOUSE的指向的对像
f_mdata()---更新TABLE的日期
f_curdata()------MOUSE点日期时的事件
f_moveMonth(n)----对应移动月份(n)的设计开始时可以任意整数,后来太烦所以改为只能是-1和1
f_moveYear(n)-----对应移动年份(n)的意义同上
f_showdatediv()----显示TABLE
Report Machine 2.4 =================== 这是一个报表控件包,For Borland Delphi Versions 3,4,5,6.100% 源码. 最后更新日期:2002.05.25. 目录 ----- 说明 特点 最后更新 历史 安装 Demo程序 版权说明 注册 说明 ---- Report Machine是一个报表控件包, Report Machine is reporting tool component. It consists of report engine,designer and preview. Its capabilities comparable with in QuickReport,ReportBuilder. It written on 100% Object Pascal and can be installed in Delphi 2/3/4/5/6 and C++Builder 1/3/4/5/6. 特点 ---- 复杂的报表?在report machine面前,还会有什么复杂的报表存在吗? 不,不会有的,因为这是一个功能强大,完全自动、完全自由设计的报表控件。 对于一般的主从表,单表,你甚至只需要点动鼠标次数=你的数据字段个数就可以 完成一个完全自定义的,并且支持用户进行格式修改加工,重新设计格式的报表! 想想fast report 吧,report machine会fast report会的,还会它不会的! 这是一个完全中文报表控件,支持delphi3到delphi6,BCB3到BCB6。 它的最大优点就是:强大与自由! report machine目前主要能的: 一、支持屏幕打印,控制方法多样,可以打印全部rxlib控件 全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book, TDecisionGrid等等众多控件。 二、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位 置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发 一个报表只需几分钟的时间。 三、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成 报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印, 而不需要数据库。 四、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。 五、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以 通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。 六、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的 地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分 组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。 七、完全支持d3--d6,c3--c6。 八、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程 序脚本,以控制、或实现更复杂的打印效果。 九、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。 十、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。 十一、多种格式转换,可以把出的报表转换为html,xml,bmp,jpeg等等格式。 十二、自动对超长记录折行,超长的内容也会自动折行。 十三、最新增加GridView,类似于电子表格,非常非常适合制作复杂报表 最新更新和问题解答请访问论坛:www.pcjingning.com 最后更新 -------- 新版本:2002/05/25更新,欢迎下载(有免费版下载) --FormReport可以打印ListView --TRMReport增加DefaultDictionaryFile属性,可以设置默认数据字典 v.2.2(Build 2002/01/28) - 完善缩放打印功能 - TRMCrossView去掉一些BUG v.2.2(Build 2002/01/11) - 增加缩放打印功能, - TRMFormReport打印StringGrid,DBGrid等Grid时,对超宽Grid增加分页功能, - MemoView增加属性CalcValue,可以访问MemoView中的内容, - CalcMemoView增加TotalCalc属性,现在CalcMemoView科轻松实现页小计,页累计, 页总计,并且可以放在页头,栏目头,分组头,数据头。 v.2.2(Build 2001/12/10) - 修正一些BUG, - 增加了导出到BMP,GIF,JPEG文件功能, - Designer增加最近打开文件功能, - 添加字段的时候可以选择不要在字段名前附加表名。 v.2.1(Build 2001/11/29) - 修正了几个BUG. v.2.1(Build 2001/11/22) - 修正了几个BUG. - 增加多语言功能. v.2.1(Build 2001/11/15) - 修正了几个BUG. v.2.1(Build 2001/11/12) - TRMBandView增加属性LinesPerPage,可以设置每页打印记录数, - TRMBandView增加属性PrintColFirst,当Column>;1时,可以选择先列后行还是 先行后列打印, - 修正没有安装打印机时的错误, - 打印预览功能有些改变和增强. v.2.1(Build 2001/11/07) - EHLib可以打印Footer了, - TRMFormReport增加分组功能, - TRMCalcMemoView可以放在GroupHeader上了, - TRMCalcMemoView增加Filter属性,之计算满足条件的纪录, - 其他一些细节上的改变. v.2.1(Build 2001/11/01) - TRMFormReport中增加了数据对齐方式,数据显示格式. v.2.1(Build 2001/10/30) - 修正预览时,页面设置的错误. v.2.1(Build 2001/10/25) - TRMFormReport可以打印Rx,InfowPower全系列控件, - TRMFormReport可以打印EHLib, - 可以打印多个PageFooter,方便制作页小计. v.2.1(Build 2001/10/18) - 大大增强了TRMFormReport功能,可以与ScreenReport, Dev ExpressPrinting System媲美; - TRMFormReport增加了表格的自动缩放功能.可根据纸张的大小自动进行水平或 垂直方向的表格缩放.也就是说程序员不必再为迁就打印宽度和高度而反复调 整屏幕格式和字体大小,而且对于屏幕上带横向滚动杆的任意超宽表格都可以 缩放到指定大小的纸上.再也不用考虑打印超出纸张的问题了,也不会为迁就 打印而影响屏幕格式的美观而感到遗憾!使得表格打印更直接更方便,最大程 度地减少您的工作量; - TRMFormReport增加一个事件OnPrintObject,在这个事件内程序员可自行编制 TRMFormReport不直接支持打印的任意控件;; - 请注意:TRMDBGridReport,TRMwwDBGridReport等已不再维护,因为TRMFormReport 具有以上几个GridReport的所有功能,并且更强. v.2.1(Build 2001/10/08) - 改掉了几个BUG;; - 增加TRMAngledLabel,可以打印倾斜角度的文字;; - TRMGridReport,TRMFormReport等了一些改进. v.2.1(Build 2001/09/25) - 改掉了几个BUG;; - 背景图片增加Top,Left属性;; - TRMPictureView增加支持GIF格式图片. v.2.1(Build 2001/09/21) - 增加TRMStringGridReport,直接打印TStringGrid,TDrawGrid等继承自TCustomGrid的Grid;; - 增加TRMDecisionGridReport,直接打印TDecisitonGrid;; - 增加背景图片功能,可以实现套打. v.2.1(Build 2001/09/17) - 修正TRMOLEView只能缩放显示的错误,现在可以按实际大小,居中等显示. - 增加TRXWWRichView,可以打印InfowPowwer中的TwwDBRichView. v.2.1(Build 2001/09/14) - 修正TRMRxRichView插入字段的错误. v2.1 - 改掉一些BUG - 增加属性PrintFrame,PrintVisible,可以实现套打;; - 报表增加选项(布缩放边框宽度),可以防止表格线变粗;; - Printer单元作了大量修改,Windows2000下支持自定义纸张. v1.1 - 对DataManger作了大量修改,现支持各种数据存取控件(直接支持BDE,ADO,IBX,Diamond);; - 增加Query Designer;; - 增加Report Explorer. v1.0 Preview 4 - Bug fixes;; - Added RX DateEdit control to the Dialog controls;; - Added possibility to excluding particular dataset or entire datamodule from all db-related lists (see TfrDataDictionary.DisabledDatasets and code of main demo);; - Added OnBeforePrint property to the report page (see Object Inspector) and OnActivate event to the dialog form;; - Now you can tune export options in the export components (TfrTextExport and etc);; - TRMFormReport了修改,可以增加TRMFormReport不支持的控件;; - 其它功能增强或修改. v1.0 Preview 3. - Bug fixes;; - Added Data dictionary;; - Some changes in interface;; - 增加Auto Append Blank - TGridReport(TwwGridReport)改进,支持颜色,对齐方式.下一版本将支持分组,合计功能. - 下一版本将增加一个组件TFormReport,直接打印Form,类似于Screen Report. v1.0 Preview 2. - Fixed old bugs, added new;; - 一些性能改善; - 对备注内容处理更完善;; - Added mouse wheel support in designer and preview (D4 and above);; - Object Inspector now looks like Delphi OI;; - Added expression builder;; - More options for ";Text"; object: line and char spacing, top and left gaps, ";Suppress repeated values"; option;; (可是设置行距,字距) - Now you can turn off variable processing in the ";Text"; and ";RichText"; objects. See ";Text only"; option of these objects;; - Added TRMReport.OnObjectClick event. This event fires when user clicks on any object when previewing report;; - Added new Child band;; - Improved export filters (frames export in TXT, tables in RTF, pictures in HTML);; added more export options;; - Added paper bins support;; - Added component for printing table;; - Added ";Columns"; property for data-bands. See last report in the demo;; - Code changed: TfrReport.OnEnterRect now called OnBeforePrint;; - Added TRMDesigner.OnLoadReport, OnSaveReport and CloseQuery properties. 历史记录 -------- 2001.08.30 Report Machine 2.1 2000.05.10 Report Machine 1.1 2000.03.17 Report Machine 1.0正式版 2000.02.21 Report Machine 1.0 Preview 3. 2000.02.12 Report Machine 1.0 Preview 2. 2000.01.25 Report Machine 1.0 Preview 1. Report Machine的第一版. 安装 ----- 1.如果没有安装RxLib 2.60及以上版本,请打开RM.INC文件, 将";{$DEFINE RX}";改为";{$DEFINE RX}"; 2.如果没有安装InfoPower及以上版本,请打开RM.INC文件, 将";{$DEFINE InfoPower}";改为";{$DEFINE InfoPower}"; 3.Delphi 6.X 从Delphi IDE中卸载以前的Report Machine版本。 打开菜单";FileOpen...";打开DclRMachine6.DPK,选择";Install"; 4.Delphi 5.X 从Delphi IDE中卸载以前的Report Machine版本。 打开菜单";FileOpen...";打开DclRMachine5.DPK,选择";Install"; 5.Delphi 4.X 从Delphi IDE中卸载以前的Report Machine版本。 打开所有的DFM文件,选择保存。(因为我是在Delphi 5.0中完成的,DFM文件 与4.X有些不兼容) 打开菜单";FileOpen...";打开DclRMachine4.DPK,选择";Install"; 6.Delphi 4.X 从Delphi IDE中卸载以前的Report Machine版本。 打开所有的DFM文件,选择保存。(因为我是在Delphi 5.0中完成的,DFM文件 与3.X有些不兼容) 打开菜单";FileOpen...";打开DclRMachine3.DPK,选择";Install"; Demo程序 --------- Report Machine包含一些例子,这是学习使用Report Machine的最快途径。 http://rmachine.8u8.com/download/demos.rar 需要用BDE Administrator建立一个Database Alias: 名称: RMachineDemo Path: 版权说明 ---------- Report Machine可免费应用于非商业应用,如果应用于商业用途,请与作者联系。 付费 ------------------ Report Machine是共享控件,如果你了东西,赚到了money,并且认为Report Machine还不错,请赞助我, 以便作者有动力开发出更好的产品,如果只是拿来玩玩,不需注册. 参考价格:(这只是参考价格,多少你看着办) 个人:40元人民币 公司:200元人民币 现在提供下载的是免费版本,这是个免费版,与标准版相比少了一些控件,包含源码。 网上付费:http://rmachine.y365.com/html/register.htm 汇款地址:天津市蓟县供电局计算站 王海丰 301900 如果你在使用中有什么问题或建议,或发现BUG,请与作者联系,谢谢!!! Report Machine WWW: http://rmachine.yeah.net http://reportmachine.delphibbs.com 作者: wanghaifeng_1@163.net
Report Machine 2.6
===================

这是一个报表控件包,For Borland Delphi Versions 3,4,5,6,7.100% 源码.

最后更新日期:2002.10.11

目录
-----
说明
特点
最后更新
历史
安装
Demo程序
版权说明
注册

1.说明
----
Report Machine是一个报表控件包, Report Machine is reporting
tool component. It consists of report engine,designer and preview. Its capabilities
comparable with in QuickReport,ReportBuilder. It written on 100% Object Pascal
and can be installed in Delphi 2/3/4/5/6 and C++Builder 1/3/4/5/6.

2.特点
----
复杂的报表?在report machine面前,还会有什么复杂的报表存在吗?
不,不会有的,因为这是一个功能强大,完全自动、完全自由设计的报表控件
对于一般的主从表,单表,你甚至只需要点动鼠标次数=你的数据字段个数就可以
完成一个完全自定义的,并且支持用户进行格式修改加工,重新设计格式的报表!
想想fast report 吧,report machine会fast report会的,还会它不会的!
这是一个完全中文报表控件,支持delphi3到delphi6,BCB3到BCB6。
它的最大优点就是:强大与自由!

report machine目前主要能的:
一、支持屏幕打印,控制方法多样,可以打印全部rxlib控件
全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book,
TDecisionGrid等等众多控件
二、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位
置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发
一个报表只需几分钟的时间。
三、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成
报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印,
而不需要数据库。
四、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。
五、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以
通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。
六、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的
地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分
组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。
七、完全支持d3--d6,c3--c6。
八、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程
序脚本,以控制、或实现更复杂的打印效果。
九、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。
十、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。
十一、多种格式转换,可以把出的报表转换为html,xml,bmp,jpeg等等格式。
十二、自动对超长记录折行,超长的内容也会自动折行。
十三、最新增加GridView,类似于电子表格,非常非常适合制作复杂报表

最新更新和问题解答请访问论坛:www.pcjingning.com

3.最后更新
--------
v.2.2(Build 2002/01/28)
- 完善缩放打印功能
- TRMCrossView去掉一些BUG

v.2.2(Build 2002/01/11)
- 增加缩放打印功能,
- TRMFormReport打印StringGrid,DBGrid等Grid时,对超宽Grid增加分页功能,
- MemoView增加属性CalcValue,可以访问MemoView中的内容,
- CalcMemoView增加TotalCalc属性,现在CalcMemoView科轻松实现页小计,页累计,
页总计,并且可以放在页头,栏目头,分组头,数据头。

v.2.2(Build 2001/12/10)
- 修正一些BUG,
- 增加了导出到BMP,GIF,JPEG文件功能,
- Designer增加最近打开文件功能,
- 添加字段的时候可以选择不要在字段名前附加表名。

v.2.1(Build 2001/11/29)
- 修正了几个BUG.

v.2.1(Build 2001/11/22)
- 修正了几个BUG.
- 增加多语言功能.

v.2.1(Build 2001/11/15)
- 修正了几个BUG.

v.2.1(Build 2001/11/12)
- TRMBandView增加属性LinesPerPage,可以设置每页打印记录数,
- TRMBandView增加属性PrintColFirst,当Column>1时,可以选择先列后行还是
先行后列打印,
- 修正没有安装打印机时的错误,
- 打印预览功能有些改变和增强.

v.2.1(Build 2001/11/07)
- EHLib可以打印Footer了,
- TRMFormReport增加分组功能,
- TRMCalcMemoView可以放在GroupHeader上了,
- TRMCalcMemoView增加Filter属性,之计算满足条件的纪录,
- 其他一些细节上的改变.

v.2.1(Build 2001/11/01)
- TRMFormReport中增加了数据对齐方式,数据显示格式.

v.2.1(Build 2001/10/30)
- 修正预览时,页面设置的错误.

v.2.1(Build 2001/10/25)
- TRMFormReport可以打印Rx,InfowPower全系列控件,
- TRMFormReport可以打印EHLib,
- 可以打印多个PageFooter,方便制作页小计.

v.2.1(Build 2001/10/18)
- 大大增强了TRMFormReport功能,可以与ScreenReport,
Dev ExpressPrinting System媲美;
- TRMFormReport增加了表格的自动缩放功能.可根据纸张的大小自动进行水平或
垂直方向的表格缩放.也就是说程序员不必再为迁就打印宽度和高度而反复调
整屏幕格式和字体大小,而且对于屏幕上带横向滚动杆的任意超宽表格都可以
缩放到指定大小的纸上.再也不用考虑打印超出纸张的问题了,也不会为迁就
打印而影响屏幕格式的美观而感到遗憾!使得表格打印更直接更方便,最大程
度地减少您的工作量;
- TRMFormReport增加一个事件OnPrintObject,在这个事件内程序员可自行编制
TRMFormReport不直接支持打印的任意控件;
- 请注意:TRMDBGridReport,TRMwwDBGridReport等已不再维护,因为TRMFormReport
具有以上几个GridReport的所有功能,并且更强.

v.2.1(Build 2001/10/08)
- 改掉了几个BUG;
- 增加TRMAngledLabel,可以打印倾斜角度的文字;
- TRMGridReport,TRMFormReport等了一些改进.

v.2.1(Build 2001/09/25)
- 改掉了几个BUG;
- 背景图片增加Top,Left属性;
- TRMPictureView增加支持GIF格式图片.

v.2.1(Build 2001/09/21)
- 增加TRMStringGridReport,直接打印TStringGrid,TDrawGrid等继承自TCustomGrid的Grid;
- 增加TRMDecisionGridReport,直接打印TDecisitonGrid;
- 增加背景图片功能,可以实现套打.

v.2.1(Build 2001/09/17)
- 修正TRMOLEView只能缩放显示的错误,现在可以按实际大小,居中等显示.
- 增加TRXWWRichView,可以打印InfowPowwer中的TwwDBRichView.

v.2.1(Build 2001/09/14)
- 修正TRMRxRichView插入字段的错误.

v2.1
- 改掉一些BUG
- 增加属性PrintFrame,PrintVisible,可以实现套打;
- 报表增加选项(布缩放边框宽度),可以防止表格线变粗;
- Printer单元作了大量修改,Windows2000下支持自定义纸张.

v1.1
- 对DataManger作了大量修改,现支持各种数据存取控件(直接支持BDE,ADO,IBX,Diamond);
- 增加Query Designer;
- 增加Report Explorer.

v1.0 Preview 4
- Bug fixes;
- Added RX DateEdit control to the Dialog controls;
- Added possibility to excluding particular dataset or entire datamodule from
all db-related lists (see TfrDataDictionary.DisabledDatasets and code
of main demo);
- Added OnBeforePrint property to the report page (see Object Inspector) and
OnActivate event to the dialog form;
- Now you can tune export options in the export components (TfrTextExport and
etc);
- TRMFormReport了修改,可以增加TRMFormReport不支持的控件;
- 其它功能增强或修改.

v1.0 Preview 3.
- Bug fixes;
- Added Data dictionary;
- Some changes in interface;
- 增加Auto Append Blank
- TGridReport(TwwGridReport)改进,支持颜色,对齐方式.下一版本将支持分组,合计功能.
- 下一版本将增加一个组件TFormReport,直接打印Form,类似于Screen Report.

v1.0 Preview 2.
- Fixed old bugs, added new;
- 一些性能改善;
- 对备注内容处理更完善;
- Added mouse wheel support in designer and preview (D4 and above);
- Object Inspector now looks like Delphi OI;
- Added expression builder;
- More options for "Text" object: line and char spacing, top and left gaps,
"Suppress repeated values" option; (可是设置行距,字距)
- Now you can turn off variable processing in the "Text" and "RichText"
objects. See "Text only" option of these objects;
- Added TRMReport.OnObjectClick event. This event fires when user clicks on
any object when previewing report;
- Added new Child band;
- Improved export filters (frames export in TXT, tables in RTF, pictures
in HTML); added more export options;
- Added paper bins support;
- Added component for printing table;
- Added "Columns" property for data-bands. See last report in the demo;
- Code changed: TfrReport.OnEnterRect now called OnBeforePrint;
- Added TRMDesigner.OnLoadReport, OnSaveReport and CloseQuery properties.

4.历史记录
--------
2001.08.30
Report Machine 2.1

2000.05.10
Report Machine 1.1

2000.03.17
Report Machine 1.0正式版

2000.02.21
Report Machine 1.0 Preview 3.

2000.02.12
Report Machine 1.0 Preview 2.

2000.01.25
Report Machine 1.0 Preview 1. Report Machine的第一版.

5.安装
-----
1.如果没有安装RxLib 2.60及以上版本,请打开RM.INC文件,
将"{$DEFINE RX}"改为"\\{$DEFINE RX}"

2.如果没有安装InfoPower及以上版本,请打开RM.INC文件,
将"{$DEFINE InfoPower}"改为"\\{$DEFINE InfoPower}"

3.Delphi 6.X
从Delphi IDE中卸载以前的Report Machine版本。
打开菜单"File\Open..."打开DclRMachine6.DPK,选择"Install"

4.Delphi 5.X
从Delphi IDE中卸载以前的Report Machine版本。
打开菜单"File\Open..."打开DclRMachine5.DPK,选择"Install"

5.Delphi 4.X
从Delphi IDE中卸载以前的Report Machine版本。
打开所有的DFM文件,选择保存。(因为我是在Delphi 5.0中完成的,DFM文件
与4.X有些不兼容)

打开菜单"File\Open..."打开DclRMachine4.DPK,选择"Install"

6.Delphi 4.X
从Delphi IDE中卸载以前的Report Machine版本。
打开所有的DFM文件,选择保存。(因为我是在Delphi 5.0中完成的,DFM文件
与3.X有些不兼容)

打开菜单"File\Open..."打开DclRMachine3.DPK,选择"Install"

6.Demo程序
---------
Report Machine包含一些例子,这是学习使用Report Machine的最快途径。

http://rmachine.8u8.com/download/demos.rar
需要用BDE Administrator建立一个Database Alias:
名称: RMachineDemo
Path:

7.付费
------------------
Report Machine是共享控件,如果你了东西,赚到了money,并且认为Report Machine还不错,请赞助我,
以便作者有动力开发出更好的产品,如果只是拿来玩玩,不需注册.

参考价格:(这只是参考价格,多少你看着办)
个人:70元人民币
公司:290元人民币

网上付费:http://rmachine.y365.com/html/register.htm
汇款地址:天津市蓟县供电局计算站 王海丰 301900

如果你在使用中有什么问题或建议,或发现BUG,请与作者联系,谢谢!!!

Report Machine WWW:
http://rmachine.yeah.net
http://reportmachine.delphibbs.com

作者:
wanghaifeng_1@163.net
第一部分 软件可行性研究与项目开发计划 1. 问题定义 随着时代的进步,网络技术层出不穷信息量急剧膨胀,整个人类社会已成为信息的社会,人们对信息和数据的处理。管理和加工已经进入自动、网络和社会的阶段。博客的兴起,让更多的人在网络上,建起了展示自己的空间,同时更多的人愿意在网络上,分享个人的心情日记,个人收藏,这些都是普通的博客内容。 本次论文的目的制作网络日记本,我们要实现网络日记本的增加、删除、修改三大部分的内容。设计完成网络日记本,让它具有文章分类、日期时间显示、后台管理等功能。此次论文的开发过程,我们采用asp作为开发语言,Micsoft Access为数据库, 软件运行环境Pentium处理器+IIS+IE6.0+128MB。 2.可行性研究 本论文共分八个章节完成,我们的本次制作任务。在第一章,我们将把我们即将遇到的问题提出来,以便在以后的章节中完成它,并制定项目开发的进程计划;第二章软件需求分析,在本章节中,我们将逐一分析制作过程中遇到的问题,例如:看日记,写日记,删除日记,日记管理等,并且把相关数据成数据字典;第三章软件概要设计,在这一章节中,我们将把各个问题一一作以详细的分析,并且制定解决的办法,用数据流程图,模拟日记本在使用过程中出现的情况;第四章软件详细设计,在此章节,我们将再次将日记本的各个功能提出,加以详细的分析,完成系统将出现的每一个细节。通过这一部分,我们将完成日记本制作的理论部分;第五章软件编码,顾名思义,在这一章节中,我们将对日记本实行软件编码,在实际中解释每段编码的含义,具体完成日记的增加、删除、数据库连接这几部分;第六章软件测试与调试,在这章里,我们对软件进行测试运行,找到软件的不足,加以修正;第七章 结束语,本章节,是在制作工程中,个人的感受与收获的总结;第八章附录,此章节为本次论文的结尾部分。 3.项目开发计划 本次论文的时间安排如下 (1)需求分析阶段:(2007年4月份---2007年5月份) (2)详细设计阶级:(2007年5月份---2007年6月份) (3)测试阶段:(2007年6月份) 第二部分 软件需求分析 1. 用户功能和数据流图(DFD) 在项目可行性研究的基础之上,我们对系统各项功能进行了初步的分析。 1.1 管理界面登陆 本软件采用的是前台录入方式,所以日记的一切管理无需从后台进入才能进行操作。在前台完成所有操作,这一点我们将在以后的章节详细说明。在登陆到管理界面,我们要输入管理员账号和密码,进入到管理主界面。在主界面进行所要的基本操作。 (1)在登陆界面,我们输入账户信息,账户信息包括管理员登陆名和管理员密码,这些信息经过基本信息库身份验证,如果信息错误将提示“输入错误”提示信息,显示错误界面。如用户不进行任何操作,界面将在5秒后自动返回最初的管理员登陆界面;如果信息正确无误,将进入管理主界面,管理员就可以进行自己所需要的详细操作了。此过程数据图(图2-1),所示 (图2-1) (2)账号的合法性验证,在登陆界面,我们将设置两个按钮,即“确定”和“重置”。当用户在输入密码后发现密码输入错误时,点击“重置”键即可将之前输入的密码清除。在用户输入密码后,点击“确定”键时,计算机将调用身份验证数据库进行身份验证,验证该登陆用户是否是合法的管理员。如果其密码输入正确将进入下一个界面。其数据流程图(图2-2)所示: (图2-2) 1.2 需求选择 当密码验证正确后进入需求界面,在此界面中有浏览、增加、删除、修改密码等功能选项以退出按钮。(图2-3) (图2-3) 在接下来的部分里,我们将用数据流图的形式来表示各个需求选择的功能 1.3 浏览 其数据流程图(图2-4) (图2-4) 注:在浏览文章的时候,我们可以进行选题浏览,即:对自己所知道题目的文章直接浏览。还可以进行分类浏览,即:根据不同分类,选择不同的类别,在一种类别中进行文章浏览。 1.4 修改密码 其数据流程图如下(图2-5) (图2-5) 注:㈠在请输入旧密码、新密码界面,我们在这里要求输入旧密码一次,用于修改用户的合法性验证;输入新密码两次,用于新密码的一致性验证。 ㈡信息处理有三种情况ⅰ. 旧密码输入错误,返回修改密码界面。ⅱ.新密码两次输入,两次输入不符,返回修改密码界面。ⅲ.修改密码成功,显示修改完成界面。 2. 数据字典(DD) 1)登陆名 长度:5-12位 类型:字符型 2)密码 长度:6-14位  类型:整型 3)文章内容 类型:整型 4)日期 __年__月__日 5)名称:基本信息库 登陆名 密码 6)名称:数据中心 文章名称 文章类别 文章写作日期 文章内容 7)名称:基本信

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧