1.新建项目步骤,这样可以使exe文件生成到项目的根目录下
(1).文件(File)-->新建(New)-->应用程序(Application)
(2).文件(File)--》全部保存(Save All),快捷键保存所有Ctrl+Shift+S
2.修改生成的.exe文件的图标
我用delphi编写了一个程序,想修改.exe文件的icon,delphi的图标实在太难看了。我使用的方法是:Project->Options->Application->LoadIcon.. load以后可以从旁边看到图标的样子
3.快捷键
F12 可以在窗体设计器和代码编辑器窗口之间切换
Ctrl+Shift+U 减少缩进
Ctrl+Shift+I 增加缩进
Ctrl+J 代码智能提示
编辑-->锁定组件,可使控件不能进行移动操作
4.工程文件(.dpr):用于保存窗体、单元等的信息,以及程序运行的初始化代码等。
单元文件(.pas):Pascal文件,用于保存程序源代码,可以是与窗体有关的单元或是独立的单元文件
窗体文件(.dfm):保存窗体或数据模块及其构件特征的二进制文件
选项文件(.dof):含有当前项目选项设置的文本文件
配置文件(.cfg):含有当前项目编译配置的文本文件
资源文件(.res):该二进制文件包含项目的图标,由delphi7.0不断更新和创建,用户一般不需要修改
备份文件(.~dp,.~df,.~pa):分别对应工程、窗体、单元文件的备份文件
5.常用类型:Byte、Integer、Real=Double、Char、string[100]相当于AnsiString、Boolean
6.常量:
(1).真实常量
const
常量名1=常量值1;
常量名n=常量值n;
const
PI=3.1415926
K=PI/180;
(2).类型常量
const
常量名:类型名=常量值;
const
Hello:string='Hello';
Max:Integer=100;
Digits:array[0..9] of Char = ('0','1','2','3','4','5','6','7','8','9');
7.变量声明:
var
变量名1:类型名1;
变量名n:类型名n;
全局变量定义时初始化:var 变量名:类型名=常量表达式
8.关系运算符:<>不等于、and(相当于C# &&、or(相当于C# ||)、not(相当于C# !=)
9.算数运算符:
+、-、*、/、div 整数除法、mod 取余,相当于C#中%
10.赋值语句:{变量名|属性名}:=表达式
11.注释语句
{<注释内容>}
(*注释内容*)
//注释内容
12.程序流程控制语句
if语句:
if 条件 then
语句1;
else
语句2;
var x,y:double;
begin
if(x>1) then
y:=1;
else
y:=2;
end;
13:case语句(相当与C#中switch语句)
case 选择器表达式 of
情况常量表1:语句1;
情况常量表n:语句n;
else
其他语句列;
示例:
var x:Integer;
grade:string;
begin
case (x div 10) of
10,9,8:if x>85 then grade:='优' else grade:='良';
7:grade:='良';
6:grade:='及格';
5,4,3,2,1:grade:=不及格';
else grade:='输入错误';
end;
14.循环语句
(1).repeat
<循环体>
until <条件>;相当C#的do while
示例:
procedure TForm1.ButtonClick(Sender TObject);
var n:integer;
x,temp,sum:double;
begin
x:=strtofloat(Edit1.Text); //从第一个编辑框中读入x的值
n:=1;temp:=x;sum:=x;
repeat //循环语句开始
n:=n+2;
temp:=temp*(-x*x)/((n-1)*n)
sum:=sum+temp;
until abs(temp)<le-7; /.当最后一项的绝对值小于10的-7次方时循环语句结束
edit2.Text:=format('%f',[sum]); //输出sinx的值
end;
(2).while <条件> do
<循环体>;
(3).for <循环变量> :=<初值> {to|downto}<终值> do
<循环体>;
15.showmessage('messagebox');相当于C#MessageBox.Show();
strtofloat(str)相当于C# float.Parse(str);
StrToInt(str);
format('得到一个解:鸡翁%d只,鸡母%d只',[x,y]);相当于C# string.format();
16.数组定义
type
<数组类型>=array[<下标>] of <基类型>;
示例:
type
MyArray=array[1..100] of Real;
var
array1,array2:array[1..100] of real;
17.二维数组
type
<数组类型名称>=array[<下标类型1>,<下标类型2>]of <基类型>;
类型:
type
RealArray=array[1..20,1..100]of Real;
18.动态数组,释放动态数组MyArray:=nil;
type
<数组类型名称>=array of <基类型>;
也可在声明变量时直接声明一维动态数组:
var
<变量名>:array of <基类型>;
如下代码:
var MyArray:array of Integer;
示例:
var
MyArray:array of Real;//定义一个名为MyArray的动态数组
begin
MyArray[1]:=1.52; //错误,没有明确数组大小前是不能对数组赋值的
setlength(MyArray,30);//设置动态数组长度为30,下表从0到29
Myarray[2]:=4.56;//正确