CASE语句 的表达式结果类型 假如为字符串类型,要怎么处理?

来源:百度知道 编辑:UC知道 时间:2024/06/25 18:57:29
delphi编程中
CASE语句语法为

case 表达式 of
常数1:语句1
...
常数N:语句N

1、其中CASE语句 的表达式结果类型,不能为实型或字符串类型
2、各个常数的类型必须和表达式结果类型一致

但是我现在需要的表达式的记过为STRING,请我要怎么要处理?

对于这个问题,我在我的软件中采用求ASC码值的方法,将每一位的ASC码值加起来,再case of,(因为我们事先知道具体的字符串,要不然,您怎么比较呢?)
我做的例子的unit1窗体如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i,j,k:integer;
begin
s := Edit1.Text;
j := length(s);
i :=0;
for k :=1 to j do
i := i+ord(s[k]);

case i of
97:messagebox(0,'50','50',mb_ok);{假设为a 97}
98:messagebox(0,'51','51',mb_ok);{假设为b 97}

{常数N:语句N
..