小编Jos*_*ons的帖子

为什么SQL Server会舍弃除以两个整数的结果?

我有一个带有smallint列的表,其中包含百分比作为整数(即​​50,75,85等)

当我将此列除以100时,如

SELECT MY_COLUMN/100 AS PCT_AS_FRACTION
FROM MY_TABLE
Run Code Online (Sandbox Code Playgroud)

结果四舍五入到最接近的整数.例如,对于包含数字"50"的行,我的结果为零.

我可以用一个简单的声明复制它:

SELECT 50 / 100 AS TEST_VALUE
Run Code Online (Sandbox Code Playgroud)

为什么会这样,我怎样才能在结果中获得更高的精确度?

sql-server templates rounding

22
推荐指数
2
解决办法
4万
查看次数

VB.NET - 迭代容器对象中的控件

我有一个带有"清除"按钮的表单.

当用户单击"清除"时,我想清除表单上所有可见元素的值.在日期控件的情况下,我想将它们重置为当前日期.

我的所有控件都包含在Panel中.

现在,我正在使用以下代码执行此操作.有没有比手动检查每种控件类型更简单的方法?这种方法似乎过于笨拙.

更糟糕的是,为了递归清除子容器内的控件(即面板中的组合框),我必须用重载的"GroupBox"版本重复整个怪物.

编辑:感谢您的建议,以下代码大大简化.

Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
    'User clicks Clear, so clear all the controls within this panel
    ClearAllControls(panMid, True) 'True indicates that yes, i want to recurse through sub-containers
End Sub

ClearAllControls(ByRef container As Panel, Optional Recurse As Boolean = True)   
  'Clear all of the controls within the container object
  'If "Recurse" is true, then also clear controls within any sub-containers
  Dim ctrl As Control
  For Each ctrl …
Run Code Online (Sandbox Code Playgroud)

vb.net

21
推荐指数
2
解决办法
9万
查看次数

在Delphi中迭代枚举中的项目

我想迭代枚举中的项目.

我希望能够说出这样的话:

type
  TWeekdays = (wdMonday, wdTuesday, wdWednesday, wdThursday, wdFriday);

...
elementCount := GetElementCount(TypeInfo(TWeekDays));

for i := 0 to elementCount - 1 do begin
  ShowMessage(GetEnumName(TypeInfo(TWeekdays),i));
end;
Run Code Online (Sandbox Code Playgroud)

我能来的最接近的是:

function MaxEnum(EnumInfo: PTypeInfo): integer;
const
  c_MaxInt = 9999999;
var
  i: integer;
  s: string;
begin
  //get # of enum elements by looping thru the names
  //until we get to the end.
  for i := 0 to c_MaxInt do begin
    s := Trim(GetEnumName(EnumInfo,i));
    if 0 = Length(s) then begin
      Result := i-1;
      Break;
    end;
  end; …
Run Code Online (Sandbox Code Playgroud)

delphi enums

21
推荐指数
2
解决办法
2万
查看次数

你如何在德尔福实现Levenshtein距离?

我是在回答你自己的问题的精神发表这篇文章的.

我的问题是:如何在Delphi中实现Levenshtein算法来计算两个字符串之间的编辑距离,如此处所述

只是关于性能的说明:这件事非常快.在我的桌面上(2.33 Ghz双核,2GB内存,WinXP),我可以在不到一秒的时间内完成100K字符串的数组运行.

delphi algorithm edit-distance levenshtein-distance

20
推荐指数
1
解决办法
4067
查看次数

使用Git插件时Visual Studio中的diff工具

微软已经为Visual Studio 2012发布了一个Git插件.我发现它很棒,但似乎没有任何选项可以更改默认的Diff工具.更糟糕的是,我无法对ascx代码隐藏文件做差异.它仅显示主.ASCX文件的diff选项.

你怎么

  1. 使用git插件时区分代码隐藏文件?
  2. 改变差异工具?

git visual-studio git-difftool

20
推荐指数
2
解决办法
9737
查看次数

Delphi 2010的编译器版本是什么?

在Delphi 2010中,如果我想这样做:

{$IFDEF VER999}
//some delphi 2010-specific code here
{$ENDIF}
Run Code Online (Sandbox Code Playgroud)

我需要使用什么版本代替"999"?

delphi delphi-2010

18
推荐指数
4
解决办法
2万
查看次数

如何从HTML打开外部文件

我想要一个基本html页面上的超链接列表,它指向我们公司内部网上的文件.

当用户单击该链接时,我希望该文件打开.它们是excel电子表格,这是一个内部网环境,所以我可以指望每个人都安装了Excel.

我尝试了两件事:

  1. 明显而简单的事情:
<a href="file://server/directory/file.xlsx">Click me!</a>
Run Code Online (Sandbox Code Playgroud)
  1. 一个选项,我在谷歌搜索中找到:
<HTML>
<HEAD>
    <SCRIPT LANGUAGE=VBScript>
    Dim objExcel

    Sub Btn1_onclick()
    call OpenWorkbook("\\server\directory\file.xlsx")
    End Sub

    Sub OpenWorkbook(strLocation)

    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = true
    objExcel.Workbooks.Open strLocation
    objExcel.UserControl = true
    End Sub

    </SCRIPT>
    <TITLE>Launch Excel</Title>
</HEAD>
<BODY>
    <INPUT TYPE=BUTTON NAME=Btn1 VALUE="Open Excel File">
</BODY>
</HTML> 
Run Code Online (Sandbox Code Playgroud)

我知道这是一个非常基本的问题,但我很感激能得到的任何帮助.

编辑:任何适用于IE和Firefox的建议?

html

17
推荐指数
1
解决办法
19万
查看次数

在Delphi Win32应用程序中显示调用堆栈

我想在Delphi 2007(Win32)的错误对话框中显示堆栈跟踪.

理想情况下,我喜欢这样的事情:

try
  //do something
except on e : exception do
  begin
    //rollback a transaction or whatever i need to do here       
    MessageDlg('An error has occurred!' + #13#10 +
                e.Message + #13#10 +
               'Here is the stack trace:' + #13#10 +
               e.StackTrace,mtError,[mbOK],0);
  end;  //except
end;  /try-except
Run Code Online (Sandbox Code Playgroud)

并且输出与IDE中的调用堆栈类似:

MYPROGRAM.SomeFunction
MYPROGRAM.SomeProcedure
MYPROGRAM.MYPROGRAM
:7c817067 kernel32.RegisterWaitForInputIdle + 0x49
Run Code Online (Sandbox Code Playgroud)

delphi error-handling

16
推荐指数
3
解决办法
1万
查看次数

为什么这个VBScript会给我一个错误?

我将此VBScript脚本保存为本地计算机为c:\ test.vbs:

WScript.StdOut.WriteLine "This is a test"
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行它时,我收到此错误:

---------------------------
Windows Script Host
---------------------------
Script: C:\test.vbs
Line:   1
Char:   1
Error:  The handle is invalid. 
Code:   80070006
Source:     (null)

---------------------------
OK   
---------------------------
Run Code Online (Sandbox Code Playgroud)

我在Windows Vista(SP1)和Windows XP Pro(SP3)下得到了这个.

vbscript

15
推荐指数
2
解决办法
3万
查看次数

Delphi中显示自定义消息对话框的最佳方式是什么?

我正在使用Delphi,我想在MessageDlg的按钮中显示自定义文本,如此处所述.最好的方法是什么?

delphi user-interface

15
推荐指数
1
解决办法
1万
查看次数