标签: delphi-xe7

如何从 URL 获取(提取)/设置参数?

我有这样的网址(例如):

https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=delphi+url+parameters+
Run Code Online (Sandbox Code Playgroud)

我需要按名称(“sourceid”、“ion”、...)获取/设置参数的值。我怎样才能做到这一点?Delphi 有 TIdURI 类,它有助于解析 URL 而不是参数,它将所有参数作为单个字符串(属性参数)返回。当然我可以创建自己的解析器,但它是如此基本的功能,应该有一些标准的方式(我希望)。我很惊讶 TIdURI 没有它。

delphi url delphi-xe7

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

Delphi部署和Android文件存储

如果我尝试将文件部署到部署assets\internal\assets.zipassets.zip,如下所示: 在此处输入图片说明

我尝试了各种路径来查看是否可以找到资产文件夹或我的 zip 文件。所有底层代码都不成功

  S1 := TPath.GetHomePath + PathDelim;
  S2 := FAppDataDirPathRoot + Application.Title + '.app' + PathDelim;
  S3 := TPath.GetLibraryPath + PathDelim;
  S4 := TPath.GetDocumentsPath + PathDelim;

  if (DirectoryExists(S1)) then // '/data/data/com.embarcadero.xxx/files/': yes:
    msAppNoOp
  ;
  if (DirectoryExists(S2)) then // ...: no, leftover test from iOS
    msAppNoOp
  ;
  if (DirectoryExists(S3)) then // '/data/app-lib/com.embarcadero.xxx-2/': yes
    msAppNoOp
  ;
  if (DirectoryExists(S4)) then // '/data/data/com.embarcadero.xxx/files/' yes
    msAppNoOp
  ;

  if (DirectoryExists(S1 + 'assets' + PathDelim)) then // no
    msAppNoOp
  ;
  if …
Run Code Online (Sandbox Code Playgroud)

delphi android delphi-xe7

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

在Firemonkey中切换到发布模式

我有一个Android Firemonkey应用程序,我想发布它.
但我无法切换到发布模式,程序在调试模式下运行.
我尝试了这些:
在项目选项(顶部工具栏)中更改配置.
使用Shift + Ctrl + F9代替F9.

delphi firemonkey delphi-xe7

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

如何在使用ShellExecute创建的电子邮件中包含换行符?

我可以使用ShellExecute成功发送电子邮件.收件人地址是正确的,发件人地址是正确的,主题是正确的.电子邮件的正文是正确的,除了根本没有换行符,所有内容都显示为单个段落,没有换行符.我的默认电子邮件客户端是Windows 8.1邮件.

我的问题是,可以使用ShellExecute以保留换行符吗?我不打算直接发送电子邮件给Indy.我需要做的就是向默认的电子邮件客户端发送电子邮件并正确格式化.

procedure TForm1.Email1Click(Sender: TObject);
var
  iGridTableItem: TcxCustomGridTableItem;
  iName, iDate, iEmail, iSubject, iBody, iParam: string;
begin
  iGridTableItem := cxGrid1DBTableView1.DataController.
    GetItemByFieldName('EMail');
  if iGridTableItem.EditValue <> null then
  iEmail := iGridTableItem.EditValue;
  iGridTableItem := cxGrid1DBTableView1.DataController.
    GetItemByFieldName('Name');
  if iGridTableItem.EditValue <> null then
  iName := iGridTableItem.EditValue;
  iGridTableItem := cxGrid1DBTableView1.DataController.
    GetItemByFieldName('Date');
  if iGridTableItem.EditValue <> null then
  iDate := DateToStr(iGridTableItem.EditValue);
  iSubject := 'ImageEn EBook';
  iBody := 'Dear Mr. ' + iName + ',' + sLineBreak + sLineBreak +
    'PayPal has advised me that you purchased …
Run Code Online (Sandbox Code Playgroud)

mailto delphi shellexecute delphi-xe7

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

Delphi XE7在editbox中使用decimal来划分

请帮忙:我的表单上有两个编辑框.我用来输入金额的第一个.我使用的第二个用于分配金额.问题是我尝试一个像5.5一样的小数,我继续得到错误:"'5.5'不是一个有效的整数值".

这是我使用的代码:

var igroei,ipen, iper : integer;
    rgroei, rper : real;

begin
   ipen := strtoint(edtpen.Text); //the amount enter like 35060
   iper := strtoint(edtper.Text); // The number use for the percentage like 5.5
   iper := iper div 100;
   rgroei := ipen + iper;
   pnlpm.Caption := floattostrF(rgroei,ffcurrency,8,2);
end;
Run Code Online (Sandbox Code Playgroud)

谢谢

delphi delphi-xe7

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

如何用 ReadLn 的缓冲流版本替换 Readln?

我从 xml 文件中读取 UTF8 内容,然后需要保存并按需重新加载。我正在从 AssignFile/Writeln/Readln 转换为 David Heffernan 的缓冲流:缓冲文件(用于更快的磁盘访问)

我有简单的新 WriteLn 和 ReadLn 过程,WriteLn 可以工作,但我不能让 ReadLn 工作。

我对 ReadLn 的概念是处理:

  1. 读取缓冲区
  2. 查找换行符
  3. 从 PrevPos 获取文本到 CurrPos-1
  4. 保存缓冲区的其余部分以添加到下一个读取缓冲区的第一行

新的 WriteLn 过程:

{ * New WriteLn * }
procedure TForm1.Button2Click(Sender: TObject);
var FileOut: TWriteCachedFileStream;
  vText: string;
  vUTF8Text: RawByteString;
begin
  FileOut := TWriteCachedFileStream.Create('c:\tmp\file.txt');
  try
    vText := 'Delphi';
    vUTF8Text := Utf8Encode(vText + sLineBreak);
    FileOut.WriteBuffer(PAnsichar(vUTF8Text)^, Length(vUTF8Text));
    vText := 'VB??';
    vUTF8Text := Utf8Encode(vText + sLineBreak);
    FileOut.WriteBuffer(PAnsichar(vUTF8Text)^, Length(vUTF8Text));
    vText := 'Java??';
    vUTF8Text := Utf8Encode(vText + …
Run Code Online (Sandbox Code Playgroud)

delphi filestream delphi-xe7

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

如何从TDateTimePicker读取日期和时间

我真的很困惑.我想做的事情(看起来很简单)是在TDateTimePicker中显示日期+时间,并集成日历,并且能够在其值发生变化后读取它.

我想使用dd/MM/yyyy hh:mm格式.

由于TDateTimePicker不是TDateOrTimePicker,因此使用的是:

  • 种类:dtkDate(显示日历)
  • 格式:'dd/MM/yyyy hh:mm'

看起来很好,现在让我们读一读:

showmessage(DateTimeToStr(DateTimePicker1.Date)); 
Run Code Online (Sandbox Code Playgroud)

仅正确显示日期.不考虑hh:mm部分的变化.我总是得到默认值.然后我想:还有一个Time属性,也许我需要读取2次的值.

 showmessage(DateTimeToStr(DateTimePicker1.Time));
 showmessage(DateTimeToStr(DateTimePicker1.Date));
Run Code Online (Sandbox Code Playgroud)

但我有与以前完全相同的输出(和问题).所以现在,让我们尝试将此Kind属性更改为dtkTime,然后读取时间,然后将其切换回dtkDate,然后读取日期.

但不,它仍然无效.将Kind属性从dtkDate切换到dtkTime会删除hh:mm部分的输入.


我知道我实际上应该使用2个TDateTimePickers:一个用于日期,一个用于时间.

所以我的问题是:

  • 有没有一种简单的方法来解决我的简单和非常常见的问题(一个真正的DateTimePicker)?

还有一个Delphi设计问题:

  • 为什么Format属性基本上没用且误导?拥有TimeFormat,DateFormat和正确的格式验证过程并不难.

请注意,我发布这个问题主要是为了避免初学者做同样的调试和挫折的过程.

delphi datetime datetimepicker datetime-format delphi-xe7

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

如何显示/隐藏非可视组件名称?

Delphi XE7是否有显示/隐藏非可视组件名称的选项?

我不想完全隐藏非可视组件,但我想隐藏带有它们名称的标签。它是Delphi 2007设计器中非可视组件的默认外观:

在此处输入图片说明

ide delphi delphi-xe7

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

将 Char 参数作为“const”传递有什么好处吗?

读过传递参数const允许编译器优化结构化和字符串类型的代码。

Char参数声明为 有const什么好处吗?

procedure Test(const AMyChar : Char);
Run Code Online (Sandbox Code Playgroud)

代替

procedure Test(AMyChar : Char);
Run Code Online (Sandbox Code Playgroud)

如果是这样,它是否与unicode 迁移有关

delphi parameters parameter-passing delphi-xe7

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

如何获取系统颜色的 RGB 值?

我一直使用GetRValue,GetGValueGetBValue函数(来自Winapi.Windows单元)来提取TColor.

不幸的是,同样的方法似乎不适用于系统颜色,例如clWindowclBtnFace等等。

例如:

var
  MyColor : TColor;
begin
  MyColor := clBtnFace;

  ShowMessage(
    'R = ' + IntToStr(GetRValue(MyColor)) + sLineBreak +
    'G = ' + IntToStr(GetGValue(MyColor)) + sLineBreak +
    'B = ' + IntToStr(GetBValue(MyColor))
  );
end;
Run Code Online (Sandbox Code Playgroud)

它产生以下输出:

R = 15

G = 0

乙 = 0

应该是这样的:

颜色RGB(15,0,0)图片

在我的系统上,我看到的是以下颜色:

在我的系统上呈现的颜色 clBtnFace 的图片

delphi colors systemcolors delphi-xe7

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