Delphi TClientDataSet.Locate不处理重音符号
正如我在标题中所写,我对组件Delphi TClientDataSet.Locate不处理重音符号,delphi,firemonkey,delphi-10.2-tokyo,Delphi,Firemonkey,Delphi 10.2 Tokyo,正如我在标题中所写,我对组件TClientDataSet有一个问题,特别是它的方法。如果搜索的字符串中有重音符号,则返回的值始终为false,并且没有处理字符串中重音符号的选项。有人找到解决这个问题的方法吗 谢谢 ---编辑------------------------------------------------------------------------------------------------------------------------- // in a method C
TClientDataSet
有一个问题,特别是它的方法。如果搜索的字符串中有重音符号,则返回的值始终为false,并且没有处理字符串中重音符号的选项。有人找到解决这个问题的方法吗
谢谢
---编辑-------------------------------------------------------------------------------------------------------------------------
// in a method
ClientDataSetTournee.open;
// in an other method that I call after in a separate thread
// libtor equals 'ANTONY_CLSH TOURNÉE 1 (VACANCES)'
if ClientDataSetTournee.Locate('LIBTOR', libtor, []) then
begin
// data found
end
else
begin
myShowMessage('Erreur', 'Erreur interne : tournée introuvable' );
exit;
end;
clientdatasetournee
由于从服务器获取数据的ProviderName
而被填充,当libtor具有此值时,会显示错误消息。这工作正常
项目129
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
Datasnap.DBClient,
Data.DB;
procedure DoTest;
var
dataSet: TClientDataSet;
varFieldDef: TFieldDef;
begin
dataSet := TClientDataSet.Create(nil);
try
with dataSet.FieldDefs.AddFieldDef do
begin
Name := 'Name';
DataType := ftString;
end;
dataSet.CreateDataSet;
dataSet.Append;
dataSet.FieldByName('Name').AsString := 'TOURNÉE 1 (VACANCES)';
dataSet.Post;
if dataSet.Locate('Name', 'TOURNÉE 1 (VACANCES)', []) then
WriteLn('Found')
else
WriteLn('Not found');
ReadLn;
finally
dataSet.Free;
end;
end;
begin
DoTest;
end.
应用程序的输出是“找到的”好吧,MIDAS是个问题。我会把它处理掉的。它应该被弃用。永远。如果您有FireDAC并且有机会迁移,请这样做。或者到另一个现代客户端库。这是我能说的最好的了。@Victoria不是TClientDataSet在Delphi版本的基础上变成了纯pascal吗?通过将midaslib添加到使用列表中找到了答案,不需要dll@RM.,太好了,它将预编译的MIDAS库对象静态链接到二进制文件中。然而,它改变了什么?即使是发布(如开源)源代码也不会让MIDAS变得多么现代。无论如何,迈达斯都需要被烧死。EMBT购买AnyDAC(成为FireDAC)是有原因的。@RM:它仍然在Midas代码中链接,而Midas代码不是用Delphi编写的(它是C++)。仅仅因为它们提供了对象(.obj)文件,当您添加MidasLib时,这些文件会被链接进来,但这并不能神奇地将所有代码转换为Delphi代码。查看您的BDS文件夹,在
source\data\dsnap\midas
中查看一些源文件和头文件。我编辑了我的文章。我试过你的代码,它是有效的,所以我不明白为什么我的代码不起作用。不同之处在于我不使用代码创建和填充数据集。。。