从TList删除(0)是昂贵的,因为所有后续项目都需要向下移动.如果我需要从更大的列表的开头删除大量项目,那么最快的方法是什么?
如果我有一个TBitmap并且我想从这个位图获得一个裁剪图像,我可以"就地"执行裁剪操作吗?例如,如果我有一个800x600的位图,我怎么能减少(裁剪)它,使其包含600x400图像在中心,即得到的TBitmap是600x400,并包含由(100,100)和(? 700,500)在原始图像?
我是否需要通过另一个位图,或者可以在原始位图内完成此操作?
我已经在InnoSetup脚本的"其他任务"页面中添加了一个复选框
[Tasks]
Name: "StartMenuEntry" ; Description: "Start my app when Windows starts" ; GroupDescription: "Windows Startup"; MinVersion: 4,4;
Run Code Online (Sandbox Code Playgroud)
我希望在wpSelectTasks页面显示时初始化此复选框,并在Next单击按钮时读取值.我无法弄清楚如何访问复选框`checked'值.
function NextButtonClick(CurPageID: Integer): Boolean;
var
SelectTasksPage : TWizardPage ;
StartupCheckbox : TCheckbox ;
begin
Result := true ;
case CurPageID of
wpSelectTasks :
begin
SelectTasksPage := PageFromID (wpSelectTasks) ;
StartupCheckbox := TCheckbox (SelectTasksPage... { <== what goes here??? }
StartupCheckboxState := StartupCheckbox.Checked ;
end ;
end ;
end ;
Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中有一个快捷键组合(如Ctrl + Alt + D)来调用一个函数,但我不希望快捷方式出现在任何菜单上.您的应用程序中是否可以使用其他不可见的快捷方式?
我有结构:
{$ifopt FINITEFLOAT ON}
{$message 'FINITEFLOAT option ON' }
{$else }
{$message 'FINITEFLOAT option OFF' }
{$endif }
Run Code Online (Sandbox Code Playgroud)
在我的源码,它将无法编译!它必须是愚蠢的东西.错误是:
E1030编译器指令无效:'$ IFOPT'
在第一线,但它是抱怨的FINITEFLOAT.除了像R +等单字母指令作为IFOPT的参数之外,您似乎无法指定任何内容.
我在这里错过了什么吗?
我的应用程序完成初始化并创建了主窗体后,我想要执行的功能.我确实在表单OnShow事件中有代码(称为ProcedureX),但我刚刚注意到它被调用了两次,因为OnShow正在触发两次.它在主程序DPR调用时触发:
Application.CreateForm(TMainForm, MainForm) ;
Run Code Online (Sandbox Code Playgroud)
正如我所料.但在那之后,当我从包含表格屏幕位置的INI文件中读取内容时,我有一个电话:
MainForm.position := poScreenCenter ;
Run Code Online (Sandbox Code Playgroud)
这样,它会再次触发OnShow事件.
我在哪里可以调用ProcedureX,必须只调用一次,并且需要在执行之前创建主表单?
我有一个带有CHM帮助文件的Delphi 2006应用程序.一切正常,除了我无法获得任何帮助连接到TOpenDialog和TSaveDialog上的"帮助"按钮.
一个简单的程序演示如下所示.单击按钮2将打开帮助文件并显示正确的页面.单击按钮1将打开对话框,但单击对话框中的帮助按钮无效.
unit Unit22;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
HTMLHelpViewer ;
type
TForm22 = class(TForm)
OpenDialog1: TOpenDialog;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form22: TForm22;
implementation
{$R *.dfm}
procedure TForm22.Button1Click(Sender: TObject);
begin
OpenDialog1.HelpContext := 10410 ;
OpenDialog1.Execute ;
end;
procedure TForm22.Button2Click(Sender: TObject);
begin
Application.HelpContext (10410) ;
end;
procedure TForm22.FormCreate(Sender: TObject);
begin
Application.HelpFile := …Run Code Online (Sandbox Code Playgroud) 假设我有一个用于执行长版本的批处理文件,最后它创建了一个EXE.如果我在开始构建之前忘记关闭应用程序,则链接阶段会在无法重新创建EXE时失败.
我想检查EXE是否在构建开始时打开.我尝试将EXE文件重命名为自身,但是虽然这给出了拒绝访问错误,但重命名命令(作为内部命令)不会设置%ErrorLevel%.
检查将%ErrorLevel%设置为非零值的打开文件的非破坏性方法是什么?
我有一个Delphi 2006应用程序,它可以弹出一个模态对话框以响应错误情况.它似乎进入一种状态,其中一个模态对话框是打开的,位于主窗体的前面,但两种形式都没有响应消息.点击其中任何一个都会给出"bonk".应用程序运行正常,UI正在更新主窗体,但您无法执行任何操作.我想主要形式下很可能还有另一个模态对话框.无论是我的还是Windows的我都不知道.
其他要点:
我打开模态对话框
ModalDialog.PopupParent := MainForm ;
ModalDialog.ShowModal ;
Run Code Online (Sandbox Code Playgroud)如果其他模态对话框打开,我推迟这些错误对话框:
if (Application.ModalLevel = 0) then
{open modal dialog}
Run Code Online (Sandbox Code Playgroud)我的问题有两个部分:
有没有办法以编程方式找出哪个窗口有焦点?然后,我可以为这个场景或最后的手段采取一些操作,我可以提供一个快捷键将其置于前面或采取一些规避行动(取决于对话框),如将ModalResult设置为mrCancel.
这种情况怎么会出现?通常当我在主窗体后面得到一个模态对话框时(我可以通过打开模态对话框,从托盘图标中最小化应用程序,然后再次恢复应用程序) - 应用程序主窗体在对话框前面恢复,对话框仍然保持焦点),我可以通过单击托盘图标再次将它带到前面,或者用Esc键关闭它但在这种情况下它不起作用.
**更新**
Misha的解决方案与TSaveDialog之类的非delphi对话分开.通过Application.ModalPopupMode := pmAuto ;在调用之前添加,我能够让他们工作Execute.
通过"让它工作"我的意思是在以下序列之后保存对话框在前面:
而它没有主要形式ModalPopupMode := pmAuto.
所以我希望这些变化能够帮助解决这个问题(尚未产生).
I need to get a regular snapshot from a webcam in Delphi. Speed is not a problem (once a second is fine). I have tried demo code from based on stuff from http://delphi.pjh2.de but I can't get it to work. It compiles and runs OK but the callback function never fires.
I don't have a real webcam but am running instead a simulator. The simulator works (I can see the video using Skype) but not with the test app. I …
delphi ×8
delphi-2006 ×5
batch-file ×1
bitmap ×1
callback ×1
checkbox ×1
chm ×1
cmd ×1
crop ×1
errorlevel ×1
events ×1
forms ×1
inno-setup ×1
menu ×1
pascalscript ×1
rename ×1
shortcut ×1
show ×1
syntax-error ×1
taction ×1
tbitmap ×1
tlist ×1
tmenuitem ×1
vfw ×1
webcam ×1
windows ×1