有一批文件,其中都包含一段相同的内容,不知道此内容的长度。如何能够检测出这段内容呢?
解决方案 »
- 100分:用ado连接数据库,ip为本机:127.0.0.1,结果把网线拔掉,居然链接不上!
- 关于blob数据从数据库提取出来数据量减少的问题
- 讨论:数据库管理程序,你设计成用户可以同时打开多个窗口吗?还是同一时刻只能打开一个窗口?
- 菜鸟的几个问题------------------------(高手请进)
- 怎样在程序中打开lAN中有共享密码的文件夹?密码已知.
- dll发布的几个问题
- 请问Winsock一次能传送多少字节的数据?请指教!
- DELPHI6 BDE的问题
- 问:使用TFileStream写文件时,该控制换行?
- 请教:怎样让自己的程序检查到注册表有发生变化?(就是做个监视记录注册表的改变)
- 快过年了,请各位:贴有答案的尽早结,还没有答案的提前
- 急!!!!Creport4.02 打印问题
var
S1, S2, S3 : string;
I : integer;
Found : boolean;
begin
S1 := Memo1.Text; //用三个string测试
S2 := Memo2.Text;
S3 := Memo3.Text;
Found := false;
for I := 1 to Length(S1) do //先找到第一个相同的字符
if (Pos(S1[I], S2)>0) and (Pos(S1[I], S3)>0) then
begin
Found := true;
Break;
end;
if Found then
begin
S2 := Copy(S2, Pos(S1[I],S2), MaxInt);
S3 := Copy(S3, Pos(S1[I],S3), MaxInt);
S1 := Copy(S1, I, MaxInt);
for I := 1 to Math.Min(Math.Min(Length(S1),Length(S2)),Length(S3)) do
if (S1[I] <> S2[I]) or (S1[I] <> S3[I]) then break;
Memo4.Text := Copy(S1, 1, I-1);//相同的内容
end else Memo4.Text := '没找到任何相同的内容';
end;procedure TForm1.FormCreate(Sender: TObject);// 'ABC'相同
begin
Memo1.Text := '123ABCD';
Memo2.Text := '45ABCD67';
Memo3.Text := '8ABC9D';
end;如果不是文本文件,我想处理的算法应该是一样的。再就是,第二个循环是不是可以用集合运算更快。不怕楼主及阅贴者笑话了。哈哈。