Dephi学习

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;

13case语句(相当与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;//正确

 

posted @ 2017-10-14 14:12  事理  阅读(338)  评论(0编辑  收藏  举报