鱼C记事本发现的几个问题and交作业
本帖最后由 沉思的牛 于 2013-8-20 13:58 编辑在学习鱼C记事本遇到了几个问题现在和大家讨论一下:
问题1:小甲鱼的代码不能向下查找
为了理解小甲鱼的代码,我进行单步调试,却发现J的值和我想的不一样赋值为0为什么会是2
到这里我就不明白小甲鱼的代码了
然后我自己写了一个查找的代码,能向下查找,大家看看
//按下查找按钮
procedure TForm1.FindDialog1Find(Sender: TObject);
var
PosReturn: Integer;
begin
if startflag = 0 then//第一次进来
begin
str:=memo1.Text;//所有字符串给str
posreturn:=pos(finddialog1.FindText,str);//查找第一次出现的位置
if(posreturn =0 ) then//第一次查找不到
messagebox(handle,'查找不到','提醒',MB_OK)
else
begin
str:=copy(str,posreturn+1,length(memo1.Text)-posreturn); //原来查找过的就不要了撒
//ShowMessage(Str);
// showmessage(inttostr(PosReturn));
ptr:=ptr+PosReturn;//ptr是光标位置
Memo1.SetFocus;//设置焦点
Memo1.SelStart:= ptr-1; //设置光标位置
Memo1.SelLength:= Length(FindDialog1.FindText); //显示蓝色光标
startflag:=1;//置一
end;
end
else //第二次及其以上
begin
posreturn:=pos(finddialog1.FindText,str); //在Str里面找
str:=copy(str,posreturn+1,Length(str)-PosReturn); //更新Str
ptr:=ptr+PosReturn;
// showmessage(str);
// showmessage(inttostr(PosReturn));
// showmessage(inttostr(ptr));
If PosReturn <> 0 then // 不等于0就是能查找到
begin
Memo1.SetFocus;//设置焦点福克斯
Memo1.SelStart:=ptr-1; //设置光标位置
Memo1.SelLength:= Length(FindDialog1.FindText); //显示蓝色光标
end
else
messagebox(handle,'查找不到','提醒',MB_OK); //查找完毕
end;
end;
//按下取消按钮
procedure TForm1.FindDialog1Close(Sender: TObject);
begin
//两个都是全局变量
startflag:=0; //这个是查找标志
ptr:=0; //这个是设置光标位置
end;
OK, 到这里自己把查找的问题解决了;
但是小甲鱼的代码没有能理解,还有调试哪里J的值,和预期的不一样,大家来解决一下;
然后我们讨论问题二
问题2:帮助里面的字符和小甲鱼视频里面不一样
看图
小甲鱼的代码为什么我编译过后不一样?
强烈支持楼主ing...........:lol: 没怎么接触delphi 7只能支持一下 啦(*^__^*) 嘻嘻…… :dizzy:上次是科技的实力的vcd试试 牡丹花下死做鬼 发表于 2013-8-20 14:08 static/image/common/back.gif
没怎么接触delphi 7只能支持一下 啦(*^__^*) 嘻嘻……
帖子沉了。。。。 只有当进入for循环,j 才会被赋值为0
第二个问题,那是系统注册的原因,看下系统属性里的注册到吧 comeheres 发表于 2013-8-21 10:23 static/image/common/back.gif
只有当进入for循环,j 才会被赋值为0
第二个问题,那是系统注册的原因,看下系统属性里的注册到吧
进到了for循环里面去了的,单步的时候都进去了 沉思的牛 发表于 2013-8-21 11:18 static/image/common/back.gif
进到了for循环里面去了的,单步的时候都进去了
你的i为0
i-1就是-1
For j:=0 to -1 do
j肯定不能赋值了 comeheres 发表于 2013-8-21 11:32 static/image/common/back.gif
你的i为0
i-1就是-1
谢谢{:5_108:}明白了
居然犯这种低级错误{:5_107:}
页:
[1]