关于delphi 数据库导入listview显示,如何控制显示的速度,想要一秒显示一行数据
贴上代码。大神们,我想用timer控制,但是调试不出来了。能给个详细的代码吗
unit ;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.ComCtrls,
Data.DB, Data.Win.ADODB;
type
TForm1 = class(TForm)
ListView1: TListView;
Label1: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
Panel1: TPanel;
CheckBox5: TCheckBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Memo1: TMemo;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
Button4: TButton;
Label2: TLabel;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Memo1Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
TempColumn:TListColumn;
TempItem:TListItem;
begin
begin
Timer1.Enabled:=false;
with adoquery1 do
begin
close;
ADOConnection1:=TADOConnection.Create(nil);
Adoconnection1.LoginPrompt:=false;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;Persist Security Info=False';
adoquery1.Connection := ADOConnection1;
SQL.Clear;
SQL.add('select * from 旺旺号');
Open;
end;
for i:=0 to adoquery1.FieldCount-1 do
begin
TempColumn:=self.ListView1.Columns.Add;
TempColumn.Caption:=adoquery1.Fields[i].FieldName;
end;
adoquery1.First;
while not adoquery1.Eof do
begin
TempItem:=self.ListView1.Items.Add;
TempItem.Caption:=adoquery1.Fields[0].AsString;
for i:=1 to adoquery1.FieldCount-1 do
begin
TempItem.SubItems.Add(adoquery1.Fields[i].AsString);
end;
adoquery1.Next;
end;
Timer1.Enabled:=false;
end;
end;
//显示在listview1
procedure TForm1.Button3Click(Sender: TObject); //保存
var
mylist:TstringList ;
n,i: integer;
str,tem:string;
begin
if listview1.Items.Count>0 then
begin
try
mylist:=TStringlist.Create;
for n := 0 to listview1.Items.Count - 1 do begin
str:='';
for i := 0 to listview1.Items.Item[n].SubItems.Count -1 do
begin
tem:=listview1.Items.Item[n].SubItems.Strings[i];
if (tem ='') then tem:='####';
if (str='') then str:=tem
else str:=str+'+' +tem;
end;
mylist.Add(str);
end;
showmessage(mylist.Text) ;
mylist.SaveToFile('d:\123.txt');
finally
Mylist.Free;
end;
end
else begin
application.MessageBox('没有数据可以导出!','提示信息',MB_OK+MB_Iconinformation);
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
listview1.Items.Clear;
end;
procedure TForm1.Memo1Change(Sender: TObject); //按钮真假
begin
if not(memo1.Lines.Text = '') then
begin
Button1.Enabled:=true;
end
else
begin
Button1.Enabled:=false;
end;
end;
end.