ShowMessage(TempVar[0]),显示7,但为什么 TempVar[0]不等于'7'? (50分)

  • 主题发起人 主题发起人 aldz
  • 开始时间 开始时间
A

aldz

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
Var
TempVar : Array[0..8] Of byte;
i, EndValue : integer;
SN,FileName : String;
key : String;
F : File Of byte;

Begin
FileName := 'Key.dat';
SN :='608174206'
EndValue := Length(SN) - 1;
AssignFile(F, filename);
reset(f);

For i := 0 To 8 Do

Begin
//循环读入每一个字节
blockread(F, TempVAR,1)
//是不是用Read更好一些呢?
If char(TempVar:= '7' Then //
messagebeep //不会执行到这一句!
else
halt

end;
我将MOUSE移到TempVar上,明明看到
TempVar = (7,167,57,64,0,168,230,66,0),照提示看TempVar[0]=
'7',怎么 If TempVar= byte('7') Then或
If IntToStr(TempVar)='7' Then 或
If chr(TempVar[0])= '7' Then都没用?

 
If char(TempVar:= '7' Then
^
 
TempVar[0]=#7
 
因为你的TempVar = (7,167,57,64,0,168,230,66,0),而你的tempvar是byte型的,
所以你直接tempvar[0]=7 就可以了
 
先生, 那个7是#7, 字符7必须是=Ord('7')
 
#表示什么数据类型?是不是Integer?
 
什么呀,#7表示的是字符,如#13是回车的意思,#10是空格
 
后退
顶部