小编Dav*_*nan的帖子

如何在C中定义24位数据类型?

我将不得不使用24位音频数据.这只是unsigned int而不是32bit,它是24bit.那么在C中定义和使用24位数据的简单方法是什么?

c

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

获得Windows版本?

任何人都可以帮我检测用户可能使用的Windows版本吗?

我已经看到了一些示例,但它们没有针对Vista/7操作系统进行更新.

另外,检测操作系统是在x32还是x64架构上运行会很有用.

提前致谢.

windows delphi winapi

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

在delphi中自助安装服务

有没有人知道如何在Delphi中通过运行exe文件自行安装服务应用程序.

delphi service

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

为什么Delphi zlib和zip库在64位下如此之慢?

在对现实世界的应用程序进行基准测试时,我遇到了与Delphi附带的zlib和zip库相关的令人惊讶的性能特征.

我的实际应用程序导出.xlsx文件.此文件格式是包含在ZIP容器文件中的XML文件的集合..xlsx导出代码生成XML文件,然后将它们提供给Delphi ZIP库.一旦我将XML文件生成优化到ZIP创建是我发现的瓶颈,令我惊讶的是,64位代码明显慢于32位代码.

为了进一步研究这个,我创建了这个测试程序:

program zlib_perf;

{$APPTYPE CONSOLE}

uses
  System.SysUtils, System.Classes, System.Diagnostics, System.Zip;

const
  LoremIpsum =
    'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod '+
    'tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, '+
    'quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo '+
    'consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse '+
    'cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat '+
    'non proident, sunt …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe2 delphi-xe7

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

可以约会的日期

我有1个不可空的日期时间字段和1可以为空的日期时间字段.我可以使用以下代码与非可空的代码:

 c.StartDate.Day.ToString() + "/" + 
 c.StartDate.Month.ToString() + "/" + 
 c.StartDate.Year.ToString()
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用可空的那个时,我得到错误:

'System.Nullable'不包含'Day'的定义,并且没有扩展方法'Day'接受类型'System.Nullable'的第一个参数可以找到(你是否缺少using指令或汇编引用?)

如何获得可以为空的日期时间的日,月,年?

c#

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

将TArray <X>类型转换为X数组是否安全?

今天我发现了一个编译器错误(QC#108577).

以下程序无法编译:

program Project1;
{$APPTYPE CONSOLE}

procedure P(M: TArray<TArray<Integer>>);
begin
  SetLength(M, 1, 2);
end;

begin
end.
Run Code Online (Sandbox Code Playgroud)

编译器在线上噱头SetLength说:

[dcc32 Error] E2029 ')' expected but ',' found
Run Code Online (Sandbox Code Playgroud)

我知道我可以像这样解决它:

procedure P(M: TArray<TArray<Integer>>);
var
  i: Integer;
begin
  SetLength(M, 1);
  for i := low(M) to high(M) do
    SetLength(M[i], 2);
end;
Run Code Online (Sandbox Code Playgroud)

但我自然希望避免不得不诉诸于此.

以下变体编译并且似乎有效:

procedure P(M: TArray<TArray<Integer>>);
type
  TArrayOfArrayOfInteger = array of array of Integer;
begin
  SetLength(TArrayOfArrayOfInteger(M), 1, 2);
end;
Run Code Online (Sandbox Code Playgroud)

我对动态数组,TArray<T>转换,引用计数等的实现细节知之甚少,以确信这是安全的.

是否有人知道这样或那样的方式是否会在运行时产生正确的代码?

delphi generics casting dynamic-arrays delphi-xe2

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

检测目录是否是Delphi中的联结

我一直在谷歌搜索这个我可能有一些脑云,因为它不起作用.

我需要检测文件夹是否是一个联结,所以我的递归文件搜索不会运行到无限循环.

我可以使用像这样的简单函数

IsJunction(attr: dword): boolean; 
Run Code Online (Sandbox Code Playgroud)

其中attr dwFileAttributes来自TWin32FindData;

我似乎无法让它工作.谢谢!

delphi junction

16
推荐指数
2
解决办法
1348
查看次数

在venv/pyvenv中没有activate_this.py文件

我需要从python脚本中启动venv/pyvenv,我知道正式文档要运行:

activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
Run Code Online (Sandbox Code Playgroud)

但我没有activate_this.py文件,我无法找到任何地方如何创建一个.

我正在运行python 3.4.1.知道我需要做什么吗?

python virtualenv

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

为什么TBitBtn中包含的字形如此丑陋和过时?

甚至Delphi 2010与TBitBtn相关的字形也不稳定且"丑陋".是否存在向后兼容的原因?Embarcadero是否包含我可以使用的更新的png替换而不是这些正常的字形?

也许这只是我,但我很想看到Embarcadero征求(或雇用)平面设计师来改善这些图标.

替代文字

delphi

15
推荐指数
4
解决办法
4786
查看次数

如何重新思考树形视图是否需要水平滚动条?

考虑以下非常简单的单元:

Unit1.pas

unit Unit1;

interface

uses
  Windows, Classes, Controls, Forms, ComCtrls;

type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

const
  SLongString = 'blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah';

procedure TForm1.FormCreate(Sender: TObject);
var
  Node: TTreeNode;
begin
  TreeView1.Width := 200;
  Node := TreeView1.Items.Add(nil, SLongString);
  Node.Text := 'blah';
end;

end.
Run Code Online (Sandbox Code Playgroud)

Unit1.dfm

object Form1: TForm1
  ClientHeight = 137
  ClientWidth = 216
  OnCreate = FormCreate
  PixelsPerInch = …
Run Code Online (Sandbox Code Playgroud)

delphi

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