⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delphi学习心得.txt

📁 是一部详细介绍了DELPHI的经典著作
💻 TXT
字号:
(一) 从数据库中向listbox控件添加数据
  procedure tdelprm.listallbooks;
  //定义一个添加到listbox的函数
  var a:tquery;
  begin
    q:=tquery.create(nil);
    q.databasename:=dbname;
    q.sql.add('select * from book_info');
    q.open;
    listview1.items.clear;
    while not q.eof do
       begin
       caption:=q.fieldbyname('bookid').asstring;
       subitems.add(q.fieldbyname('bookname').asstring);
       subitems.add(q.fieldbyname('author').asstring);
       subitems.add(q.fieldbyname('publish').asstring);
    end;
  q.next;
  end;
  q.close;
  q.free;
end;//delphi自带的结束行

(二) 把数据库中相应的列名输入到combobox控件
可以在窗体的onshow事件中输入
table1.databasename:=dbname;
table1.tablename:='book_info.db';
table1.open;
combobox1.items.clear;
while not table1.eof do 
  begin
   commbobox1.items.add(table1.fieldbyname('bookid').asstring);
   table1.next;
  end;
table1.first;               //定位到第一条记录
commbobox1.itemindex:=0;    //和table1中记录同步
在关闭窗体时,也关闭数据库连接,table1.close;
关键一点是:commbobox1的onchange事件,当用户选择列表框中的图书编号时,程序要
要定位到相应的记录,代码如下:
with table1 do
  begin
  setkey;
  fieldbyname('bookid').asstring:=combobox1.items[combobox1.itemindex];
  gotokey;
end;

(三) 向打印的窗体传值
form_print.query1.parambyname('qname').asstring:=edit_jy.text;
form_print.query1.open;     //激活报表上的查询
form_print.qrp.preview;     //报表预览

(四) 转出为Execel表
procedure toutfrm.writeexecel(adsdata:Ttable;fname:string);
var 
  execelapp:Texecelapplication;  //用来连接Excel应用程序
  execalwkbook:Texecelworkbook;  //工作簿
  execelwksheet:Texecelworksheet;  //数据表
  i,j:integet;
begin
try
  excelapp:=Texecelapplication.create(Application);  //创建excel应用
  excelwkbook:=Texecelworkbook.create(application);  //创建工作簿
  excelwksheet:=Texecelworksheet.create(application); //创建数据表
  excelapp.connect;    //连接excel应用程序
Except
  messagedlg('Excel没有安装!',mterror,[mbyes],0);
  abort;
end;
//建立应用\工作簿\数据表之间的联系
excelapp.workboks.add(Emptyparam,0);
excelwkbook.connectto(excelapp.workbooks[1]);
excelwksheet.connectto(excelwkbook.worksheets[1],as_worksheet);
adsdata.first;
mainfrm.teble1.disablecontrols;//暂时断开数据库连接
for j:=0 to adsdata.fields.count -1 do begin//写入字段名
  begin
  excelwksheet.cells.item[i,j+1]:=adsdata.fields[j].asstring;
  excelwksheet.cells.item[i,j+1].font.size:=10;
  end;
adsdata.next;
end;
excelwksheet.columns.autofit;   //列自适应
excelwksheet.savaas(fname);
mainfrm.table1.enablecontrols;
excelapp.disconnect;
excelapp.quit;
excelapp.free;
excelwkbook.free;
excelwksheet.free;
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -