〉;] 其他语句列〉 End; *选择器表达式需是顺序型 可求值 情况常量表值互不相同 选择器表达式需是顺序型, 可求值; 情况常量表值互不相同.
促销办法: 元以上, 折 元以上, 折 例:促销办法:1000元以上,95折;2000元以上,9折;3000 促销办法 元以上 元以上 元以上, 折 元以上, 折 元以上,85折;5000元以上,8折。 元以上 记录购物额、 记录优惠办法 设x记录购物额、y记录优惠办法 记录购物额 x:=strtofloat(edit1.text); case x of case x>1000 and x<=2000: y:=0.95*x; case x>2000 and x<=3000: y:=0.9*x; …… end; x:=strtofloat(edit1.text); case trunc(x/1000) of 0: 语句组; 1: 语句组; 。。。。。。 end;
button1的单击事件代码: ? procedure TForm1.Button1Click(Sender: TObject); ? var x,y:real; ? begin ? if edit1.text='' then edit1.text:='0'; ? x:=strtofloat(edit1.text); ? case trunc(x/1000) of ? 0: y:=x; ? 1: y:=0.95*x; ? 2: y:=0.9*x; ? 3,4: y:=0.85*x; ? else ? y:=0.8*x; ? end; ? button1.Caption:=floattostr(y); ? end;
具有加、减、乘、除功能的计算器
数字“1”和“2”控件的单击事件: ?edit1.Text:=edit1.Text+'1'; edit1.Text:=edit1.Text+'2' 加号“+”和“-”控件的单击事件: flag:='0'; temp:=strtofloat(edit1.Text); edit1.Text:=''; flag:='1'; temp:=strtofloat(edit1.Text); edit1.Text:='';
“=”控件的单击事件: ? begin ? case flag of ? '0': temp:=temp+strtofloat(edit1.Text); ? '1': temp:=temp-strtofloat(edit1.Text); ? end; ? edit1.Text:=floattostr(temp); ? end;
进一步实现 乘、除运算
作业2:
设计具有四则运算功能的计算器;
【例】铁路托运行李,从甲地到乙
地,规定每张客票托运费计算方法是:行 李重量不超过50kg时,每公斤0.25元,超过50kg而不超过100kg时,其超过 部分0.35元/kg,超过100kg时,其超过部分0.45元/kg。编写程序,输入行李 重量,计算并输出托运的费用,如图4-10所示。
设计步骤如下: (1) 建立应用
程序用户界面与设置对象属性。 (2) 编写程序代码。 根据流程图,写出按钮Button1的单击(OnClick)事件代码为:
4.4 按钮类控件 在Windows编程中,按钮的使用几乎是必不可少的。
Delphi中的按钮类 控件包括:基本按钮Button、位图按钮BitBtn、复选框CheckBox、单选项 按钮RadioButton等。 4.4.1 Button控件 控件 4.4.2 BitBtn控件 (additional组件板 控件 组件板) 组件板 例4-12】含有各种类型位图按钮的窗体(如图4-18所示)。
常用属性: caption, kind, hint,showhint
Caption: 标题 Kind: 枚举型,决定按钮种类,如bkOK、 bkCancel、bkHelp等。 Glyph: 为控件指定一个.bmp文件,显示在按钮表面。 .bmp Hint: 当光标停于某控件时显示该属性值内容 Showhint: hint通过showhint设置为true起作用 例:button1控件的hint和showhint设置
4.4.2 checkbox控件 控件
? 复选框CheckBox是一个旁边带有文本 说明的小方框。具有选中和未被选中 两种状态,选中方框为打钩“√”标 志,此时,其属性checked值为真 。 checkbox1.checked
checkbox3.checked 均为true
常用属性:checked和caption 例如:利用复选框输入“个人爱好”;控件如下: groupbox1,4个复选框checkbox1~checkbox4分别表示钓 鱼、读书、下棋以及打球等爱好。将选中的爱好显示于 memo1中,语句格式如下: if checkbox1.checked then memo1.lines.add(‘钓鱼’); if checkbox2.checked then memo1.lines.add(‘读书’);//用s记录爱好
? s:= ''; ? if CheckBox1.Checked then s := s + '钓鱼、'; 钓鱼、 钓鱼 ? if CheckBox2.Checked then s := s + '读书、'; 读书、 读书 ? if CheckBox3.Checked then s := s + '下棋、'; 下棋、 下棋 ? if CheckBox4.Checked then s := s + '打球、'; 打球、 打球 ? memo1.Lines