自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

转载 winsock api编程

一:select模型  select模型是周而复始地去检查......如果有数据......接收/发送.......  使用线程来select应该是通用的做法:procedure TListenThread.Execute;var addr : TSockAd

2011-09-20 22:55:33 544

原创 ADO访问excel

要用DELPHI中的ADO系列控件访问Excel数据文件,首先应该建立一些基本概念。你需要将一个Excel数据文件想象为一个关系数据库,Excel文件中的每个工作表就对应该数据库中的一个表,而工作表中的每一列当然就是表的列了。然后,按照下列面的秘诀进行就可以。    1.设置ADOConnection的ConnectionString  构造ConnectionString时,OLE DB的提供者

2011-07-01 17:15:00 1492

原创 Socket通讯使用IdTCPServer

 Indy的全名是Internet Direct(也叫Winshoes),它是一套开放源代码的Internet控件集,它支持大部分流行的Internet协议。   IdTCPServer 在开始工作后,首先会自动建立一个侦听线程TidListenerThread,该线程负责侦听客户端的连接请求,并对每一个服务器已接受的连接创建一个TidPeerThread线程。每个连接通过运行各自所属的Tid

2010-04-13 08:52:00 4059 1

原创 明细化ADO的错误处理

function TForm1.handleErr(cn: TADOConnection): string;var  s:string;  i:integer;begin  s:=;  for i:=0 to cn.Errors.Count-1 do  begin    case cn.Errors[i].NativeError of      945:        s:=s + 内存或磁

2010-03-24 14:50:00 584

转载 formatdatetime的详细用法

function FormatDateTime(const Format: string; DateTime: TDateTime): string; overload;当然和Format一样还有一种,但这里只介绍常用的第一种,Format参数是一个格式化字符串。DateTime是时间类型。返回值是一种格式化后的字符串,重点来看Format参数中的指令字符c 以短时间格式显示时间,即全部是数字的表

2009-11-18 08:41:00 1202

原创 dbgrid中保留两位小数

//我经常忘记##格式的TNumericField(FieldByName(ksz)).DisplayFormat:=##0.00; formatfloat(#,##0.#0,w)

2009-06-19 09:40:00 879

原创 利用主键重复的错误返回告知用户

//需要使用EOleException,需要引用ComObj单元,//只是简单测试,也不敢肯定没错误 procedure TForm1.Button1Click(Sender: TObject);var  s:string;begin  with qry do  begin    if not connection.Connected then      connection.Connec

2009-05-25 15:03:00 846

转载 根据窗体名称动态创建窗体

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, Buttons, ComCtrls, DB, ADODB;type  TForm1 = class(TForm)    TreeView1: TTreeVie

2009-03-18 14:23:00 797

原创 dbgrid单元格选择数据录入

  dbg_.SelectedIndex := dbg_.SelectedIndex + 1;  if dbg_.Columns[dbg_.SelectedIndex].FieldName = 备注 then  begin    dbg_.Columns[dbg_.SelectedIndex].PickList.Clear;    dbg_.Columns[dbg_.SelectedIndex

2008-10-16 10:48:00 975

原创 用户自定义控件大小和位置

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, ExtCtrls;type  TForm1 = class(TForm)    Edit1: TEdit;    procedure Edit1M

2008-09-17 11:54:00 1051

转载 delphi的socket通讯

ClientSocket组件为客户端组件。它是通信的请求方,也就是说,它是主动地与服务器端建立连接。 ServerSocket组件为服务器端组件。它是通信的响应方,也就是说,它的动作是监听以及被动接受客户端的连接请求,并对请求进行回复。 ServerSocket组件可以同时接受一个或多个ClientSocket组件的连接请求,并与每个ClientSocket组件建立单独的连接,进行单独的通信。因此

2008-04-03 00:46:00 5450 2

转载 用于时间操作的函数

Date函数:定义:Date: TDateTime;作用:返回当前的日期范例:CurrentDate := Date;DayOfWeek函数:定义:function DayOfWeek(Date: TDateTime): Integer;作用:得到指定日期的星期值,返回1~7,代表周日到周六。IncMouth函数:定义:function IncMonth(const Dat

2008-03-27 19:57:00 726

转载 delphi消息处理

Delphi是Borland公司的一种面向对象的可视化软件开发工具。 Delphi集中了Visual C++和Visual Basic两者的优点:容易上手、功能强大,特别是在界面设计、数据库编程、网络编程方面更有其独特的优势。 Delphi中的消息 消息是Windows发出的一个通知,

2008-03-26 21:23:00 1483

原创 一种全局变量的定义方式m_Data

我是一个学习c++的新手,总有一些问题难住我。比如说如下的题目吧,它是一个对于单词统计的的简单程序,可是我看不懂其中的while循环,希望指点 #include #include      // prototype for strcmp()const int STR_LIM = 50;int main(){     char word[STR_LIM];    int count = 0;   

2008-03-22 23:26:00 957

转载 delphi的消息处理简述

每一个有句柄的窗口控件(继承自TwinControl),在它被创建时,都要在Windwos中注册一个窗口过程(MainWndProc)。这个窗口过程并不是由应用程序自己调用,而是供windows调用的!!! 所以我们在这个过程中写的消息处理过程代码才能被自动调用、运行。  典型的窗口过程是会包含一个大的case分支,以处理不同的消息!比如像这样:  Case Message.Msg Of    

2008-03-19 16:36:00 817 1

转载 delphi的指针

大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人 产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今 的Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。以下内容分为八个部分,分别

2008-03-12 22:51:00 884 2

原创 delphi定义二维数组

procedure TForm1.Button1Click(Sender: TObject);var  A :array of array of string;  I,J:Integer;begin  SetLength(A,10);  for I:=Low(A)to High(A)do  begin    SetLength(A[I],I);    for J:=Low(A[I])to High

2008-02-21 14:29:00 7317

原创 fcTreeView的弱点

//就是节点上的小图片不能立马更新//以下是对delphi自带的treeview和fctreeview的比较//手工为两个treeview各加两个节点,一个imaglist,加入两个图片,然后//在button1 click事件中动态修改两treeview中节点的imageindex和selectedindex,//delphi自带的treeveiw立马就改变了节点的上的图片,而fctreevie

2008-01-25 19:32:00 2062

转载 delphi多线程

   Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。    线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线

2008-01-10 23:56:00 6727 1

原创 C#改为delphi

//DataType.csusing System;using System.Collections.Generic;using System.Text;namespace CTI.Define{    public enum enumSysModule {NONE=0x00,AGE,IVR,REC,CTI,FAX,WEB,GIS,WMS,APP};    public enum enumRela

2007-12-25 17:33:00 1316

转载 在类中自定义事件

自定义事件定义的方法和定义属性差不多,只是类型时TNotifyEvent。  TNotifyEvent是默认事件,其定义为:  TNotifyEvent = procedure(Sender: TObject)示例一(仅列出相当代码):type  TParent=class(TObject)  private    FTimeOut:TNotifyEvent

2007-12-06 09:28:00 829

转载 delphi的MessageBox

Application.MessageBox 是 TApplication 的成員函數,宣告如下: function TApplication.MessageBox(const Text, Caption: PChar; Flags: Longint): Integer; 引數:    1. Text:要顯示的訊息    2. Caption:訊息視窗的標題列文字    3. Flags:訊息

2007-11-14 11:23:00 1936

原创 fcTreeView任何情况下只有一节点被选中

 procedure TfmeEvtReg.tvEvtTypeToggleCheckbox(TreeView: TfcCustomTreeView;  Node: TfcTreeNode);var    i : integer;begin    tvEvtType.OnToggleCheckbox := nil;    for i := 0 to tvEvtType.Items.Count -1

2007-10-23 10:57:00 983

原创 在delphi端构建数据库事务

//  ADODataSet_Main.LockType := ltBatchOptimistic; //  ADODataSet_Detail.LockType := ltBatchOptimistic; try   ADOConnection1.beginTran;    ADODataSet_Main.Insert;   // Insert Main data   ADODataSet

2007-10-21 12:41:00 799

原创 数据库使用MSSQL固定情况下调用存储过程

//换了数据库后台就肯定失败 function   MaxVal(TableName:   string)   :   integer;     var     ADOQMax:TADOQuery;     begin     ADOQMax   :=   TADOQuery.Create(nil);     ADOQMax.ConnectionString:=connstr;  

2007-09-06 17:20:00 653

原创 dephi 绑定变量

//作高效数据库程序比较有用var  S:string;begin  S:=select dept_name from department where dept_id=:id;  DM.qry.Close;  DM.qry.SQL.Clear;  DM.qry.SQL.Add(S);  DM.qry.Prepared:=true;  DM.qry.ParamByName(id).Valu

2007-09-06 10:31:00 676

转载 del调用返回游标的存储过程

一.创建包与包体1.附:建表aaclass为下面作测试用create table aaclass(CID VARCHAR2(50), CNAME VARCHAR2(50), pnumber NUMBER(10,0) );INSERT INTO aaclass values(c1, cn1, 10 ) ;INSERT INTO aaclass values(c2, cn2, 40 )

2007-09-05 15:49:00 1014

原创 不知道是不是TpageControl的bug

修改TpageControl的ActivePage属性//定义的全局变量FlagDept:smallInt;//0 :人员 1:部门 2:岗位;//MDI窗体的菜单CLick事件//1procedure TFrmStart.NBuMenClick(Sender: TObject);begin  FlagDept:=1;  if frmRenYuan=nil then  begin    frm

2007-09-03 10:25:00 725

原创 delphi操作word

//插入图片var    WordApp,WordDoc:variant;begin  WordApp :=CreateOLEObject(Word.application);  WordDoc :=WordApp.Documents.Add;  WordApp.visible:=True; WordDoc.Shapes.AddPicture(D:/Tencent/QQ/353682655/

2007-08-13 17:07:00 1159

转载 delphi操作excel

 delphi 控制 excel,创建报表 http://www.delphibbs.com/keylife/iblog_show.asp?xid=11659一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObject( Excel.Application );1) 显示当前窗口

2007-08-13 14:08:00 748

原创 Delphi开发中的一些细节问题

控件名不要以close,create等一些delphi中使用的关键字命令变量名也不要跟控件名相同(oracle存储过程和函数的参数名也不要跟字段名相同)

2007-08-10 09:22:00 487

原创 读oracle图片

var  Bmp: TBitmap;  Jpg: TJPEGImage;  ms:TStream;    ms:=frmMain.qryMain.CreateBlobStream(frmMain.qryMain.FieldByName(GIS_ENVMAP),bmRead);        Jpg.LoadFromStream(ms);        Bmp.A

2007-08-07 15:15:00 493

转载 TStringList的一些高级用法

 TStringList的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。常规的用法大家都知道,现在来讨论它的一些高级的用法。先把要讨论的几个属性列出来:1、CommaText2、Delimiter & DelimitedText3、Names & Values & ValueFromIndex先看第一个:CommaText。怎么用呢?用代码说话:const 

2007-07-23 15:28:00 963

原创 StringGrid的Click事件中获取选中的当前行

StringGrid 的option中的goRangeSelect设置为false确保goRowSelect为true;然后procedure TfrmEvent.StringGrid1Click(Sender: TObject);begin   doEveID.Text:=StringGrid1.Cells[0,StringGrid1.selection.bottom];   doI

2007-07-19 10:41:00 6836

原创 TreeView 叶子代码选中后有兰色背景色的效果

      fmeEvtReg1.tvEvtType.SetFocus;      fmeEvtReg1.tvEvtType.Items[i].Selected:=true; 

2007-07-17 16:29:00 830

原创 主菜单中"窗口"子菜单的简单实现办法

但是必须先用一横线占一个子菜单位,不然弹不出来procedure TFrmStart.N4Click(Sender: TObject);//N4其caption为"窗口"var  popItem:TMenuItem;  i:integer;  frmCap:string;begin  if n4.Count>1 then  begin    for i:=1 to n4.Count-1 d

2007-07-17 11:01:00 911

原创 窗体加载时StringGrid的第一行数据不被选中(去掉蓝色背景色)

uses Grids;procedure TfrmEvent.FormCreate(Sender: TObject);var   rect:TGridRect;begin//24为stringgrid1中不存在的范围     rect.Left:=24;     rect.Right :=24;     rect.Top :=24;     rect.Bottom:=24;

2007-07-17 10:48:00 2440

原创 delphi面向对象的部分

overload与overwrite的区别overload--过载:同一类中实现名字相同的函数或过程,但它们的参数列表或返回类型不同overwrite--重载:子类中用来覆盖父类中名字相同的函数或过程,以实现子类中该函数或过程的、使其不同于父类中同名函数或过程的功能,它与父类中同名函数或过程具有相同的参数列表(个数、数据类型)和返回值。Override是在Runtime时候判断的,而O

2007-05-26 11:10:00 760

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除