Integer 类型 咋 转换 成 Set of 类型呀
2004-12-17 09:56:58 TCP/IP INFO(31329846)
Integer 类型 咋 转换 成 Set of 类型呀
2004-12-17 10:03:26 /:>D10.天地弦(185511468)
TSets(integer)
2004-12-17 10:04:17 TCP/IP INFO(31329846)
好,我试试,昨天找帮助,找了半天也没找到
2004-12-17 10:07:34 /:>D10.天地弦(185511468)
好像是的,我有用过
2004-12-17 10:09:34 TCP/IP INFO(31329846)
不行呀,TSets好像没有这个类型
2004-12-17 10:10:49 B3.Locet(2212967)
TSets是你type的啊```
2004-12-17 10:11:06 /:>D10.天地弦(185511468)
[:L]
2004-12-17 10:11:14 /:>D10.天地弦(185511468)
[:D]
2004-12-17 10:11:19 /:>D10.天地弦(185511468)
B3说的对联
2004-12-17 10:11:20 TCP/IP INFO(31329846)
哦
2004-12-17 10:11:31 /:>D10.天地弦(185511468)
TSides(1)
2004-12-17 10:11:51 TCP/IP INFO(31329846)
那样的就更不行了,我昨天就试了
2004-12-17 10:11:59 /:>D10.天地弦(185511468)
我试试
2004-12-17 10:12:16 TCP/IP INFO(31329846)
var
lShiftStates:TShiftState;
begin
lShiftStates:=[ssShift];
lShiftStates:=lShiftStates(2);
2004-12-17 10:12:17 B3.Locet(2212967)
JAVA一定是这样强制的~~~DELPHI``
2004-12-17 10:12:30 B3.Locet(2212967)
...........
2004-12-17 10:12:31 TCP/IP INFO(31329846)
C也是这样强制的
2004-12-17 10:12:52 TCP/IP INFO(31329846)
Delphi 就这个 set of 类型 没弄出来
2004-12-17 10:13:13 TCP/IP INFO(31329846)
var
lShiftStates:TShiftState;
begin
lShiftStates:=[ssShift];
lShiftStates:=TShiftState(2);
2004-12-17 10:13:23 TCP/IP INFO(31329846)
上一个打错了,呵呵
2004-12-17 10:13:55 TCP/IP INFO(31329846)
应该是TShiftState(2); 而不是lShiftStates(2);
但还是不行
2004-12-17 10:14:33 B3.Locet(2212967)
.........类型是一样的啊
2004-12-17 10:15:18 B3.Locet(2212967)
哦哦````还是不行吗?出什么错了``
2004-12-17 10:16:47 笑看风云(22308456)
如何把一字符串“0001001100...”转换为二进制?
2004-12-17 10:16:50 TCP/IP INFO(31329846)
其实,我的程序是想 将一个 set of 类型变量的值 通过 PostMessage 传给其他窗体,其他窗体 在将值转换为 Set of类型
2004-12-17 10:53:05 A3.武稀松(42088303)
我就是这样转化保存到XML文件的可以的.
2004-12-17 10:54:16 TCP/IP INFO(31329846)
A3:
var
lShiftStates:TShiftState;
begin
lShiftStates:=[ssShift];
lShiftStates:=TShiftState(2);
2004-12-17 10:54:55 TCP/IP INFO(31329846)
TShiftState 是一个set of 类型了(集合类型)
2004-12-17 10:55:27 TCP/IP INFO(31329846)
运行时说,无效的类型转换
2004-12-17 10:55:46 TCP/IP INFO(31329846)
是编译时,提示的错误
2004-12-17 10:56:51 A3.武稀松(42088303)
var
I:Byte;
S:TShiftState;
begin
S := [ssShift];
I:=Byte(S);
S := TShiftState(I);
end;
2004-12-17 10:57:51 A3.武稀松(42088303)
默认集合是一个子节,255个元素的.除非加编译指令说明是4个字节猜能和Integer进行转化.默认情况下可Byte进行转化就行了
2004-12-17 10:58:49 TCP/IP INFO(31329846)
是呀,我昨天试的时候,可以将结合转成byte
2004-12-17 10:59:01 TCP/IP INFO(31329846)
通过了,谢谢,我再看看
2004-12-17 11:01:14 TCP/IP INFO(31329846)
呵呵,好奇怪,昨天在家试验,就是不能将byte 转回 set of 类型,反过来将set of 类型 转成byte 可以,[:L]
2004-12-17 11:01:52 A3.武稀松(42088303)
有编译指令说明的.集合未必就是一给字节.不过默认是一个子节,可以调整
2004-12-17 11:02:07 A3.武稀松(42088303)
估计你的里面有编译指令哦
2004-12-17 11:02:18 TCP/IP INFO(31329846)
好,呵呵再找找,谢谢A3兄
2004-12-17 11:02:57 A3.武稀松(42088303)
解决问题就好[:D]
2004-12-17 11:10:07 TCP/IP INFO(31329846)
找到编译指令了,是{$Z1} or {$Z2} or {$Z4}
2004-12-17 11:12:04 TCP/IP INFO(31329846)
{$Z1} :1B
{$Z2} :2B
{$Z4} :4B
2004-12-17 11:12:22 A3.武稀松(42088303)
嗯.4个字节才能用整数进行转化
2004-12-17 11:12:53 TCP/IP INFO(31329846)
{$Z1} 是Default
2004-12-17 11:12:58 A3.武稀松(42088303)
YES
2004-12-17 11:13:06 TCP/IP INFO(31329846)
好,问题解决,工作了,^_^