var
UserPurviewSet : (R,E,D) ;
begin
UserPurviewSet := CurrentUser.Purview; //CurrentUser.Purview 是从数据库中查到的一个string,这样赋值编译不过去
case UserPurviewSet of
R :
E :
D :
else
end;
UserPurviewSet : (R,E,D) ;
begin
UserPurviewSet := CurrentUser.Purview; //CurrentUser.Purview 是从数据库中查到的一个string,这样赋值编译不过去
case UserPurviewSet of
R :
E :
D :
else
end;
解决方案 »
- 没有找到COMP32XMOD.DLL,因此这个应用程序未能启动。
- Operation not allowed on a unidirectional dataset错误?
- IdUDPClient1.Send的问题 来者有分
- DBNavigator 增加记录时抱错
- Shell_NotifyIcon出来的系统托盘图标怎么能让他好看一点?
- 问两个Form的问题。
- 如何将PCHAR类型转换成IUnknow接口?
- 关于用更改函数前5字节的方法来拦截API的问题!迷茫中。。。
- 请问如何完全编译程序?(30分相送)急!急!急!
- 在delphi运行期,怎么样把动态设置的界面保存为一个文件,然后在其它程序功能中进行调用?
- 如何能让SpeedButton能用JPG文件格式的图片
- ΘDelphi蔼も
比如:
Case CurrentUser.Purview of
'R': UserPurviewSet := R;
....
end;楼主,你的UserPurviewSet不是集合,而是枚举型的。
TUserPurviewSet = (R,E,D);procedure TForm1.Button1Click(Sender: TObject);
var
UserPurviewSet: TUserPurviewSet;
S: string;
begin
S := 'D';
UserPurviewSet := TUserPurviewSet(GetEnumValue(TypeInfo(TUserPurviewSet), S));
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
你那样写的case通不过编译
case 不支持string
有其它的解决办法吗?CurrentUser.Purview 在数据库中定义的字符串类型
或者自己写个
type
TUserPurviewSet = (R,E,D);procedure TForm1.Button1Click(Sender: TObject);
var
UserPurviewSet: TUserPurviewSet;
S: string;
function GetValue(S:String):TUserPurviewSet;
begin
if S = 'R' then Result:=R
else if S = 'E' then Result:=E
else if S = 'D' then Result:=D;
end;
begin
S := 'D';
UserPurviewSet := GetValue(S);
case UserPurviewSet of
D: showmessage('D');
E: showmessage('E');
R: showmessage('R');
end;
end;
lxpbuaa(桂枝香在故国晚秋)给出的方法对我认识delphi有很大帮助