var
S:array of char;
stream:TStream;
str:string;
.....
begin
str:='待查找字符串';
stream:=keyADO.CreateBlobStream(keyADO.FieldByName('Content'),bmRead);
stream.Position:=0;
SetLength(S,stream.size);
stream.Read(S[0],stream.size);
if Pos(str,string(S)>0 then
ShowMessage('找到了!');
end;
Content字段保存的是word文档.
用此法查找字符串时,可以95%的找到需要查找的字符串,可就是有极个别的查找不到,不知错在何处?
Content
S:array of char;
stream:TStream;
str:string;
.....
begin
str:='待查找字符串';
stream:=keyADO.CreateBlobStream(keyADO.FieldByName('Content'),bmRead);
stream.Position:=0;
SetLength(S,stream.size);
stream.Read(S[0],stream.size);
if Pos(str,string(S)>0 then
ShowMessage('找到了!');
end;
Content字段保存的是word文档.
用此法查找字符串时,可以95%的找到需要查找的字符串,可就是有极个别的查找不到,不知错在何处?
Content
解决方案 »
- SPCOMM注册问题
- spcom 在筆記本電腦上收不到數據,但在另一台試机上就行,不知何原因.已經困擾我一個星期了,請大家幫忙!
- 相同格式的EXCEL文件如何合并成一个EXCEL文件?修改完后在分成不同的EXCEL?
- Delphi中的Pos函数对中文支持有问题,如果有中文返回int实际是错的,大家一般怎么处理?尤其是在又有中文又有E文的字符串处理?
- 如何实现检测远程程序是否更新?
- 字符转换的问题??急用?
- 高分求f16book6.0汉化版本,急急急!!!
- jerryjean()请进来接分~
- 参数为TStrings类型的,如何在Dll动态库中传入,马上给分的!!
- RICHED20.DLL缓存溢出,解决方法
- 终止过程的问题
- 【新手求助】socket网络通信
这问题确实有点怪,当我对不能查找到某字符的word文档稍微编辑一下再保存至数据库,一般再去又此法搜索时又能找到字符串。
~~~~
一些不可见字符(包括汉字)都被重新编码掉
除非将编码还原,才可以100%定位
if Pos(str,string(S))>0 then 改成if Pos(str,Widestring(S))>0
应该是 2字节和单字节的区别吧~
楼主是不是找汉字才找不到的?