小编And*_*and的帖子

德尔福的"免费"做什么?

我在这里找到了以下代码片段:

with TClipper.Create do
  try
    AddPolygon(subject, ptSubject);
    AddPolygon(clip, ptClip);
    Execute(ctIntersection, solution);
  finally
    free;
  end
Run Code Online (Sandbox Code Playgroud)

只是很好奇,free声明/功能(在finally和之间end)做了什么?谷歌没有帮助.

delphi pascal

4
推荐指数
3
解决办法
1827
查看次数

作为键盘快捷键暂停/中断(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
查看次数

替换CD delphi 2005企业在哪里可以找到?

我的公司丢失了用于delphi的CD,现在我们正在尝试搜索我们确实拥有我们的CD密钥的副本而不是实际的CD有没有人有副本或知道我可以在哪里购买?

delphi delphi-2005

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

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)?

这是我使用SendMessage函数填充TextBox的代码:

  C := 'Hey there';
  SendMessage(h1, WM_SETTEXT, 1, Integer(PChar(C)));
Run Code Online (Sandbox Code Playgroud)

现在,如何将光标移动到文本的末尾?

delphi focus cursor sendmessage

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

使用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
查看次数

什么是rgbReserved?

您好我想知道这是什么rgbReservedRGBQuadArray,当我改变为什么RGB颜色有该图像上显示一些丑陋的线条?它与rgbReserved?有关吗?

windows delphi winapi bitmap

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

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

保存和恢复事件处理程序

我的班级包含数据集 (TDataSet)。我班的用户可以为此数据集分配事件处理程序:

ds.FieldByName('ID').OnChange := @ID_OnChange;
Run Code Online (Sandbox Code Playgroud)

然后我必须重新打开数据集:

ds.Close;
ds.Open;
Run Code Online (Sandbox Code Playgroud)

在此之后,所有事件处理程序都消失了:

if Assigned(ds.FieldByName('ID').OnChange) //returns false
Run Code Online (Sandbox Code Playgroud)

所以,我需要保存处理程序并在重新打开后恢复它们。我使用 TStringList :

var
  EventHandlers: TStringList;
...
  //I do this for every event of every field
  if Assigned(ds.FieldByName('ID').OnChange) then
    EventHandlers.AddObject('ID', @ds.FieldByName('ID').OnChange);
Run Code Online (Sandbox Code Playgroud)

问题是如何恢复处理程序:

ds.FieldByName('ID').OnChange := TFieldNotifyEvent(ObjToInt(EventHandlers.Objects[0]));//Invalid typecast error
Run Code Online (Sandbox Code Playgroud)

如何将存储的地址分配给事件处理程序?谢谢。

delphi events delphi-6

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