找出a1中的b1,并把所有的b1显示到edit3里
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var a1,b1:string;
i:integer;
begin
a1:=edit1.Text;
b1:=edit2.Text;
i:=pos(b1,a1);
while i<=length(a1) do
begin
edit3.Text:=copy(a1,i,1);
i:=i+1;
end;
end;end.
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var a1,b1:string;
i:integer;
begin
a1:=edit1.Text;
b1:=edit2.Text;
i:=pos(b1,a1);
while i<=length(a1) do
begin
edit3.Text:=copy(a1,i,1);
i:=i+1;
end;
end;end.
解决方案 »
- VclZip 能解压文件到Stream吗?
- delphi进度条运行时其他的button不能用
- 为什么我的程序里定义了一个双精度型的字段,在DBGRID里就不能输入小数了呢
- delphi中如何取得Excel总的数据集的个数
- 怎么让一个变量等于access数据库里的一个表的某一条纪录的一个字段的值?
- 如何动态生成TQrBand设置它的BandType?
- 贴者有分!我正作可视会议系统,请各位帮忙策划策划
- 为何不能在Delphi 6中不能使用TQRChart
- 写了一个简单的midas程序,server与client分别放在两台机上,老是说拒绝访问!!把ip指向本机就没问题,why?
- 怎样让用只能下拉ComboBox的选项而不能修改选项的内容?
- 再次问一个SQL
- Printer打印图像的问题
放循环里面~
b1的值为c
那么EDIT3.text:='cccccc'
程序的目的是:找出a1里面的字符c,并把所有的c字符显示到EDIT3
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var a1,b1:string;
i:integer;
begin
a1:=edit1.Text;
b1:=edit2.Text;
i:=pos(b1,a1);
while i <=length(a1) do
begin
edit3.Text:=copy(a1,i,1);
i:=i+1;
end;
end; end. 这个循环好像只执行了一次!
var
s : array of char;
a1, b1 : string;
i : integer;
begin
a1 := edit1.text;
b1 := edit2.text;
setlength(s,length(a1)-1);
edit3.clear;
for i:=0 to length(a1)-1 do
begin
if b1 = s[i] then
edit3.text := edit3.text + b1;
end;
end;
end. 我随便写的,没测试。你试试/
这样写循环再查到的字符串会覆盖原来查到的,肯定只会找到最后一个了。
要这样:
edit3.Text:=edit3.Text+copy(a1,i,1);
或者定义个字符串变量,在赋值给edit3.Text。
a1,b1:string;
i:integer;
begin
a1:=edit1.Text;
b1:=edit2.Text;
i := 0 ;
Edit3.clear;
while i <=length(a1) do
begin
i:=pos(b1,a1);
edit3.Text:=edit3.Text + Copy(a1,i,1);
a1 := rightstr(a1, (Length(a1)-i));
end;end;
要用rightstr()
先要uses StrUtils,
1:如果只有一个,哪个就直接用POS
2:好多个A1在b1,那么就用到pos,copy和循环 连用判断才解决问题