小编And*_*and的帖子

如何验证是否在Delphi TTaskDialog中选中了复选框?

好吧,这应该很简单,但我找不到解决方案,至少在不太好的文档中没有找到.在a中TTaskDialog,你可以选择添加一个复选框.您可以通过tfVerificationFlagChecked标志来控制其初始状态Flags.但是如何在对话框结束后获得状态Execute

当然,可以OnVerificationClicked在每次调用时使用事件并切换一个局部变量,最初等于复选框的初始状态.但人们会期待更自然的解决方案.

delphi ttaskdialog tcheckbox

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

Ctrl + - (Ctrl + Hyphen-Minus)作为ShortCut键?

使用Ctrl+ +,Ctrl+ -Ctrl+ 0作为应用程序放大,缩小和恢复默认缩放(通常为100%)操作的快捷方式似乎很自然.现在,在Delphi中,我可以将Ctrl+ +Ctrl+ 指定0为快捷方式.但前者要求使用键盘主要部分的加号; 不能使用数字键盘的加号.

但是,当我想将Ctrl+ 指定-为快捷方式时,会出现问题.它根本不起作用.如果我在IDE中指定"Ctrl + - ",则存储在ShortCut属性中的值为16495.如果我们ssCtrl从中减去,我们得到111.人们会相信,解决方法是分配ShortCut := 45 + ssCtrl,或者等同于ShortCut := Menus.ShortCut(45, [ssCtrl]),因为ord('-') = 45.但这不起作用.

但是,我找到了一个有效的解决方案:ShortCut := 189 + ssCtrl.我选择189,因为这是我按下" - "键并听取KeyDown事件时收到的数字.

那么,为什么我对此不满意?好吧,我担心常数189只对瑞典键盘有效.我试图阅读这个,并且,像往常一样,MSDN文档相当清楚,但是,谁知道Delphi如何处理事情.

delphi winapi keyboard-shortcuts zoom keycode

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

向表单添加边框图标

使用Delphi我想在边框图标按钮上添加另一个按钮; 关闭,最大化,最小化.关于如何做到这一点的任何想法?

windows delphi titlebar delphi-2007 custom-titlebar

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

如何检测TMenuItem右键?

平台:delphi 2010

  1. 在form1上删除Tmainmenu
  2. 在form1上删除Tpopupmenu
  3. 添加mainmenu1和popupmenu项目(mainmenu - > file - > item1,popupmenu - > popup item1)
  4. item1.onRgihtClick show popupmenu
  5. F9
  6. 文件 - > item1右键单击,弹出菜单,选择item1 bla bla bla ....
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 222
  ClientWidth = 447
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  Menu = MainMenu1
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object MainMenu1: TMainMenu
    Left = …
Run Code Online (Sandbox Code Playgroud)

delphi

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

schema.org微数据:像schema.org那样说,还是谷歌说的?

在我的网站上添加微数据时,我使用schema.org上的词汇表.

目前,我使用http://schema.org/SoftwareApplication来标记软件.由于格式是位在schema.org得以确认(例如,之间有什么区别url,downloadUrlinstallUrl?),我也看了一下关于这个词汇的谷歌页面.

这让我很伤心.

事实证明,schema.org和Google使用两个不兼容的"相同"词汇版本.一些差异:

  • fileSize 根据schema.org以kB为单位给出,但根据Google的字节为单位.
  • operatingSystem在schema.org上调用operatingSystemsGoogle.
  • applicationCategory在schema.org上调用softwareApplicationCategoryGoogle.<rant> ... Google表示值'必须是支持的软件应用程序类型之一',但这些类型的链接已被破坏.</ rant>

现在,公平地说,谷歌声称他们的格式是schema.org格式的"扩展"(但是你不需要一个新的itemtype URL吗?),但肯定没有扩展可以重新定义现有的属性名称(如fileSize).

网站管理员应该怎么做?感觉正确的做法是遵循schema.org.关于这个话题是否有任何共识?

(我只是提出了一个假设:也许schema.org是当前的版本,过时的Google页面是在schema.org创建之前编写的,并且从那时起就一直没有被触及(可能被遗忘)?)

microdata schema.org google-rich-snippets

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

作为键盘快捷键暂停/中断(Win32,*可能*特定于Delphi)

是否无法Pause/Break在键盘快捷键中使用该键?

我知道我可以回答Pause/Break关键,例如

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_PAUSE then
    ShowMessage('VK_PAUSE pressed');
end;
Run Code Online (Sandbox Code Playgroud)

但是,我无法Pause/Break使用TShortCut属性响应键,例如在菜单项和操作列表中.对象检查器允许我输入Pause,Shift+ Pause,Ctrl+ Pause,Alt+ Pause,Ctrl+ Shift+ Pause等,以便清楚地识别Pause密钥.但是当我运行应用程序时,不会在指定的快捷方式上触发菜单项/操作.有一个已知的解决方法吗?

delphi winapi keyboard-shortcuts

4
推荐指数
1
解决办法
1198
查看次数

RAD Studio 2009 Ctrl + Z缓冲区损坏错误

现在这个本周发生在我身上两次了:当我在RAD Studio 2009中多次按下Ctrl + Z时,编辑器缓冲区被破坏了.当前和附近的行充满了无意义的数据,有时会创建一个断点(autobugically).EAccessViolationIDE中有一个,然后终止.所有未保存的代码都不可避免地丢失了.

http://privat.rejbrand.se/RADCtrlZ.png(High-Res
)

有治疗方法吗?

delphi corruption delphi-2009 data-loss

4
推荐指数
1
解决办法
431
查看次数

使用delphi将PNGImage转换为灰度

嗨,这里是我的代码:

procedure TForm4.Button1Click(Sender: TObject);
var
  png: TPNGImage;
  data: PRGBQarray;
  p: ^tagRGBQuad;
  i, o: integer;
begin
  png := TPNGImage.Create;
  try
    png.LoadFromFile('C:\Untitled.png');
    for o := 1 to 100 do
    begin
      data:=png.Scanline[o];
      for I := 1 to 400 do
      begin
        p := @data^[i];
        p.rgbGreen := p.rgbBlue;
        p.rgbRed := p.rgbGreen;
      end;
    end;
    img.picture.Assign(png);
  finally
    png.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

它不起作用,它使pic杂乱,我确定这是因为rgbReserved.我该怎么办?

delphi image bitmap grayscale scanline

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

Delphi文件下载程序组件

我需要Delphi的文件下载程序组件.你能帮帮我吗?

delphi download

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

如何从字符串中删除字符,直到第一个字符是一个字母?

我有一个使用字符串(Pascal)的程序.如果第一个字符不是字母,那么在读取字符串后,我需要删除所有第一个字符,直到第一个字符为一个字母.我曾尝试多次写它,但总是删除所有字符串或没有.

如果程序读取"123%^&abc",则结果应为"abc".在ASCII表格中,字母为65..90和97..122

这是我有多远:

variables    a: set of 65..90;
             b: set of 97..122;
-------------------
  bool:=false;
  While (bool=false) do
  begin
    Writeln(s[1]);
    If (Ord(s[1]) in a) or (Ord(s[1]) in b) then
    begin
    bool:=true;
    end else
    delete(s,1,1);
  end;
Run Code Online (Sandbox Code Playgroud)

我不明白为什么它不起作用?你能用这个小程序帮我吗?谢谢.

delphi string pascal

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