我现在在做一个程序,目的是把从外界收进来的数以一个文件的形式存起来,我把收进来的二进制数变成了string,然后对它进行处理,判断它若为负数就求反码,
if a[x]=chr(30) then
a[x]:=chr(31)
else
a[x]:=chr(30);
x:=x+1;
运行后没有错误,但是按了按钮后 ,就弹出错误信息
project project2.exe raised exception class EAccessViolation with message 'access violation at address 0044F5BB in module 'project2.exe'.read of address 00000002'process stopped.
然后就是上面的程序出错了,希望各位多加指点,是我这几句话写错了,还是要再加入什么,拜托各位多多指点了!!!
if a[x]=chr(30) then
a[x]:=chr(31)
else
a[x]:=chr(30);
x:=x+1;
运行后没有错误,但是按了按钮后 ,就弹出错误信息
project project2.exe raised exception class EAccessViolation with message 'access violation at address 0044F5BB in module 'project2.exe'.read of address 00000002'process stopped.
然后就是上面的程序出错了,希望各位多加指点,是我这几句话写错了,还是要再加入什么,拜托各位多多指点了!!!
解决方案 »
- 【delphiXE2】 终于弄出第一个IOS 的程序了
- ERP软件开发QQ群:7857155,诚邀你的加入。。。
- 苏州地区招聘熟悉delphi & Sqlserver的程序员,薪水面议。急需
- 如何使第一个打开的窗体不是主窗体?谢谢
- 问一个很菜的问题,怎样设置客户数据集的Datasetfield 属性
- DELPHI7的TStream为什么不能读取超过10000的BUFFER?
- 如何用(Delphi)实现文件的分割合并?(100分送上)
- 我没分,但我有问题!
- 偶的师傅们在吗?:一个问题。tell me
- DELPHI新病毒来啦!
- 各位请问数据源和数据集的关系?谢谢啦!
- 如何为dbgrideh控件添加LineColor属性,可以在设计时任意改变dbgrideh的行、列线颜色?
Edit1.Text里存的就是收到的二进制数,但我把它已经转成string了begin
b:=length(Edit1.Text);//计算字节数
if b=16 then
a:=Edit1.Text;//每16位取出
if a[3]=chr(30) then
delete(a,1,3)//如果第三位为0表示正数,去掉头三位没用的数
else
delete(a,1,2);//否则为负数,去掉头二位
x:=1;
while x<15 do
begin
if a[x]=chr(30) then
a[x]:=chr(31)
else
a[x]:=chr(30);
x:=x+1;
end;
e:=a;//14位数
c:=bintoint(e);//转化为十进制数
大家多多指点呀,万分感谢!!
while x<15 do
---------------------->>>>>>>>>>
while x<(length(a)+1) do
我也发现变量定义得很乱,有时自己也糊涂了,但我从外界收进来的就是字符串,又要让它循环,只能再定义整形了,不知有没有更好的方法呢?
我照楼上说得改了,可还是那个错误呀,而且又提示在 if a[3]=chr(30) then 这地方错了,实在不知道怎么改呀,一头雾水,大家多多帮忙!!!