我在我的Delphi应用程序中有一个类,我想要一种简单而动态的方法将所有字符串属性重置为'',并将所有布尔属性重置为False就我在网上看到的那样,应该可以创建一个循环某种形式,但如何做到这一点对我来说并不清楚.
我想在Outlook中创建一个带附件的邮件并在发送之前显示它,但我想我已经尝试了几乎我在网上找到的所有样本而没有任何运气.我可以使用Indy,但我非常希望使用Outlook来确保邮件是正确的,因为它是供业务使用的.
函数的任何输入,将地址,主题,消息和附件作为参数,然后在发送之前在Outlook中显示消息.
在Delphi类中,我有一些属性,我想通过名称访问它们来设置它们.现在我使用egSettings.AllowSysop := True;
我想做点什么 Settings('AllowSysop').Value := True;
这样做的原因是,当设置我的用户可以访问的内容时,从许可文件中读取这些文件,其中从文件读取的行(它类似于INI加密)可能看起来像
AllowSysop = True
Run Code Online (Sandbox Code Playgroud)
我知道这是一些必须要制作的RTTI外观代码,但我无法弄明白.
如果可能的话,我认为这对我来说会更容易一些.
希望解释是有道理的
我需要使用特定模板从Delphi创建Word文档,将文档保存为具有给定名称的Word文档,然后使用相同的名称保存相同的文档,但保存为PDF文件.(在Word 2007中,可以使用SaveAsPdf ...插件完成.在Word 2010中,它是内置功能)
如何使用Delphi XE完成这项工作?
我在我的Delphi应用程序中有一个DevExpress VCL功能区有时候应用程序正在进行一些更新,在那段时间我需要确保用户没有做任何事情,所以我希望能够禁用所有控件功能区,但我不能让每个选项卡上的控件计数工作
无论我怎么做,ComponentCount都返回0但我可以看到控件.我的testcode看起来像这样:
procedure TfrmMain.RibbonDisable(var aMessage: TMessage);
var
i: integer;
begin
try
for i := 0 to ribMain.TabCount - 1 do
begin
ribMain.Tabs.Items[i].Active := True;
ShowMessage(IntToStr(ribMain.ActiveTab.ComponentCount));
end;
except
on E:exception do
Logfile.Error('frmMain.RibbonDisable: ' + E.Message);
end;
end;
Run Code Online (Sandbox Code Playgroud) 使用下面的代码我尝试在注册表的HKEY_LOCAL_MACHINE部分设置一个值,但是我收到错误'无法为.....设置数据'如果我使用HKEY_CURRENT_USER没有问题.
我可能会在这里失踪什么.
(代码不完整,但我认为这是它的重要部分)
type
TTypWinBits = (Bit32, Bit64);
function WinBits: TTypWinBits;
type
TIsWow64Process = function(Handle:THandle; var IsWow64 : BOOL) : BOOL; stdcall;
var
hKernel32 : Integer;
IsWow64Process : TIsWow64Process;
IsWow64 : BOOL;
begin
Result := Bit32;
hKernel32 := LoadLibrary('kernel32.dll');
if (hKernel32 = 0) then RaiseLastOSError;
@IsWow64Process := GetProcAddress(hkernel32, 'IsWow64Process');
if Assigned(IsWow64Process) then
begin
IsWow64 := False;
if (IsWow64Process(GetCurrentProcess, IsWow64)) then
Result := Bit64
else
RaiseLastOSError;
end;
FreeLibrary(hKernel32);
end;
function TFastRegistry.CreateConnection: TRegistry;
begin
Result := TRegistry.Create;
try
case WinBits of
Bit32: …Run Code Online (Sandbox Code Playgroud) 我需要能够从Delphi中打开和编辑Word模板(使用Word)我可以打开模板,但Word假定它是文档而不是模板.
问题是我需要编辑模板而不是将其用作新文档的模板.我使用模板作为文档处理系统的一部分,我希望用户能够从我的应用程序编辑模板.因为现在他们必须打开Word,然后从那里打开模板并进行编辑 - 从我的应用程序中执行它将更容易,更安全.
实验代码
fWordApp: WordApplication;
TempName: OleVariant;
WordDoc: WordDocument;
TemplateFile: string;
begin
TemplateFile := Settings.Directories.RootInsert(qryTemplates.FieldByName('fldtemplate_path').AsString);
if TemplateFile <> '' then
begin
if not Assigned(fWordApp) then
begin
fWordApp := CreateOleObject('Word.Application') as WordApplication;
while fWordApp.Templates.Count = 0 do
Sleep(200); // Normal.dot must be loaded
end;
if Assigned(fWordApp) then
fWordApp.Visible := True
else
raise Exception.Create('Cannot initialize Word application');
TempName := TemplateFile;
WordDoc := fWordApp.Documents.Add(TempName, EmptyParam, wdFormatTemplate, EmptyParam);
Run Code Online (Sandbox Code Playgroud) 我有以下查询,在 MS Access、MySQL 和 SQL Server 中运行良好,但当我尝试在 SQLite 中使用它时,出现错误:
靠近“(”:语法错误:
我在 SQLite 的任何文档中都找不到 Left 命令,所以我猜它不在那里,但我怎样才能让它工作呢。
SELECT
Left(fldcall, 3) AS Group1,
Mid(fldcall, 4, 1) AS Group2,
tblcalls.*,
tblzip.fldcity
FROM
tblcalls
LEFT JOIN
tblzip ON tblcalls.fldzipcode = tblzip.fldzipcode;
Run Code Online (Sandbox Code Playgroud) 我有以下代码,可以在我的标签页上的给定选项卡上循环所有组件.我已经尝试过在网上找到的相同代码的许多变体,但我根本无法让它工作.首先,我检查它是否是正确的选项卡 - 这是有效的.然后我检查看有多少组件 - 这不起作用.即使我现在有2个面板共有9个复选框,它也会显示0个组件.
procedure TfrmHsUsers.pagUsersClick(Sender: TObject);
var
i: integer;
Fieldname: string;
begin
if pagUsers.Properties.ActivePage.Name = 'tabProgram' then
begin
ShowMessage(IntToStr(pagUsers.Properties.ActivePage.ComponentCount));
for i := 0 to pagUsers.Properties.ActivePage.ComponentCount - 1 do
if (pagUsers.Properties.ActivePage.Components[i]) is TcxDbCheckBox then
begin
Fieldname := TcxDbCheckBox(pagUsers.Properties.ActivePage.Components[i]).DataBinding.DataField;
TcxDbCheckBox(pagUsers.Properties.ActivePage.Components[i]).Enabled := Settings.License.IsEnabled(Fieldname);
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
我的代码中可能有什么问题的任何提示?
从我的Delphi程序中,我希望能够从OutLook中的某个文件夹中检索所有邮件,并将它们保存为文件.我需要检索发件人,主题,日期和消息iD,以便将信息保存在表格中(如果可能的话,更多部分)我希望将每封邮件保存在一个文件中,以便我以后可以访问它们.
delphi ×9
ms-word ×2
outlook ×2
properties ×2
rtti ×2
templates ×2
32bit-64bit ×1
automation ×1
class ×1
components ×1
count ×1
delphi-xe ×1
devexpress ×1
edit ×1
export ×1
mailing ×1
message ×1
registry ×1
ribbon ×1
sql ×1
sqlite ×1
ttabsheet ×1