以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  命令窗口能不能添加一个功能?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=31992)

--  作者:unverse
--  发布时间:2013/4/24 9:18:00
--  命令窗口能不能添加一个功能?

如题,是否考虑将命令窗口中将要运行的代码选中后再执行,,,这样测试代码比较方便 ,不用作备注了,,,像SQL查询管理器一样方便

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130424091458.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2013/4/24 10:06:00
--  
呵呵,刚刚误删除这个主题的回帖了,我考虑一下吧。
--  作者:程兴刚
--  发布时间:2013/4/24 10:21:00
--  

否定:基本上没有多大作用,细细分析就知道:

 

加入我在前面很多位置定义了各种变量:比如第一行:dim dr as datarow

 

那么,我在后面选中局部代码,肯定要报错,当然也很可能在此之前的过程中的其他地方同时还定义了别的变量!

同样,以定义的变量在前面间隔N行引用了某些值,在您不可能跳着选中的情况下执行某段代码,依然会带来一系列的报错,您的调试执行根本就无法进行。

 

除非贺老师增加对变量的追溯功能,自动去判断是否定义变量,前面是否正确引用了值,估计不那么容易实现!


--  作者:unverse
--  发布时间:2013/4/26 9:26:00
--  

程版你说的只是某个特例,老是用注释也怪麻烦 ,这样选择某个直接运行多好,,非常方便 的,,,个人觉得,不知道狐爸怎么认为。


--  作者:lihe60
--  发布时间:2013/4/26 9:48:00
--  
以下是引用unverse在2013-4-24 9:18:00的发言:

如题,是否考虑将命令窗口中将要运行的代码选中后再执行,,,这样测试代码比较方便 ,不用作备注了,,,像SQL查询管理器一样方便

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130424091458.jpg
图片点击可在新窗口打开查看

这个建议好。


--  作者:程兴刚
--  发布时间:2013/4/26 9:51:00
--  
我说的可不是特例,是每一个用户100%存在的,不用多了,您只需写三、五十行代码,分段测试就知道了!
--  作者:e-png
--  发布时间:2013/4/26 10:49:00
--  

楼主的建议好,至于前面的定义过的变量,测试代码时自然要去判断的,这个应该不是问题。


--  作者:程兴刚
--  发布时间:2013/4/26 11:45:00
--  

事实胜于雄辨:请问楼主及楼主的支持者们,如下代码,哪些可以独立测试?(这仅是最常见的个例)请将不测试的部位行首加单引号,并将结果贴出来,示例文件看下一楼,我等您的好消息:

 

If Tables("员工").Current IsNot Nothing
    Dim dr As DataRow = Tables("员工").Current.DataRow
    Dim doc As New PrintDoc() \'定义一个报表
    doc.AutoRotate = False \'禁止自动旋转打印内容
    doc.PageSetting.Height = "175mm" \' 纸张高度为93毫米
    doc.PageSetting.Width = "120mm" \' \'纸张宽度为248毫米
    doc.PageSetting.Landscape = True \'横向打印
    Doc.PageSetting.LeftMargin = 15\'设置左边距
    Doc.PageSetting.RightMargin = 15 \'设置右边距
    Doc.PageSetting.TopMargin = 10 \'设置上边距
    Doc.PageSetting.BottomMargin = 10 \'设置下边距
    \'-----------------------------------------------------------------
    Dim rt As New prt.RenderTable() \'定义一个表格对象
    rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型
    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'文字默认水平居中
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center \'文字默认垂直居中
    rt.Style.Spacing.Top = 4 \'表格和前面对象的垂直间隔为4毫米
    rt.Style.Spacing.Bottom = 3 \'表和和后续对象的垂直间隔为3毫米
    rt.Style.Spacing.All = 1
    rt.CellStyle.Spacing.All = 0.5 \'单元格内距设为0.5毫米
    rt.Style.GridLines.All = New Prt.LineDef(0.6,Color.Gray)
    rt.Width =150
    \'-----------------------------------------------------------------
    rt.Rows.Count = 1 \'设置行数
    rt.Cols.Count = 11 \'设置列数
    rt.Cols(0).Width = "35mm"
    rt.Cols(1).Width = "50mm"
    rt.Cols(2).Width = "35mm"
    rt.Cols(3).Width = "55mm"
    rt.Cols(4).Width = "20mm"
    rt.Cols(5).Width = "20mm"
    rt.Cols(6).Width = "20mm"
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,0).Text = "员工资料卡"
    rt.Cells(rt.Rows.Count-1,0).SpanCols = 7 \'向右合并列
    rt.Rows(rt.Rows.Count-1).Height = "8mm"
    rt.Rows(rt.Rows.Count-1).Style.GridLines.All = new Prt.LineDef(0,Color.Black)
    rt.rows(rt.Rows.Count-1).Style.Font = New Font("宋体", 16,FontStyle.Bold) \'设置字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count,4).Text = "编号:"
    rt.Cells(rt.Rows.Count-1,4).SpanCols = 2
    rt.Rows(rt.Rows.Count-1).Height = "6mm"
    rt.cells(rt.Rows.Count-1,4).Style.TextAlignHorz = prt.AlignHorzEnum.right \'水平靠右
    rt.rows(rt.Rows.Count-1).Style.GridLines.All = new Prt.LineDef(0,Color.Black)
    rt.Cells(rt.Rows.Count-1,4).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,6).Text = right("000" & dr("编号"),3)
    rt.cells(rt.Rows.Count-1,6).Style.TextAlignHorz = prt.AlignHorzEnum.left \'水平靠右
    rt.Cells(rt.Rows.Count-1,6).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count,0).Text = "姓名"
    rt.Rows(rt.Rows.Count-1).Height = "8mm"
    rt.rows(rt.Rows.Count-1).Style.GridLines.top = new Prt.LineDef(0.6,Color.Black)
    rt.rows(rt.Rows.Count-1).Style.GridLines.left = new Prt.LineDef(0.6,Color.Black)
    rt.Cells(rt.Rows.Count-1,0).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,1).Text = dr("姓名")
    rt.Cells(rt.Rows.Count-1,1).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,2).Text = "出生日期"
    rt.Cells(rt.Rows.Count-1,2).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,3).Text = format(dr("出生日期"),"yyyy年mm月dd日")
    rt.Cells(rt.Rows.Count-1,3).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count,0).Text = "部门"
    rt.Rows(rt.Rows.Count-1).Height = "8mm"
    rt.rows(rt.Rows.Count-1).Style.GridLines.left = new Prt.LineDef(0.6,Color.Black)
    rt.Cells(rt.Rows.Count-1,0).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,1).Text = dr("部门")
    rt.Cells(rt.Rows.Count-1,1).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,2).Text = "雇佣日期"
    rt.Cells(rt.Rows.Count-1,2).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,3).Text = format(dr("雇佣日期"),"yyyy年mm月dd日")
    rt.Cells(rt.Rows.Count-1,3).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count,0).Text = "性别"
    rt.Rows(rt.Rows.Count-1).Height = "8mm"
    rt.rows(rt.Rows.Count-1).Style.GridLines.left = new Prt.LineDef(0.6,Color.Black)
    rt.Cells(rt.Rows.Count-1,0).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,1).Text = dr("性别")
    rt.Cells(rt.Rows.Count-1,1).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,2).Text = "职务"
    rt.Cells(rt.Rows.Count-1,2).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,3).Text = dr("职务")
    rt.Cells(rt.Rows.Count-1,3).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count,0).Text = "地址"
    rt.Rows(rt.Rows.Count-1).Height = "8mm"
    rt.rows(rt.Rows.Count-1).Style.GridLines.left = new Prt.LineDef(0.6,Color.Black)
    rt.Cells(rt.Rows.Count-1,0).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,1).Text = dr("地址")
    rt.Cells(rt.Rows.Count-1,1).SpanCols = 3
    rt.cells(rt.Rows.Count-1,1).Style.TextAlignHorz = prt.AlignHorzEnum.left
    rt.Cells(rt.Rows.Count-1,1).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count,0).Text = "家庭电话"
    rt.Rows(rt.Rows.Count-1).Height = "8mm"
    rt.rows(rt.Rows.Count-1).Style.GridLines.left = new Prt.LineDef(0.6,Color.Black)
    rt.Cells(rt.Rows.Count-1,0).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,1).Text = dr("家庭电话")
    rt.Cells(rt.Rows.Count-1,1).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,2).Text = "办公电话"
    rt.Cells(rt.Rows.Count-1,2).Style.Font = New Font("宋体", 11,FontStyle.Regular) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.cells(rt.Rows.Count-1,3).Text = dr("办公电话")
    rt.Cells(rt.Rows.Count-1,3).Style.Font = New Font("宋体", 11,FontStyle.bold) \'设置文本对象的字体
    \'-----------------------------------------------------------------
    rt.Rows(rt.Rows.Count).Height = "30mm"
    rt.Cells(rt.Rows.Count-1,0).SpanCols = 7
    rt.cells(rt.Rows.Count-1,4).Style.TextAlignHorz = prt.AlignHorzEnum.left \'水平靠右
    rt.rows(rt.Rows.Count-1).Style.GridLines.left = new Prt.LineDef(0.6,Color.Black)
    rt.rows(rt.Rows.Count-1).Style.GridLines.Bottom = new Prt.LineDef(0.6,Color.Black)
    rt.rows(rt.Rows.Count-1).Style.GridLines.right = new Prt.LineDef(0.6,Color.Black)
    \'-----------------------------------------------------------------
    rt.Cells(rt.Rows.Count-6,4).SpanCols = 3
    rt.Cells(rt.Rows.Count-6,4).Spanrows = 5
    rt.Cells(rt.Rows.Count-6,4).CellStyle.Spacing.All = 0 \'单元格内距设为0.5毫米
   
    rt.Cells(rt.Rows.Count-6,4).Style.GridLines.right = new Prt.LineDef(0.6,Color.Black)
    \'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Dim ra As prt.RenderArea
    Dim rm As New prt.RenderImage
    ra = rt.Cells(rt.Rows.Count-6,4).Area
    rm = New prt.RenderImage
    rm.Image =  GetImage(dr("照片"))
    rm.Height = 43
    ra.Children.Add(rm)
     doc.Body.Children.Add(rt) \'将表格对象加入到报表中
    Doc.Preview() \'预览报表
End If

[此贴子已经被作者于2013-4-26 12:41:54编辑过]

--  作者:程兴刚
--  发布时间:2013/4/26 11:50:00
--  

手机回复代码不能换行,请看这里:26、27楼,有代码和示例文件:

 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=8954&authorid=0&page=0&star=3

[此贴子已经被作者于2013-4-26 12:42:29编辑过]

--  作者:程兴刚
--  发布时间:2013/4/26 22:36:00
--  
我帮您们顶第一次!