标签: delphi-7

在同一台机器上有多个Delphi版本

我们想要做的是在同一台机器上安装多个Delphi版本,这些版本是D7,D2010和DXE.

我们以前有D7和D2010,一起工作正常(由于各种版本的特殊条件,不得不复制D7和D2010的组件),但是,我不确定XE,因此问题.

当然我们可以试验,但这意味着浪费了几个小时,所以如果有人已经做了类似的设置或积极拥有,你能分享一下你的经验吗?

编辑1:

D7-D2010安装按时间顺序排列:

  • D7 +更新
  • D2010 +更新

delphi delphi-7 delphi-2010 delphi-xe

13
推荐指数
3
解决办法
5844
查看次数

Delphi:如何将列表作为参数传递给SQL查询?

我有一个整数或字符串列表,需要将它作为Delphi DataSet的参数传递.怎么做?

这是一个例子.MyQuery是这样的:

select * from myTable where intKey in :listParam
Run Code Online (Sandbox Code Playgroud)

我将参数设置为列表或数组或其他:

MyQuery.ParamByName('listParam').AsSomething := [1,2,3];
Run Code Online (Sandbox Code Playgroud)

它会导致此查询发送到sql server:

select * from myTable where intKey in (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

如果解决方案也可以使用字符串,那么这个查询会更好:

select * from myTable where stringKey in :listParam
Run Code Online (Sandbox Code Playgroud)

成为:

select * from myTable where stringKey in ('a', 'b', 'c')
Run Code Online (Sandbox Code Playgroud)

我相信这是一个简单的问题,但"IN"不是搜索网络的好关键字.

请回答我应该如何配置IDE中的参数,查询以及如何传递参数.

我正在使用Delphi 7.

编辑:我正在考虑答案是" 不可能直接做 ".如果有人给我一个非hackish的答案,接受的答案将被更改.

sql sql-server delphi delphi-7

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

带有自动显示/隐藏滚动条的TMemo

我需要简单的TMemo,它不会在不需要时显示滚动条(即文本不足),但是当它们存在时会显示.类似于ScrollBars = ssAuto或类似于TRichEdit HideScrollBars.

我试图将TMemo子类化并ES_DISABLENOSCROLL在CreateParams中使用,TRichEdit但它不起作用.

编辑:这应该在WordWrap启用或不启用的情况下工作.

delphi delphi-7

13
推荐指数
1
解决办法
8514
查看次数

在Delphi中,Math.Round()与MidpointRounding.AwayFromZero等效吗?

如何使用C#类似Math.RoundMidpointRounding.AwayFromZero在Delphi?

相当于什么:

double d = 2.125;
Console.WriteLine(Math.Round(d, 2, MidpointRounding.AwayFromZero));
Run Code Online (Sandbox Code Playgroud)

输出: 2.13

在德尔福?

c# delphi delphi-7

13
推荐指数
2
解决办法
871
查看次数

delphi - 从字符串中删除所有非标准文本characers

我需要从字符串中删除所有非标准文本characers.我需要删除所有非ascii和控制字符(换行/回车除外).

delphi parsing ascii delphi-7 delphi-2010

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

使用TStringList的AddObject和整数?

使用delphi 7:

  • 如何使用AddObject?将一个整数添加到stringlist项的对象部分?
  • 如何从stringlist项的对象属性中检索整数?
  • 完成后如何释放所有对象并列出?

delphi tstringlist delphi-7

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

从Delphi中的c ++ DLL调用函数

我在VS2010中创建了一个新的c ++ DLL项目,它暴露了1个函数

#include "stdafx.h"    
#define DllImport   extern "C" __declspec( dllimport )
#define DllExport   extern "C" __declspec( dllexport )    
DllExport int DoMath( int a, int b) {
    return a + b ; 
}
Run Code Online (Sandbox Code Playgroud)

然后我用VS2010创建了一个C++应用程序来测试这个DLL.在VS2010中构建的测试应用程序可以调用c ++ DLL并获得预期的结果.

#include "stdafx.h"
#include <windows.h>

typedef int (*DoMath)(int, int) ; 
int _tmain(int argc, _TCHAR* argv[])
{
    HMODULE hMod = LoadLibrary ("exampleDLL.dll");
    if (NULL != hMod) {
        DoMath mf1 = (DoMath) GetProcAddress(hMod,"DoMath");
        if( mf1 != NULL ) {
            printf ("DoMath(8,7)==%d \n", mf1(8,7) );   
        } else { …
Run Code Online (Sandbox Code Playgroud)

c++ delphi dll delphi-7

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

使用Delphi以递归方式删除所有文件和文件夹

我试图以递归方式删除文件夹及其所有子文件夹,但它根本不起作用,所以有人可以检查代码并告诉我这里做错了什么吗?

我在Windows XP下通过D7运行此代码

if FindFirst (FolderPath + '\*', faAnyFile, f) = 0 then
      try             
         repeat

            if (f.Attr and faDirectory) <> 0 then
              begin
                    if (f.Name <> '.') and (f.Name <> '..') then
                      begin                            
                        RemoveDir(FolderPath +'\'+ f.Name);
                      end
                    else
                      begin
                        //Call function recursively...
                        ClearFolder(FolderPath +'\'+ f.Name, mask, recursive);
                      end;
              end;

         until (FindNext (f) <> 0);
      finally
        SysUtils.FindClose (f)
      end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7

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

如何从表单中删除标题栏

有没有人知道如何创建没有标题栏的Delphi表单?我已经看到一些链接/提示,但它不完全是我想要的,我自己也做不到.

这就是我想要实现的目标:

在此输入图像描述

delphi delphi-7

12
推荐指数
1
解决办法
9551
查看次数

FileExists和修改日期的问题

在我的服务器上有几个文件的修改日期31/DEC/1979(不要问我原因).所以FileExists返回false.

Sysutils.FileExists 看起来像这样:

function FileAge(const FileName: string): Integer;
var
  Handle: THandle;
  FindData: TWin32FindData;
  LocalFileTime: TFileTime;
begin
  Handle := FindFirstFile(PChar(FileName), FindData);
  if Handle <> INVALID_HANDLE_VALUE then
  begin
    Windows.FindClose(Handle);
    if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
    begin
      FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
      if FileTimeToDosDateTime(LocalFileTime, LongRec(Result).Hi,
        LongRec(Result).Lo) then Exit;
    end;
  end;
  Result := -1;
end;

function FileExists(const FileName: string): Boolean;
begin
  Result := FileAge(FileName) <> -1;
end;
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么功能首先取决于FileAge?以下行不够吗?:

if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
  // Yes the file exists!
Run Code Online (Sandbox Code Playgroud)

甚至基于文件属性:

function …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7

12
推荐指数
1
解决办法
2665
查看次数

标签 统计

delphi ×10

delphi-7 ×10

delphi-2010 ×2

ascii ×1

c# ×1

c++ ×1

delphi-xe ×1

dll ×1

parsing ×1

sql ×1

sql-server ×1

tstringlist ×1