标签: delphi-xe5

为什么没有保存ini文件?

我想保存unicode字符串.有我所拥有的:

Uses IniFiles;
const
SZ_APP_NAME;

Procedure TForm1.SaveSettings;
var
  _MemIniU: TMemIniFile;
  SettingsPath: string;
begin
  SettingsPath := GetHomePath + PathDelim + SZ_APP_NAME + PathDelim;
  _MemIniU := TMemIniFile.Create(ChangeFileExt(SettingsPath, 'Settings.ini'),
    TEncoding.UTF8);
  try
    if Form1.WindowState <> TWindowState.wsMaximized then
    begin
      _MemIniU.WriteInteger(SZ_APP_NAME, 'WindowLeft', Form1.Left);
      _MemIniU.WriteInteger(SZ_APP_NAME, 'WindowTop', Form1.Top);
      _MemIniU.WriteInteger(SZ_APP_NAME, 'WindowWidth', Form1.Width);
      _MemIniU.WriteInteger(SZ_APP_NAME, 'WindowHeight', Form1.Height);
      _MemIniU.WriteString(SZ_APP_NAME, 'UnicodeText', Edit1.Text);
    end;
  finally
    _MemIniU.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

但是没有创建ini文件.我做错了什么?RAD Studio XE5.

delphi unicode settings ini delphi-xe5

0
推荐指数
1
解决办法
1506
查看次数

如何使线程睡眠/阻止纳秒

如何阻止线程纳秒或微秒?该Sleep()功能是不可能的,因为它接受毫秒,这显然不是我需要的.

delphi delphi-xe5

0
推荐指数
2
解决办法
790
查看次数

使用Ln或Exp函数时除以零

在我的代码中,我有时会得到零除.调试器始终指向包含Ln或Exp函数的行.

使用Ln功能.正如您所看到的,本节中根本没有任何区分.vsn代表非常小的数字,等于1.0e-100.

 if a3 [row] <= 0 then a := vsn else
 if a3 [row] >= 1 then a := 1 - vsn
                  else a := a3 [row];
 costTerm := costTerm -1 * y [row] * Ln (a) -
                  (1 - 1 * y [row]) * Ln (1 - a);
Run Code Online (Sandbox Code Playgroud)

使用Exp函数:这里存在一个除法,但是没有看到它如何产生零除错误.

function TBack_Prop.g (value: double): double;
begin
   Result := 1 / (1 + exp (-value));
end; // g //
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

delphi math delphi-xe5

0
推荐指数
1
解决办法
555
查看次数

在 Delphi 中通过 TADOCommand 插入数据

我有一个包含四个字段的表,其中一个字段是主键。当我运行以下命令时:

var
  iAffectedRows: integer;
begin
  ADOCommand1.CommandText := 'insert into table_1(Field_1, Field_2, Field_3)   values(:A_Field_1, :A_Field_2, :A_Field_3)';      

  ADOCommand1.Parameters.FindParam('A_Field_1').Value := '100';
  ADOCommand1.Parameters.FindParam('A_Field_2').Value := '200';
  ADOCommand1.Parameters.FindParam('A_Field_3').Value := '300';

  ADOCommand1.Execute(iAffectedRows);
end;
Run Code Online (Sandbox Code Playgroud)

结果是:

在此处输入图片说明

所述Field_1值是0。

(这个结果是由于运行命令:ADOCommand1.Execute(iAffectedRows)

但是有了这个命令,一切都是正确的:ADOCommand1.Execute()

这个问题有解决方案吗?

delphi ado delphi-xe5

0
推荐指数
1
解决办法
1616
查看次数

如何将 TDateTime 转换为 FILETIME?

标题说明了一切。互联网上充满了如何转换FILETIMETDateTime而不是相反的示例。

delphi delphi-xe5

0
推荐指数
1
解决办法
1975
查看次数

从Delphi通过命令行启动应用程序后关闭CMD窗口

我正在尝试执行以下操作.它工作但cmd窗口等待acrobat.exe在退出之前完成执行.我必须使用这种启动方法,因为我打算将来传递某些命令行参数.

cmdLineString := Format('/c ""%s" "%s""',['C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Acrobat.exe', 'F:\Android-interview\Packt.Android.3.0.Application.Development.Cookbook.Jul.2011.ISBN.1849512949.pdf']);
ShellExecute(Handle, 'open', 'cmd.exe', PChar(CmdLineString), nil, SW_SHOWNORMAL);
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe5

0
推荐指数
1
解决办法
479
查看次数

在TEdit - Firemonkey Mobile应用程序中显示sqlite查询结果?

我有一个sqlite数据库,我想执行一个选择查询并在TEdit中显示结果.我该怎么做?

 query := 'SELECT username FROM users';  //The query returns only one row
 FDQuery1.ExecSQL;
 FDQuery1.Open();
 Edit1.Text := ??
Run Code Online (Sandbox Code Playgroud)

delphi sqlite firemonkey firedac delphi-xe5

-1
推荐指数
1
解决办法
1860
查看次数

如何在delphi xe5中将字节转换为JByte?

有 jstringtostring 或 stringtojstring。如何将字节转换为 JByte(或其他变量类型)?

....
var x:jbyte;
begin
 x:=bytetojbyte(65);
....
end;
Run Code Online (Sandbox Code Playgroud)

谢谢。

delphi type-conversion delphi-xe5

-1
推荐指数
1
解决办法
1227
查看次数

Delphi XE5 - 启动时的组件初始化

我想在我的应用程序的启动时设置我RadioButton的一些和我的s或者是Checkbox真的还是假的...但是当我执行它时OnShow,OnActivate或者OnCreate事件处理程序我得到异常,甚至整个表单都没有绘制(缺少形式上的许多控制).

你有什么好的做法吗?

delphi delphi-xe5

-1
推荐指数
1
解决办法
412
查看次数

Delphi"Not"运算符返回错误

此代码用于解析编辑器是否应该是只读的.

Code Snippit

var
TempBool : Boolean;
begin
      TempBool := (fCurrentSelectedItem as TMyCustomObject).CanEdit; //Check whether this object can be edited; TempBool resolves to True
      TempBool := not(TempBool); // Toggle the Boolean value; !!-- TempBool still resolves to True
      curredtEach.properties.ReadOnly := TempBool; // Set the read only property on the editor
end;
Run Code Online (Sandbox Code Playgroud)

TempBool解析为整数,如下所示

      // Integer(TempBool) = 0
      TempBool := (fCurrentSelectedItem as TMyCustomObject).CanEdit; 
      // Integer(TempBool) = -1
      TempBool := not(TempBool); 
      // Integer(TempBool) = -2     
Run Code Online (Sandbox Code Playgroud)

找到这个链接, 但没有帮助.

Delphi版 - XE5

操作系统 - …

delphi delphi-xe5

-2
推荐指数
1
解决办法
640
查看次数

将单元用于标准Windows应用程序和firemonkey移动应用程序

我正在将Delphi Xe5用于Windows和Firemonkey移动应用程序.

我在我的项目组中有两个不同项目的单元.(Windows应用程序和Firemonkey移动应用程序)

1.)如何确定Delphi Xe5的版本?或者,版本是什么?

2.)有没有办法确定Win 32应用程序之间.赢得64应用程序和Firemonkey移动应用程序

3.)在代码中,如何根据应用程序的类型告诉编译器使用哪个版本的Dialogs.那就是VCL.Dialogs(Windows App)与FMX.Dialogs(Firemonkey移动应用程序)

谢谢

delphi vcl firemonkey delphi-xe5

-3
推荐指数
1
解决办法
990
查看次数

使用Indy的IDTCPClient从响应流中获取XML

这个问题与以下方面有直接关系:

使用Indy的IDTCPClient从响应流中获取HTML

我只需要一个版本的get函数来检索XML

function TMyConnector.GETXML(aRawHeader: String): String;
Run Code Online (Sandbox Code Playgroud)

使用idHTTP组件,我可以执行以下操作

HTTP.Request.ContentType := 'text/xml';
Run Code Online (Sandbox Code Playgroud)

我所追求的文件的标题如下所示:

<?xml version="1.0" encoding="utf-8" ?>
Run Code Online (Sandbox Code Playgroud)

如何使用IDTCPClient组件执行此操作?

xml delphi indy delphi-xe5

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

Delphi XE5 - 等待TForm.OnCreate()完成组件的填充

我想检查Form1.OnCreate事件处理程序过程,如果Form1构造函数Create完成作业,填充Form1上的所有组件.然后想使用Form1循环遍历组件并更改Text属性.我试过了:

WHILE NOT Assigned(Form1) DO 
  Sleep(100); 
Run Code Online (Sandbox Code Playgroud)

......但它没有用.

现在,当我尝试使用Form1时,出现访问冲突错误.

delphi firemonkey firemonkey-fm3 delphi-xe5

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