C++ Builder 初学问与答(十七)

2016-02-19 20:21 3 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐C++ Builder 初学问与答(十七),希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

7)Set类如何用?
  
  答:严格来说,CB的集合(Set)并不是一个类,而是一个类模板(Class Template)。它用来实现集合这个抽象数据类型。
  
  使用它可以定义一个实际的集合类型,它的一般声明模式是这样的:
  

  
    typedef Settype,minval,maxvalClassName;  其中type用来指定集合元素的类型;minval指定集合元素的最小值;maxval指定集合元素的最大值。
  
  举个例子来说,若是我们定义一个以TupperSet为名的集合类,这个集合类的可能元素为26个大写字母,我们可以这样定义:
    typedef Setchar,’A’,’Z’TupperSet;
  应用时我们可以使用这个集合类声明一个具体的集合对象,如:
    TupperSet UpperSet;
  8)能不能告诉我一下Set类有哪些常见的使用方法或操作符?
  
  答:当然可以了,以下是它的一些常见操作符和方法:
  
  Clear方法:清除集合对象内的所有元素,使集合成为空集;
  
  Contains方法:查询集合中是否包含指定的元素,其声明为:
    bool _fastcall Contains(const T el)const;
  operator-:两个集合进行求差运算,结果集合包含两个集合中不相同的元素;
  operator*:求两个集合的交集;
  operator+:求两个集合的并集;
  operator:添加一个元素到指定集合;
  operator:从集合中删除一个指定元素。
  其实Set类的应该比较广泛,比如判定我们是否按下鼠标左键,可以用如下的语句:
  if(Shift.Contains(ssLeft))。  
  9)听说在CB中有一个可以定时触发的组件,能否介绍一下它的属性和事件吗?
  
  答:你说的是Timer组件,它位于组件栏的System组件页中。使用它并不难,因为他的属性、事件非凡少:
  
  Enabled属性:布尔类型。缺省时为true,这时定时器将经过一段时间就触发OnTimer事件。在这个属性从false变为true时,时钟将重新开始计时。
  
  Interval属性:这个属性用来设置每隔多长时间就触发一次OnTimer事件,以毫秒为单位。缺省为1000毫秒。
  
  OnTimer事件:这个事件在Enabled属性设置为true时,每隔Interval属性指定的时间触发一次。
  
  10)原来Timer组件如此简单,但我还有些不懂为什么说它是一个可找替循环语句,能否举一个例子说明下OnTimer事件?
  
  答:它不能取替循环语句的,当然在特定条件下,他比循环语句更有效,尤其是在涉及到按时循环时。在我编写的春辉网络电视里有一段OnTimer事件代码,可供大家参考:
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
  {
  String s1="春辉(CH)软件   作者:董维春  王岩   CH工作室";
  if(i=54)
  {
  Label1-Caption=s1.SubString(i,18);
  i+=2;
  }
  else
  {
  i=1;
  }
  }
  (未完待续)  更多内容请看C/C++技术专题专题,或

来源:https://www.tulaoshi.com/n/20160219/1623456.html

延伸阅读
10.菜单组件 77)问:菜单是Windows常用的用户界面。对于一个能够实际应用的程序,菜单是必不可少的组成部分。C++Builder中是怎样实现菜单的? 答:C++Builder为我们提供了两种菜单组件:一种是主菜单组件MainMenu;另一种是弹出菜单PopMenu组件。 !-- frame contents -- !-- /frame contents -- 主菜单组件的作用是在窗...
3. 按钮类组件 21)问:在进行Windows程序界面设计中,经常会用到按钮,在C++Builder中,按钮一定是通过按钮组件来实现的吗? !-- frame contents -- !-- /frame contents -- 答:是的,并且C++Builder的按钮类组件十分丰富。BCB提供了两类按钮类组件:一类是执行类按钮,另一类是信息类按钮。所谓执行类按钮是指...
11.工具条组件 87)问:工具条是Windows编程经常要用的, C++Builder能不能实现这个功能呢? !-- frame contents -- !-- /frame contents -- 答:当然可以,工具条是由许多具有图形的按钮组成的,这些按钮被分隔符分隔成许多组,每个组都能够完成特定的工作。工具条上的按钮具有与位图按钮相似的特性——可以拥有多个位图,...
16.C/C++语言在CB中的一些特定用法 2)AnsiString是从Delphi中引进来的吗? !-- frame contents -- !-- /frame contents -- 答:CB的核心组件VCL是用Object Pascal语言写出的,所以CB的VCL组件的属性有很多都是使用long string,例如:Text、 Name、Caption等属性都是使用Object Pascal的long string。基于此关系,CB只...
第二部分:快速提高 !-- frame contents -- !-- /frame contents -- 好久以来有不少朋友问我,《C++ Builder问与答》为什么不继续写了?我也一直在思考还应该写下去不?CBX的推出,加之宝兰公布不在出新的CB版本,让我们这些一直喜爱CB的人不清楚下一个方向到底在何处?当然真的希望CB会继续,而不要倒下,但对于...

经验教程

272

收藏

87
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部