小编OnT*_*Fly的帖子

如何从OTA包向导中获取欢迎页面浏览器导航到某些URI?

我要做的是创建一种查看(不编辑)项目中包含的HTML页面的功能.欢迎页面已经嵌入了Web浏览器,因此它似乎是一个很好的候选者.

Curios为什么?这是一个背景信息的问题.

delphi ota toolsapi

10
推荐指数
2
解决办法
1250
查看次数

如何使用其标题确定精确的PE图像文件大小?

我需要字节大小,IMAGE_OPTIONAL_HEADER.SizeOfImage似乎向上舍入到(不确定)边界并且大于实际文件大小.

language-agnostic windows delphi portable-executable

7
推荐指数
1
解决办法
6604
查看次数

包中是否包含条件表达式?

请考虑以下代码段:

requires
  designide,
  rtl,
  vcl,
  {$IF RTLVersion < 19.0}            // E2026 Constant expression expected
  //{$IF CompilerVersion = 22.0}     // same as above
  vcljpg;
  {$ELSE}
  vclimg;
  {$IFEND}
Run Code Online (Sandbox Code Playgroud)

它似乎在语法上是正确的.但是,编译器会对其进行扼流并报告Constant expression expected.这里到底发生了什么?

技术:目前仅在XE(15.0.3953.35171)上测试过.

当然,也欢迎变通方法的建议.

delphi compiler-construction conditional-compilation conditional-expressions delphi-xe

7
推荐指数
2
解决办法
870
查看次数

正则表达式从数字字符串中剥离千位分隔符?

我有包含千位分隔符的字符串,但是没有字符串到数字函数想要正确使用它(使用JavaScript).我正在考虑通过剥离所有的千位分隔符来"准备"字符串,留下任何其他未处理的东西,并让Number/ parseInt/ parseFloat函数(我对其行为感到满意)来决定其余部分.但似乎我不知道哪个RegExp可以做到这一点!

也欢迎更好的想法!


更新:

对不起,答案让我觉得它是多么糟糕的问题.我要实现的目标是:1)仅在任何情况下剥离千位分隔符,但2)不要打扰原始字符串,以便在无效数字的情况下获得NaN.

更新更新:

JavaScript仅限于解析的英语语言环境,因此为了简单起见假设千位分隔符是','当然,它永远不会匹配任何语言环境中的小数分隔符,因此更改为任何其他语言环境不应该造成问题)

现在,解析函数:

parseFloat('1023.95BARGAIN BYTES!')  // parseXXX functions just "gives up" on invalid chars and returns 1023.95
Number('1023.95BARGAIN BYTES!')      // while Number constructor behaves "strictly" and will return NaN
Run Code Online (Sandbox Code Playgroud)

有时我使用rhw松散的,有时严格.我想弄清楚为这两个函数准备字符串的最佳方法.

关于数字的有效性:

'1,023.99'是完美的英文编号,剥离所有逗号将导致正确的结果. '1,0,2,3.99'虽然通用的逗号剥离会给出'1023.99'不太可能正确的结果.

javascript regex language-agnostic

6
推荐指数
1
解决办法
9210
查看次数

如何查询"磁盘大小"文件信息?

我想重现在任一给定文件的Windows资源管理器 - >属性对话框 - >常规属性页中显示的行为.具体来说,我想重现"磁盘大小"字段的确切值.

filesystems delphi winapi

6
推荐指数
1
解决办法
2301
查看次数

如何为抽象类中的只读字段赋值?

我在基础抽象类中有一个字段.我想让这个字段只读,以便在初始化子类后它的值不会改变.

但是抽象类不能有构造函数,而readonly只能从构造函数初始化.

怎么做到这一点?

c# class abstract

5
推荐指数
2
解决办法
6513
查看次数

IDE中缺少"项目页面选项",该怎么办?

当我使用D2007时,我真的习惯于Project > Project Page Options保留和查看一些自由格式的项目注释,外部引用(这些几乎从来没有在内置的HTML 设计器中可以轻松查看)等等.现在我有Delphi XE并且Project Page Options缺少此外,projpageide150.bpl在项目菜单中,文档中提到的bin目录中不存在.我如何解决它?我真的觉得能够在IDE中查看(不编辑!)HTML文档是一个非常方便的功能.

delphi delphi-xe

5
推荐指数
1
解决办法
368
查看次数

如何从32 bpp的TBitmap实例创建alpha混合图标/光标(间接),而不是制作临时DIB部分?

根据MS KB条目,有一个怪癖,CreateIconIndirect其中识别HBITMAP已创建BITMAPV5HEADER传递给CreateDIBSection(和BGRA通道布局).

但是, 当由s 引用时TBitmap具有(PixelFormat = pf32bit) and (AlphaFormat = afDefined)(表现为其他目的的alpha混合)Handle的实例不被识别为用于创建图标或光标的有效alpha混合位图.

目前,我必须使用所描述的API调用(请参阅参考资料)创建TBitmap的完整副本,以使CreateIconIndirect接受位图处理为alpha混合.我该如何克服这种笨拙?

delphi winapi vcl alpha

5
推荐指数
1
解决办法
1492
查看次数

嵌套结构化类型的嵌套常量是不受支持的?

尽管Delphi引用了什么

结构化类型可以包含其他结构化类型 一个类型可以有无限级别的结构

值得注意的例外是结构化类型常量

不能包含任何级别的文件类型值

我发现我不能使用记录常量作为相同类型的数组常量的元素.

测试用例

type
  MyRecord = record MyField: Integer end;

const
  Typical: array[0..1] of MyRecord = ((MyField: 0), (MyField: 1));

  { now I tried to achieve more clarity by declaring a specific constant }
  Zero: MyRecord = (MyField: 0);

  { and compiler refused to accept that }
  Bad: array[0..1] of MyRecord = (Zero, (MyField: 1));  { E2029 '(' expected but identifier 'Zero' found }
Run Code Online (Sandbox Code Playgroud)

我用几个Borland编译器测试了这个代码,它们都表现出相同的行为.UPD:FPC也是如此,但不适用于GPC(!).

问题(S)

这里发生了什么?我是否更正问题标题中的"嵌套结构类型的嵌套常量不受支持"结论?对问题的任何更多分析?

delphi pascal

5
推荐指数
1
解决办法
466
查看次数

TCPClient:自定义超时时间

我需要设置自定义超时TTcpClient.我认为默认超时时间约为20-25秒,但我需要将其更改为500毫秒.有可能吗?怎么样?

procedure TForm1.Button1Click(Sender: TObject);
   begin
     TcpClient2.RemoteHost := '192.168.1.1';
     TcpClient2.RemotePort := '23';
     TcpClient2.Connect;

     tcpclient2.Receiveln();
     tcpclient2.Sendln('admin');
     tcpclient2.Receiveln;
   end;
Run Code Online (Sandbox Code Playgroud)

我尝试了non-blocking选项,但是在我点击按钮后软件返回错误而且我必须再次执行4-5次.有帮助吗?

谢谢 :)

delphi tcpclient

5
推荐指数
1
解决办法
8026
查看次数