zoukankan      html  css  js  c++  java
  • Delphi培训第三天学习笔记

      --位运算符:and、or、xor、not
      shl(); --二进制左移,相当于*2
      shr(); --二进制右移,相当于div 2
    
    

    delphi中的函数和过程调用都是按就近原则,

      比如有一个公共函数fun()和一个对象里的函数TObject.fun(),
      调用fun()函数的公共过程PubilcProc()和TObject.Proc()。
      publicProc()中调用的就是公共函数fun(),而TOject.Proc()调用的就是自己对象内部的Tobject.fun()。
    

    var与out声明的参数都是引用传递,但out声明的参数只能用于输出。
    const声明的参数不允许被改变,因此编译器能优化常参的传递,能提高执行效率。
    默认参数:在参数声明时为该参数赋值。

    使用原则:
      1,如果你省略了一个默认参数,那么你也要省略这个参数后面的所有参数
      2,不能跳过默认参数,直接输入默认参数后面的参数
      3,默认参数全部放在参数列表的最后,能避免上面两种情况
      4,默认参数必须是常量
      5,默认参数必须是值传递或常参函数,不能是var声明的引用参数
      6,不建议同时使用默认参数和重载,很容易发生RuntimeException(系统会找到多个合适的重载函数)
    
    

    开发数组参数:数组的类型已确定,但元素个数未知。例: const array of Integer
    类型变化的开放数组参数:数组的类型和大小都不确定,元素类型由元素的Vtype属性来判断。

      procedure proc1(const arr: array of const);
      var
        i: Integer;
      begin
        
        for i = low(arr) to high(arr)
        begin
          case arr[i].VType of
            vtString:....;
            vtInteger:.....
        end;
      end;
    

    raise Exception.Create('');和Exit;的区别:Exit只是终止所在函数的执行,而raise exception抛出了异常,会终止所在函数及调用该函数的对象的执行。

    Delphi中的函数重载:在函数声明后添加Overload关键字,并保证与其重名的函数的参数个数、类型不同。那么系统会自动根据传入参数的个数、类型选择最匹配的重载函数。

  • 相关阅读:
    进程和线程
    vue程序搭建
    EXTJS 不显示窗体 标题框的办法
    asp.net 本地资源连接没反映的解决办法
    IIS支持flv格式流传送的办法(解决flash播放器报200错误)
    response.write不要放到try里去,不然会报一个错误 a instance object什么的
    Webservice 用http get方式无法请求到的解决办法
    转一篇关于RIA的内存泄露的文章
    jquery的选择器$('')在IE6下对JS动态生成(比如ajax生成的)的元素失效的解决办法
    聚类存储过程分析
  • 原文地址:https://www.cnblogs.com/wuchangxing/p/15225922.html
Copyright © 2011-2022 走看看