我有两个memo,memo1有N行数据,形如 1,2,3,4,5,6,7(七个数字一组,每个数字在1-30之间,数字之间用,隔开) ,memo2内有N行形如 12,3,24,5,6,7 (六个数字一组,每个数字在1-30之间,数字之间用,隔开),我想将memo1内所有和memo2内各行六个数字相同的行找出来留在memo1内,其它删除?如何实现?最好给点提示代码?谢谢
解决方案 »
- 问一个TADOQuery的问题
- 使用本机IP可以访问 但使用127.0.0.1无法访问数据库! 急!!
- 请问大家 这个是 delphi里面的宏吗???
- 使用DBGRIDEH 和adoquery 我怎么不能显示出数据来呢 .dbgrid就可以,还有使用DBGRIDEH 进行数据输入,怎么做,包括增加\ 修改和删除
- 新手调试程序这里有错误,高手帮我看一下啊
- “桃李春风结子纨“,猜一姓
- 请教高手,如何编程获得windows系统中arp -a命令所得的地址对应表?
- 这个问题缠了我好几天!请高手赐教。
- 系统分析员、系统设计师培训讨论,参与者有分
- 考勤表做法
- 程序运行的时候没有错误 为什么调试的时候会提示错误
- delphi snmp 网管软件
var i:Integer;
s,t:string;
begin
for i := 0 to Memo1.Lines.Count -1 do
begin
s:=Copy(Memo1.Lines.Strings[i],1,Length( Memo2.Lines.Strings [i]));
if s=Memo2.Lines.Strings[i] then
t:=t+s+#13#10;
end;
memo1.text:= t;
end;
i, j, k, Count: Integer;
sl1, sl2 :TStringList;
begin
sl1 :=TStringList.Create;
sl2 :=TStringList.Create;
try
for i := Memo1.Lines.Count-1 downto 0 do
begin
sl1.DelimitedText :=Memo1.Lines[i];
for j := 0 to Memo2.Lines.Count - 1 do
begin
Count :=0;
sl2.DelimitedText :=Memo2.Lines[j];
for k := 0 to sl1.Count - 1 do
if sl2.IndexOf(sl1[k])>=0 then
Count :=Count+1;
if Count>=6 then
Break;
end;
if Count<6 then
Memo1.Lines.Delete(i);
end;
finally
sl1.Free;
sl2.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i, j, k, Count: Integer;
sl1, sl2 :TStringList;
begin
sl1 :=TStringList.Create;
sl2 :=TStringList.Create;
try
for i := Memo1.Lines.Count-1 downto 0 do
begin
sl1.DelimitedText :=Memo1.Lines[i];
for j := 0 to Memo2.Lines.Count - 1 do
begin
Count :=0;
sl2.DelimitedText :=Memo2.Lines[j];
for k := 0 to sl1.Count - 1 do
if sl2.IndexOf(sl1[k])>=0 then
Count :=Count+1;
if Count>=6 then
Break;
end;
if Count<6 then
Memo1.Lines.Delete(i);
end;
finally
sl1.Free;
sl2.Free;
end;
end;