边学边用Delphi做了个软件,今天完工

来源:互联网 发布:servlet在java哪个包 编辑:程序博客网 时间:2024/04/30 15:46

1,delphi的项目文件:项目文件(.dpr),项目选项(.dof),配置文件(.cfg),资源文件(.res),表单文件(.dfm),单元文件(.pas).大部分都可以作为文本直接编辑.
2,program (关键字) 指定项目是应用程序;library 指定项目是动态库;
3,uses (关键字)当前项目使用了哪些单元
4,in (关键字) 编译器如何找到每个单元的源文件
   Unit1 in 'Unit1.pas' {Form1} //包括单元和表单
5,{$R *.res} 编译器将与项目文件同名的资源文件链接到项目中。
6,begin...end 当前项目的主要源代码块
7,interface 接口部分的开始 包括users,type,var
8,type Delphi自动加的类型声明,表单特有的。
9, var 声明变量,类的实例
10,implementation 程序代码实现功能部分的开始

-----

11,showMessage('...'); 消息框
12,Application.Initalize  对程序初始化;.CreateForm(TForm1,Form1)建立参数中指定的表单; .Run 运行程序; .Terminate 结束程序;
13,FormName.show 显示表单,  .destroy 销毁表单; 
14,在另一表单中调用表单,implementation  下uses 表单所在文件 .


====

0:53 2004-12-15
1,   昨天发现用adoconnection,adoquery 联接Access数据库有故障,字段'Using' 1 ,string 无法读取,改名、变长后也不行。
      所以改用Paradox ; 虽然paradox数据表是独立的表,不是一个整体的数据库,但还是可以实现表间的联接。
      要使用在query 中的sql 语句中使用join 。

21:38 2004-12-15
1,   因为用了DATAMODULE,而且form在datamodule之前启动。当在Formcreate 事件中用到datamodule中的数据时,读内存错。


5:30 2004-12-16
1,完成了主表单的Listview和Treeview部分的代码。

2, for i:=0  to j do begin  ... end;
    For 与C中的相似。
3,Delphi的自动完成代码 出来的函数,属性列表 有时与所在的表达式中条件有关。
     如: 条件要是integer ,代码中就没有结果为  String 的函数了。
4,自定义的过程都是放在要调用过程时的前面。
5, for i:=0 to j 中如果j 在该语句中有变化不影响结果,还以j初始值为结束条件 。


15:42 2005-1-11
1,在函数中返回值用  Result:=xxx;

//查找数组中是否有值X,并返回序号
function Searray(RVstr : string):integer;
var i:integer;
begin
  for i:=Low(TeArray) to High(Tearray) do
  begin
    if Tearray[i]=RVStr then
    begin
      Result:=i;       //找到返回序号
      exit;
    end
    else  Result:=-1;  //未找到返回-1
  end;
end;

2,fieldbyname('FieldName').asstring
  可以取得字段的值,但值的类型不可以编错,
  如果是string  的,不可以是asinteger 只能是asstring;

16:07 2005-1-12
1,if () AND () then
   表达式中的语句最好加();

20:18 2005-1-12
1,  表的字段为 No,Password时insert出错

22:02 2005-1-12
1,SQL中外联结的应用
  SELECT * FROM Cards LEFT OUTER JOIN CP ON  (Cards.ID = Cp.CardID) LEFT OUTER JOIN  Users ON  (Cp.UserID = Users.UserID) 

23:49 2005-1-13
  LIstView中当控制有没有选择行时,用 selcount ,当没有选择时为0;别的控件如combobox用selected.item;
 
22:24 2005-1-14
用某个带BDE库的安装制作程序完成安装程序
22:58 2005-1-14
还需要库文件*.bpl 此程序只用了4个。
Dephi 可以不带运行时文件,但那样编译体积可能太大。

好像未能逃出一个小软件一个月的命,从开始到结束又差不多一个月。只有上次一个很小软件只用了一个晚上就完工,因为太小了。
开始老板让我做这个东西时,事实上我的时间很散,一、老板有很多其它任务;二、环境影响,满屋子人都是搞法律的,我的身边到处都是法律案件,而我自己手上在写程序!三、把DELPHI估计简单了。(原来我是用VB的,用看VB的眼光看DELPHI完全错了;现在觉得DELPHI学晚了)
最后有三天,我是关在宿舍里做的(老姚、华受累了,我晚上在计算机上时间太长,他们不但不能玩,睡觉还受影响。) 这才把它基本完成。

做软件的外部条件:
1,有还算集中的时间;
2,适宜的环境还是重要的。

###############################################################################

1:51 2005-1-19
1,加上了查找字段的功能
  很大的遗憾 只能查找CAPTION 字段,别的还不会查
  我不懂LISTVIEW的子item怎么查找,只会添加不会修改
2,加上排序字段的功能,可以对多个字段排序
   我是有SQL语句的ORDER BY 来做的,做完之后发现事实上排序还可以直接用LISTVIEW解决,而且可能那

样更好
3,原来的卡名是在Cards,CardType中放两个相同的,现在放在CardType中,而用一个TypeID把两个表相联
  我觉得两个表有联接关系的最好用小的ID.