• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi下的通配符查找函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
//Delphi 下的通配符查找函数
Function
 IsLike(ax, abc: String): Boolean; //ax是子串,abc是源串 Var   abcstart, axstart, abclength, axlength: Integer;   endpartabc, endpartax, subax: String;   temp, abcwww, axwww: Integer; Begin //aaa   temp := 0;   abcstart := 1;   axstart := 1;   axwww := 1;   abcwww := 1;   ax:=LowerCase(ax);   abc:=LowerCase(abc);   abclength := Length(abc);   axlength := Length(ax);   result := True;   While axstart <= axlength Do Begin //bbb     If ax[axstart] = '?' Then Begin       inc(axstart);       inc(abcstart);       If abcstart > abclength+1 Then Begin         result := false;         Break;       End;       Continue;     End;     If ax[axstart] = '*' Then Begin       inc(axstart);       temp := 1;       axwww := axstart;       abcwww := abcstart;       Continue;     End;     If Not (ax[axstart] In ['?''*']) Then Begin //ccc       endpartax := Copy(ax, axstart, axlength - axstart + 1) + '?*';       If Pos('?', endpartax) < Pos('*', endpartax) Then Begin         subax := Copy(endpartax, 1, Pos('?', endpartax) - 1);         axstart := axstart + Pos('?', endpartax) - 1;       End       Else Begin         subax := Copy(endpartax, 1, Pos('*', endpartax) - 1);         axstart := axstart + Pos('*', endpartax) - 1;       End;       endpartabc := Copy(abc, abcstart, abclength - abcstart + 1);       If ((Pos(subax, endpartabc) <> 0And (temp = 1)) Or ((Pos(subax, endpartabc) = 1And (temp = 0)) Then Begin //ddd         If temp = 1 Then temp := 0;         abcstart := abcstart + (Pos(subax, endpartabc) + Length(subax) - 1);       End       Else  Begin //ddd         If temp = 0 Then Begin           axstart := axwww;           abcwww := abcwww + 1;           abcstart := abcwww;           temp := 1;           Continue;         End;         result := false;         Break;       End//ddd     End//ccc   End//bbb End//aaa

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi取win10输入法(转自qdac)发布时间:2022-07-18
下一篇:
delphiTSaveDialog发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap