我使用inifile存储值,我用它来替换文件中的其他值,例如A,BA = B,但是如果我在值B之前有一个空格,那么当读取EG A = B时仍然读取因为只是'B'而不是'B',有没有人知道如何解决这个问题,我使用的是Delphi 7,所以我不能使用StrictDelimiter选项.
procedure ReadIntoVList(const aSection:string;AValueList:TValueListEditor);
var
IniFile:TIniFile;
SL: TStringList;
i: Integer;
begin
SL := TStringList.Create;
IniFile := TIniFile.Create(ChangeFileExt(Application.Exename, '.ini'));
try
IniFile.ReadSectionValues(ASection, SL);
AvalueList.Strings.AddStrings(SL);
finally
StampIniFile.Free;
SL.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
谢谢
科林
我有一个Dynamc数组记录,我希望通过引用将数组中的一个项目传递给函数
例如,其中一个数组项--Arrray [1] .arecorditem是一个由6个字符组成的字符串String [6]
功能将是 -
function dosomething(var AStringVal:string):Integer;
Run Code Online (Sandbox Code Playgroud)
所以我会执行
Aresult:= dosomething(AArray[1].arecorditem);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试编译时,我得到实际和正式var参数的错误类型必须相同.
这是可能的,还是应该将数组项分配给字符串,然后将字符串传递给函数.
谢谢
科林
我想弄清楚如何检测驱动器是否是大容量存储设备。我可以获得驱动器号,但无法弄清楚如何检测它是哪种设备。我正在尝试检测 Garmin GPS 接收器是否以大容量存储模式连接到 PC。
我已经在DLL中嵌入了一个表单,可以调用DLL并显示表单并将DLL中的各种函数返回给主应用程序,但是我无法弄清楚如何让DLL在主应用程序表单中触发事件.
例如,在主应用程序中,我有一个数据集,我想在DLL中的表单上有一个按钮,以转到数据集中的某个记录,但无法看到这是如何完成的.
任何人都可以给我一个例子,或者给我一些关于如何做到这一点的指示?
是否有可能在记录中有一个字符串列表?例如
TImportStats = record
ATotal:Integer;
BTotal:String;
AList:TStringist;
end;
Run Code Online (Sandbox Code Playgroud)
如果我认为我需要在使用记录之前创建它?
嗨,有没有人知道是否可以将图片显示为字符串网格的背景,或者是否有人知道任何可以执行此操作的免费网格组件.
谢谢
科林
有人可以知道/给我一个如何从ini文件中读取一个部分到stringGrid的例子吗?因为我正在努力弄清楚如何去做.
谢谢
科林
嗨,任何人都可以推荐一个免费的组件,我可以用来将dbase III表加载到Delphi中,最好不使用BDE.
有点像TTable,但对于Dbase
谢谢
科林
我有各种各样的字符串,我需要使用它们,它们包含字母和数字,我试图从字符串中提取数字(这是我需要的部分),字符串将具有类似的格式 -
这只猫可以算123 537
数字的长度和位置可以从12 34 123 456 1234 5678 11111 11111变化
数字分隔符也可以是空格问号,也可以是短划线12-34 12.34所以字符串可以是EG"猫不能算,狗可以12-67"或"猫可以算1234.5678所以可以狗"德尔福有什么聪明的方法可以提取数字吗?或者我必须通过扫描代码中的字符串来完成它.
任何帮助,将不胜感激
谢谢
科林
我使用2个listviews并将项目从一个复制到另一个(使用下面的代码)但是当触发目标Listview的onInsert事件时,传递的Item值总是nil而不是新移动的列表项,有人可以指出我做错了什么?
Source.Items.BeginUpdate;
Destination.Items.BeginUpdate;
for i := Source.Items.Count - 1 downto 0 do
if Source.Items[i].Selected then
begin
Destination.Items.Add.Assign(source.Items[i]);
Source.Items[i].Delete;
end;
Source.Items.EndUpdate;
Destination.Items.EndUpdate;
Run Code Online (Sandbox Code Playgroud)
谢谢
科林