while not (S[t] in ['0'..'9','A'..'F','a'..'f']) doif (t+1>Length(S))or(not (S[t+1] in ['0'..'9','A'..'F','a'..'f'])) then
ts:='$'+S[t]谢谢
ts:='$'+S[t]谢谢
解决方案 »
- 怎么实现 关闭程序时候,跳出输入密码框,如果输入正确则退出,如果错误则回到程序界面
- delphi闯荡北京怎么样?
- 有关MDI编程的问题!
- 简单的问题!
- 看到大家对我们的真诚的祝福,作为csdn的一员,极是感动!!!(二)(请斑竹手下留情,容我再表示心情)
- 招骋软件开发人员--福州地区
- 我有一个函数里面有一句Reset(DatTextFile);老实报错,能帮我看看为什么吗
- delphi5 中可以用什么算法代替Delphi2009中的for in 循环啊?
- 请教大侠们如果用DELPHI安装HOOK到winlogon.exe 这个进程中.
- 请教各位,怎样通过函数名得到程序包中函数的函数指针?类似DLL的GetProcAddress()
- Clientdataset 读取SQL图片字段后在image 显示不完整
- 文件名包含特殊字符,怎么办?
s[t]是char或string类型数组;
['0'..'9','A'..'F','a'..'f'])集合类弄,其值是字符类;
s、ts是string类型;
第一句:是while循环语句,只要s[t]不是['0'..'9','A'..'F','a'..'f'])指定的字符中之一,执行if语句;
第二句:是if条件语句,包含二个条件:
1、字符S长度小于T+1
2、数组s[t+1]的值是['0'..'9','A'..'F','a'..'f'])集合中指定的字符
当上述二外条件中,有一个为真时,执行第三句。
第三句:
第三名:将字符$和s[t]数组中的字符,赋值给ts.
2:这个语句的t+1>Length(S)应该是判断是否到了字符串的末尾,
(not (S[t+1] in ['0'..'9','A'..'F','a'..'f']))这个是判断是否已经到了一个16进制的数的末尾,即后面已经不是16进制数的字符了
ts:='$'+S[t]这个语句是给一个16进制数的字符串加上$符号,准备做strtoint处理,因为一个整型数如果前面有$表示这个数是16进制数PS:BS蛋贴