起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 425|回复: 13

【结贴】[请求]请问X3中几个语法问题~

[复制链接]
发表于 2009-10-9 16:01:48 | 显示全部楼层 |阅读模式
请问:
1,delphi中的string int等几个基本数据类型可以通过Tobject('等待转换的基本数据类型') 强制转换成对象,X3中如何做。

2. delphi中通过geteumname(Typeinfo(TFieldType),ord(ftinteger))) 方法实现枚举类型和字符串的转换,但是X3中虽然有这个方法但是在使用中.TfieldType如何转换成X3 中TypInfo.GetEnumName函数所需的TTypeInfo


谢谢
回复

使用道具 举报

发表于 2009-10-9 16:19:53 | 显示全部楼层
1、tclass(实例)  比如  YWXX1.TYWXX1(Infobroker.info).方法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-9 16:29:36 | 显示全部楼层
版主 能说明白点吗?我刚用X3,帮我把这段代码实现下:

1,combobox1.additem('abcd',Tobject(123));
取值  Fint:=Integer(combobox1.items.objects[0])

2,var
  Fstr:String;
FStr:= geteumname(Typeinfo(TFieldType),ord(ftinteger))) ;

帮我实现下谢谢了
回复 支持 反对

使用道具 举报

发表于 2009-10-9 16:42:32 | 显示全部楼层
TMyid=class(TObject)
    id:integer;
  end;

procedure TMainForm.Button2Click(Sender: TObject);
var
   Fint:integer;
   b:TMyid;
begin
b:=TMyid.create;
b.id:=123 ;
combobox1.additem('abcd',b as Tobject);
Fint:=((combobox1.items.objects[0]) as tmyid).id;
dialogs.ShowMessage(sysutils.IntToStr(Fint));
end;
释放的没有写,请自行将内存释放。
类似:
procedure TKBBD1.FormDocDestroy(Sender: TObject);
var
   i:integer;
   tmpId:TMyid;
begin
   for i:=0 to TreeList1.Count-1 do
   begin
      tmpId:=TreeList1.Items.Data as  TMyid;
      tmpid.free;
   end;
end;
回复 支持 反对

使用道具 举报

发表于 2009-10-9 16:46:13 | 显示全部楼层
2这个没接触过,你的例子写的不全,也不好试验。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-9 16:50:54 | 显示全部楼层
楼上的 你的例子不是我的意思:

   我的意思把 string ,ineger 这几种基本的数据类型转换成为tobject

   还有第2个问题是枚举类型转换成字符串,或者将字符串转换成为枚举类型 delphi中的做法
回复 支持 反对

使用道具 举报

发表于 2009-10-9 17:12:30 | 显示全部楼层
1、你直接写不行,必须这样绕一下。不能直接转,否则会报000错误。因为没申请变量的空间。
x3通过声明自定义类,然后create这个类,就可以对变量申请空间了。
2、我确实没这样用过,你写个例子我看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-10 08:44:19 | 显示全部楼层
比如说我想知道 query.state 在运行期把它showmessage出来

   delphi中是
   var
      Fstr:String;
   FStr:= geteumname(Typeinfo(TDataSetState),ord(query.state))) ;
      showmessage(FStr)  就能获得
      这样一个方法就可以
回复 支持 反对

使用道具 举报

发表于 2009-10-10 08:56:15 | 显示全部楼层
楼主,geteumname需要引用哪个单元?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-10 09:41:05 | 显示全部楼层
delphi中引用Typeinfo   X3中引用GetEnumName所在的Business.System.TypInfo单元
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-15 12:20 , Processed in 0.041178 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表