在delphi中case语句有什么作用?

放肆的青春2022-10-04 11:39:541条回答

在delphi中case语句有什么作用?
谁给我详细说下.例如 type daytype=(sun,mon,tue,wed,thu,fri,sat) begin case succ(sun) of sun:write(‘sunday’); mon:write(‘monday’); . sat:write('saturday'); end; 这段代码中case语句起到什么作用

已提交,审核后显示!提交回复

共1条回复
hu123pp 共回答了24个问题 | 采纳率91.7%
case是个分支语句.就是按照case ... of 中间的那个内容,对应是什么,就运行那个后面的语句.比如succ(sun)表示sun后面的那个元素,就应该是 mon .然后case mon of,就是只运行mon后面的那个语句,也就是write('monday');然后就跳到end后面了.
1年前

相关推荐

如何让delphi中的pagecontrol打开后,将某一个tabsheet放在最前面
打帖匠1年前1
黑度 共回答了19个问题 | 采纳率89.5%
actionpage属性选择你要显示的tabsheet
Delphi中if c then 与if c=true then 的区别?
Delphi中if c then 与if c=true then 的区别?
procedure Tform1.button1click(sender:Tobject);
var t:boolean;
begin
if t then edit1.text :='t=true'
else if not t then edit1.text := 't=false'
else edit1.text := '111';//结果返回TRUE
end;
procedure Tform1.button2click(sender:Tobject);
var t:boolean;
begin
if t=true then edit1.text :='true'
else if t=false then edit1.text := 'false'
else edit1.text := '111';//结果返回111
end;
为什么返回的结果不同?
心随情逝1年前1
蓝月儿566 共回答了27个问题 | 采纳率88.9%
在没对t 赋值时,系统默认为true
在button1的if中是判断t是否为真,而button2的if中是判断t是否等于true(是有对t已经赋值了),所以在button2中系统只执行else edit1.text := '111'

希望我的回答对你有帮助,愿早日解开你的疑惑!
Delphi中,FALSE 和 nil ,true 和 nil,0
Delphi中,FALSE 和 nil ,true 和 nil,0
FALSE 和 nil ,true 和 nil,0 分别都有区别吗,讲的易懂点
zoujin1051年前1
xingyun_84 共回答了15个问题 | 采纳率80%
True和False是布尔型(Boolean)的值,就是"是"或"否"的意思.nil就是空,一般用于指针或对象变量,指对针或对象对象一般初始化为nil或者释放后赋nil
delphi 提示variable "form2"might not have been initialized.
delphi 提示variable "form2"might not have been initialized.
一运行就提示错误并显示progect1
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.Run;
end.
在主程序中引用了form2
implementation
uses midaslib,Unit2,Unit3,unit4 ;
.
.
rocedure TForm1.Button1Click(Sender:TObject);
var i,y1,m1,y2,m2:integer;
form2:Tform2;
begin
try
form2:=Tform2.Create(self);
form2.ShowModal ;
.
.
form2.free
季节迎春1年前1
xigaoliwei 共回答了21个问题 | 采纳率85.7%
DELPHI主菜单:prooject>Options>forms页,在auto-create forms列表框中,将form2移动到Available forms列表框中,就不会出现那提示了.
请问下面delphi程序中c,d,e,f,h,i,j,分别表示什么含义.
请问下面delphi程序中c,d,e,f,h,i,j,分别表示什么含义.
procedure TForm1.Button1Click(Sender:TObject);
var a:array of array of integer;
var c,d,e,f,g,h,i,j:string;
begin
setlength(a,3,4);
setlength(b,4,3);
c:=inttostr(high(a));
d:=inttostr(high(a[0]);
e:=inttostr(low(a));
f:=inttostr(low(a[0]));
//下面可能是错误的
g:=inttostr(high(a[1]);
h:=inttostr(high(a[2]);
i:=inttostr(high(a[3]);
j:=inttostr(high(a[4]);
//上面可能是错误的
end;
a是二维数组,为什么会写成a[0]?
咋就这么博爱1年前1
圊蘋菓 共回答了12个问题 | 采纳率100%
a是二维数组,那么a[0]、a[1]...分别就是一个一维数组.
setlength(a,3,4); //a此时就是a[0..2,0..3]
c是二维数组a 的第一维的最大的下标值,就c=2; 同理e=0;
d是一维数组a[0],及二维数组a的第二维的最大下标值,d=3;同理f=0;
g=h=d=3;
i和j由于a[3]、a[4]都超出了a的第一维的下标最大值,所以会报内存错.

另:
1、b没有声明.
2、以下语句少一个右括号,如d:=inttostr(high(a[0]));
d:=inttostr(high(a[0]);
g:=inttostr(high(a[1]);
h:=inttostr(high(a[2]);
i:=inttostr(high(a[3]);
j:=inttostr(high(a[4]);
delphi时钟转动角度计算公式
delphi时钟转动角度计算公式
画分钟Angle := 2 * Pi * (Minute+45) / 60;
Angle := 2 * Pi * (Hour + 9 + Minute / 60) / 12;//画时针
画秒钟Angle := 2 * Pi * (Second+45) / 60;
DrawHand (XCenter,YCenter,Radius,
Radius * 30 div 100,Angle);
在网上看到的桌面时钟delphi写的.想问问这个角度是怎么推算出来的.
wang201091年前1
qitian8191 共回答了21个问题 | 采纳率76.2%
是以水平向右为0度算起,分针指向12时,夹角为270度,时针和秒针类似
写 Delphi 程序 输入一个整数n,计算1~n之间的平方和,立方和,偶数和
bbc11年前1
不对请原谅 共回答了16个问题 | 采纳率93.8%
procedure TForm1.Button1Click(Sender:TObject);
var
v_Index,N:Integer;
SquareSum,CubeSum,EvenSum:Integer;
ibegin ,iEnd :integer;
begin
N := StrToIntDef(Edit1.Text,0);
SquareSum := 0;
CubeSum :=0;
EvenSum := 0;
if (n < 1)
begin
iBegin := N;
iEnd := 1;
end
else
begin
iBegin := 1;
iEnd := N;
end;
for v_Index := iBegin to iEnd do
begin
SquareSum := SquareSum + v_Index * v_Index;
CubeSum := CubeSum + v_Index * v_Index * v_Index;
if v_Index mod 2 = 0 then
begin
EvenSum := EvenSum + v_Index;
end;
end;
ShowMessage('1~' + IntToStr(N) + '的平方和:' + IntToStr(SquareSum) + ','+#10#13
+ '立方和:' + IntToStr(CubeSum) + ',' + #10#13 +
'偶数和:' + IntToStr(EvenSum));
end;
delphi的过程或函数中什么是值参数,变量参数,常数参数,文字说明一下再举例说明一下,
花雨苦苦茶1年前1
三亚76 共回答了12个问题 | 采纳率83.3%
以下内容摘自DELPHI5开发人员指南
1. 值参数
将参数以值的形式传递是默认的传递方式一个参数以值的形式传递意味着创建这个变量的本地副
本,过程和函数对副本进行运算,看下面的例子:
procedure Foo(s: string);
当用这种方法调用一个过程时,一个字符串的副本就被创建, F o o ( )将对副本s进行运算,这表示
对这个副本的任何修改都不会影响到原来的变量.
2. 引用参数
P a s c a l允许通过引用把变量传递给函数和过程.通过引用传递的参数有时又被称为变量参数,通
过引用传递意味着接收变量的函数和过程能够改变变量的值.为了通过引用传递变量,在过程或函数
的参数表中用关键字v a r :
procedure ChangeMe(var x: longint);
begin
x := 3;
end;
不同于复制x,关键字v a r使得变量的地址被复制,因此变量值就能被直接改变.
用v a r的参数就像在C + +中用&运算符通过引用传递变量一样.关键字v a r把变量的地址传递给函数
和过程,而不是把变量的值传递过去.
3. 常量参数
如果不想使传递给函数或过程的参数被改变,就用const 关键字来声明它.关键字c o n s t不仅保护
了变量的值不被修改,而且对于传递给函数或过程的字符串和记录来说能产生更优化的代码,下面的
代码就是一个过程声明接收一个字符串常量参数:
procedure Goon(const s: string);
您好,我想知道 delphi 里TFORM 的T是什么英文单词!
sinior1年前1
滔滔江河水 共回答了18个问题 | 采纳率100%
Type——类型
TForm、TStringList、TObject等等的T都是“类型”的前缀,注意,并不局限于“类”,就是广义的数据类型,很多结构(record)、函数原型、数组等也以T开头,如TSearchRec、TListSortCompare、TBytes.
用delphi分别将下列两组数 每一列从大到小排列,然后再求每一行的和
用delphi分别将下列两组数 每一列从大到小排列,然后再求每一行的和
3.8 6.8 -1.5 17 10.8 26.5 -1.7
B= { -5.1 10 12.5} F={5.1 -8.3 -3.1 11.5}
0.25 14.4 11.6 2.5 0.33 12.7 5
-7.4 11.7 9.25 -3.1
有没有会做的,
muyu19981年前1
暖暖软软 共回答了18个问题 | 采纳率94.4%
select sum as a from B order by 字段
英语翻译Role & Development:Practice in Delphi Packard in differe
英语翻译
Role & Development:Practice in Delphi Packard in different functions respectively and then focus professionally;Qualification:1) Good communication skill and willing to collaborate with others;2) Sound learning skill and passion for excellence;3) Desire to work in auto industry manufacturers and target orientation preference;4) Teaming spirit and able to work under high pressure5) Solid oral and written English skill;6) Familiar with common office software operation.7) Willing to move to other places for 1st year according to business development prefered.
郭宇宽uu1年前2
A20012510 共回答了16个问题 | 采纳率75%
职能&研制:在德尔福派克不同部门实习过,具备专业素能.要求:1)良好的语言交际能力,善于与他人合作;2)善于学习,富有工作热情;3)乐于从事自动化工业生产行业,专业目标明确;4)具备团队合作精神,不惧工作压力;5)具备扎实的英语会话及写作技能;6)能熟练使用一般的办公室操作软件;7)如业务发展需要,可以去其它城市工作一年或以上.
Delphi编译错误:Cannot focus a disabled or invisible window 5 - 解
Delphi编译错误:Cannot focus a disabled or invisible window 5 - 解决时间:2008-6-7 17:15 这个窗体是在一个主窗体的popupmenu中调用显示此模块,可是出错.我的那个被调用的窗体是从别处加载过来的,如果不重新创建类似的窗体,还有其他办法吗?到底是什么原因呢?你是在未初始化前就调用了它,你可以在调用的程序段中判断它的类是否为空,空的话调用它的创建函数来初始化它,你也可以设置断点来查看.例如有个模块MAINDM需要调用,加入下面的语句.IF MAINDM=NIL THEN //maindm模块的判断 MAINDM:=MAINDM.Create(APPLICATION); //创建模块根据你自己的程序改吧 提问者对于答案的评价:是被调用窗体属性的问题,其中主要的是把visible设为真,已经调好了谢谢诸位 我想问问visible设为真是什么东西 应该怎么设置 我的是财务软件使用时出现错误窗口 Cannot focus a disabled or invisible window
baoji1101年前1
spsmgs11 共回答了21个问题 | 采纳率95.2%
Cannot focus a disabled or invisible window 这洋文的意思是,不能将焦点移动到一个没有显示的窗体上的控件中.出现这种错误的原因,一般都是先执行某窗体上某控件得到焦点,然后再执行某窗体显示的命令而造成的.
初学RAD"excepted implementation but recived begin"DELPHI 2010
初学RAD"excepted implementation but recived begin"DELPHI 2010 BEGIN那个错误的提示
ghr5201年前1
wbd715 共回答了13个问题 | 采纳率76.9%
多贴出点代码,才能看出问题啊.
delphi使用不等于和or时的问题
delphi使用不等于和or时的问题
A:String ,用if和or判断,实现如果A不在'a','b','c'三者之一的任何一个的,如not in['a','b','c']
enliulang1年前1
jixiong6666 共回答了16个问题 | 采纳率87.5%
if not ((A = 'a') or
(A = 'b') or
(A ='c')) then
showmessage('不在abc中')
else
showmessage('在abc中');
Delphi 查询 Access 错误:Field 平均 not found
Delphi 查询 Access 错误:Field 平均 not found
adoquery1.SQL.Clear;
adoquery1.Close;
adoquery1.sql.add('select avg(English) as 平均 from Subject');
adoquery1.ExecSQL;
edit1.Text := adoquery1.Fieldbyname('平均').AsString
adoquery1.sql.add('select MAX(English) from Subject');
求最大就行,用AS就不行,是不是access数据库不支持啊!名字我中英文改过N遍了!
期待下一个十年1年前1
阿盘家的饭 共回答了21个问题 | 采纳率85.7%
有几个问题:
adoquery1.Close; //先关闭在清除
adoquery1.SQL.Clear;
adoquery1.sql.add('select avg(English) as 平均 from Subject');
adoquery1.Open;//查询用Open,插入,新增,更新等等用ExecSQL
判断某个年份是闰年,年份数满足下述条件之一:(用Delphi中的语句)
判断某个年份是闰年,年份数满足下述条件之一:(用Delphi中的语句)
(一)能被4整除但不能被100整除的是闰年(二能被100整除又能被400整除的年份是闰年,设变量Y表示年份,写出判断Y是否闰年的布尔表达式
love琦1年前1
三十年无** 共回答了16个问题 | 采纳率100%
((Y mod 4) = 0) and ( ( (Y mod 100) 0) or ( (Y mod 400) = 0) )
delphi 关于chart中折线的问题
delphi 关于chart中折线的问题
chart1.Series[0].LinePen.Width:=2
为什么说我没定义呢?
还有我想改变线的颜色以及让每个坐标点以菱形来突出显示用代码怎么实现啊?
lfz11211年前1
东风上人 共回答了17个问题 | 采纳率100%
因为LinePen是TLineSeries系列的属性,需要进行一下类型转换,写成:
(chart1.Series[0] as TLineSeries).LinePen.Width:=2;
请问大家delphi中的除号用什么符号表示?
请问大家delphi中的除号用什么符号表示?
加减乘分别用+ - * 表示
请问在delphi中除号用什么表示啊?
裙子3331年前1
短线看空 共回答了11个问题 | 采纳率81.8%
delphi中的除法符号当然是'/'了.
在使用时要看好你想得到的结果,因为这涉及到你要用什么样的类型变量来接受它.如果只是一般的除法而不用对结果进行处理的话,可以用real类型变量接受:
procedure TForm1.Button1Click(Sender: TObject);
var
i : real;
begin
i := 3/7;
ShowMessage(FloatToStr(i));
end;
delphi出现Dataset not in edit or insert mode的问题
delphi出现Dataset not in edit or insert mode的问题
如下代码
procedure TStock.Button2Click(Sender: TObject);
begin
AdoTable2.Edit;
AdoTable2.FieldValues['库存数'] := AdoTable2.FieldValues['库存数']+AdoTable1.FieldValues['进货数量'];
AdoTable2.Post;
AdoTable1.Delete;
AdoTable1.Post;
end;
这段代码对应的退货按钮一点击就会出现错误project project1.exe
raised exception class EDatabaseError with message'ADOTable1:Dataset not in edit or insert mode'.
Process stopped.Use Step or Run to continue.”
是什么问题?
_wbvz274_zc77291年前1
liqiping 共回答了16个问题 | 采纳率93.8%
AdoTable1.Delete;
AdoTable1.Post; //这里有问题,不要这句
TDataSet在Delete的时候都是不需要Post的
delphi语言编程:π/4=1-1/3+1/5-1/7+…,请计算π的近似值 直到精确度10e-6位置
朝雨漪晨1年前1
甜甜的阳光宅男 共回答了19个问题 | 采纳率89.5%
用迭代的方式不断逼近,直到前后两次计算值差满足要求
procedure TForm1.Button1Click(Sender:TObject);
const
e=1.0E-6;//精度
maxn=10000000;//计算次数上限
var
n,k:longint;
ans1,ans2:extended;
begin
ans1:=0;ans2:=0;n:=-1;k:=-1;
repeat
k:=-k;n:=n+2;
ans1:=ans2;
ans2:=ans2+4*k/n;
until (abs(ans2-ans1)=maxn);
Edit1.Text:=copy(floattostr(ans2),1,trunc(-ln(e)/ln(10))+2);
end;
在用delphi计算一元二次方程的根时,虚根如何表示?
爱在爱中CC1年前1
月夜之城 共回答了21个问题 | 采纳率81%
先判断 b*b-4ac是否小于0,若小于0,则置标记flag:=1;
在输出根的时候,如果flag=1;那么
对b*b-4ac用函数ABS取绝对值后再开方,同时在其后面多输出一个字符i即可
delphi with do语句的解释
delphi with do语句的解释
书上的例子 我不太能够理解 能不能介绍几个简单的例子 加以文件说明
这个我懂,就象复杂的比如with Control as TlistBox do
begin
Canvas.Framtrct(Clientect);
if odSelected in State then
begin
...
end
else
begin
...
end
end;
我就不太理解了
deskzi1年前1
booppp 共回答了24个问题 | 采纳率83.3%
比如说btn1.caption这个属性,一个还好,我们可以慢慢写,但是如果又有btn1.hint这写.
我们就可以用
btn1.caption:='';
btn1.hint:='';
等于
with btn1 do
begin
caption:='';
hint:='';
end;
其实就是为了省略前面部分.
with Control as TlistBox do
就是把Control当成TlistBox,这个是类型转换,然后就是with do的语句了塞.
Delphi EDIT文本框内的数字,四舍五入之后,保留两位小数
Delphi EDIT文本框内的数字,四舍五入之后,保留两位小数

我这个合格率现在 是 23.076923.很多个小数位.


怎么让它自动显示为 23.08 保留两位小数,四舍五入的.

Edit5.Text:=FloatToStr(StrToInt(Edit4.Text) / StrToInt(Edit1.Text)*100);

这是我的现代码,请帮我修改一下..
qq759161年前1
静悄悄的云 共回答了13个问题 | 采纳率92.3%
Edit5.Text:=Format('x=%.2f', [StrToInt(Edit4.Text) / StrToInt(Edit1.Text)*100]);
//.2f表示2位小数浮点数
如何理解:The Delphi method,like the jury of executive opinion me
如何理解:The Delphi method,like the jury of executive opinion method
完整的这句话:The Delphi method,like the jury of executive opinion method,is based on soliciting the opinions of expert.
"like the jury of executive opinion method "主要是这句
微澜止水1年前1
钱家文 共回答了18个问题 | 采纳率100%
特尔斐法就像是最终执行方法的评判委员会,它是建立在对专家们的意见的征求的基础上的.