小编Fer*_*ero的帖子

使用const的Delphi ShortInt帮助器ToString

我在一个单独的单元中有一些常量,如果type为ShortInt(<128),我不能对这些常量执行.ToString.

示例:创建单位并添加:

const abc = 127;
Run Code Online (Sandbox Code Playgroud)

创建一个TForm并在FormShow中执行:

Edit1.Text := abc.tostring;
Run Code Online (Sandbox Code Playgroud)

你知道为什么它不起作用吗? 输入所需的记录,对象或类.

如果常量在同一个单元中,它可以工作.

delphi const helper

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

Firebird外部表

我试图找到一种方法快速将大量数据加载到数据库中,一个建议使用Firebird外部表,我想了解更多有关此方法,我尝试在线搜索但我没有得到有关的信息这个,我想知道它们是如何工作的?表格必须完全相同吗?如果从多个数据库加载数据怎么办?

sql delphi firebird data-import

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

如何在TListView中检测CheckBox上的单击

所以基本上当用户点击复选框时,我想在我的列表中添加该项,我尝试使用OnChange事件,但这对我不起作用,因为即使没有点击Checkbox也会被触发.

我的代码简单明了

procedure LvUserChange(Sender: TObject; Item: TListItem;Change: TItemChange);
 var
 objUser : TUsers;
begin
   if not assigned(objListOfChangedUsers) then
   objListOfChangedUsers := TObjectList.Create;

   objUser := Item.Data;
   objListOfChangedUsers.Add(objUser);
end;
Run Code Online (Sandbox Code Playgroud)

我希望只有在ListView中单击复选框时才会触发此代码

delphi delphi-2007 tlistview

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

带有复选框项目的组合框

请指教,我对Delphi还很陌生。我想要一个带有复选框项目的组合框,我可以使用或做什么?我正在使用Delphi 2009。

delphi delphi-2009

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

比较时间值

我想要一个比较时间的方法,例如,如果Atime比Btime更早出现,我会使用CompareTime函数,但我对这个函数的问题是"Bold Brackets"中所说的(见下文)

调用CompareTime来比较A和B指定的两个TDateTime值.CompareTime返回:LessThanValue如果A发生在当天早于B(即使A发生在比B 更晚的一天).如果A在当天晚些时候发生在B之外,则为GreaterThanValue (即使A发生在比B更早的日子).

delphi delphi-2009

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

读取 Excel 表格中的特定列

我有一个 Excel 电子表格,但现在我的问题是我希望能够只读取特定的列,电子表格中的列超过 20,我只需要读取 3 列。

procedure TForm1.sh1(SheetIndex: integer);
Var
  Xlapp1,Xlrange, Sheet:Variant ;
  MaxRow, MaxCol,X, Y:integer ;
  str:string;
  arrData:Variant;
begin
 try
  Str:=trim(form1.OpenDialog1.FileName);

  XLApp1 := createoleobject('excel.application');
  XLApp1.Workbooks.open(Str) ;

  Sheet := XLApp1.WorkSheets[SheetIndex] ;

  MaxRow := Sheet.Usedrange.EntireRow.count ;
  MaxCol := sheet.Usedrange.EntireColumn.count;

  arrData:= Sheet.UsedRange.Value;

  stringgrid1.RowCount:=maxRow+1;
  StringGrid1.ColCount:=maxCol+1;

  for x := 1 to maxCol do
    for y := 1 to maxRow do
     stringgrid1.Cells[x,y]:=arrData[y, x];

  XLApp1.Workbooks.close;
 Except
  on E : Exception do begin
  XLApp1.Workbooks.close;
   ShowMessage(E.Message);
  end;
 end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi excel delphi-xe3

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