标签: delphi-7

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以递归方式删除所有文件和文件夹

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

我在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万
查看次数

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中通过名称实例化一个类?

我想实例化一个类,但我只在字符串中有它的名字.有办法吗?

delphi delphi-7

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

从代码中设置Delphi 7项目"版本信息"?

是否可以从代码中设置"版本信息"设置?我想在不使用项目选项对话框的情况下设置版本编号和"注释"属性的值.

delphi delphi-7

11
推荐指数
2
解决办法
5385
查看次数

delphi 7 - 创建自定义警告

我正在使用Delphi 7,我想创建一个自定义警告消息(将在编译时显示),因此我可以警告其他程序员进行一些修改.我在互联网上搜索过,但我没有发现任何相关内容.

其他解决方案也受到欢迎,因为其他程序员在编译/构建源代码时会被警告我想要的东西.

delphi delphi-7 compiler-warnings

11
推荐指数
1
解决办法
2761
查看次数

自动允许Ctrl + A在TMemo中选择全部?

在Delphi 7的TMemo控件中,尝试使用键组合Ctrl + A来选择all并不做任何事情(不选择全部).所以我做了这个程序:

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  C: String;
begin
  if ssCtrl in Shift then begin
    C:= LowerCase(Char(Key));
    if C = 'a' then begin
      Memo1.SelectAll;
    end;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

有没有一个技巧,所以我不必这样做?如果没有,那么这个程序看起来不错吗?

delphi keyboard-shortcuts delphi-7 tmemo

11
推荐指数
1
解决办法
6229
查看次数

如何在delphi中将字符串剪切为某个所需的数字?

我有一个数据库列,只能占用一个字符串的40个字符.所以当字符串的长度大于40个字符时,它会给我错误.如何在delphi中将字符串剪切/修剪为40个字符?

delphi delphi-7 delphi-xe2

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

使用方法的嵌套过程作为winapi回调是否安全?

这是Delphi 7中的简化方案:

procedure TMyClass.InternalGetData;
var
  pRequest: HINTERNET;

    /// nested Callback 
    procedure HTTPOpenRequestCallback(hInet: HINTERNET; Context: PDWORD; Status: DWORD; pInformation: Pointer; InfoLength: DWORD); stdcall;
    begin
      // [...]  make something with pRequest
    end;

begin
  pRequest := HTTPOpenRequest(...);
  // [...]   
  if (InternetSetStatusCallback(pRequest, @HTTPOpenRequestCallback) = PFNInternetStatusCallback(INTERNET_INVALID_STATUS_CALLBACK)) then
    raise Exception.Create('InternetSetStatusCallback failed');
  // [...]
end;
Run Code Online (Sandbox Code Playgroud)

整件事似乎工作正常,但它是否真的正确和安全?我希望以这种方式封装它,因为它更具可读性和清洁性.我怀疑嵌套过程是否是一个简单的,正常的过程,因此它可以有自己的调用约定(stdcall)并安全地引用外部方法的局部变量(pRequest).

谢谢.

delphi callback delphi-7

11
推荐指数
2
解决办法
288
查看次数