首页 > 其他分享 >修正fpc(lazarus)BufDataSet.Filter使用中文字段名称时过滤无效的Bug

修正fpc(lazarus)BufDataSet.Filter使用中文字段名称时过滤无效的Bug

时间:2023-07-20 09:25:44浏览次数:34  
标签:fpc ..# Filter lazarus FF 80

最近使用fpc(lazarus)BufDataset的Filter遇到中文字段名称时过滤无效的问题,曾尝试将中文字段名加双引号或中括号,但仍然不行。经跟踪Bufdataset源码发现dbf_prsore.pas Filter没正确识别中文引起的,修正这个问题比较简单:
打开/fpcsrc/packages/fcl-db/src/dbase/dbf_prsore.pas
定位837、870和872行,按以下添加#$80..#$FF,然后重新编译fpcsrc及应用程序就可以。

          while (I2 <= Len) and (AnExpr[I2] in ['a'..'z', 'A'..'Z', '_', '0'..'9',#$80..#$FF]) do  //第837行添加#$80..#$FF
          // However string constants can also appear without delimiters
          'a'..'z', 'A'..'Z', '_',#$80..#$FF://第870行添加#$80..#$FF
            begin
              while (I2 <= Len) and (AnExpr[I2] in ['a'..'z', 'A'..'Z', '_', '0'..'9',#$80..#$FF]) do //第872行添加#$80..#$FF
                Inc(I2);
            end;

修正后Bufdataset Filter已能正确过滤含中文的字段:

标签:fpc,..#,Filter,lazarus,FF,80
From: https://www.cnblogs.com/qiufeng2014/p/17564699.html

相关文章

  • java lambda filter实现元素过滤与变量作用域、生命周期
    最开始只是拿来用,后来调试研究了一下。解释:2传递的是对象,对象中包含keySet变量,每次调用都是这个对象里面的keySet变量。而1每次都是创建了一个新的对象,keySet自然不同,也就不能实现过滤了importjava.util.concurrent.ConcurrentHashMap;importjava.util.function.Fun......
  • 视频过滤器LAVFilters安装
    点击下载链接下载安装包双击安装包进行安装全部next下一步即可最后点击Finish完成安装......
  • map( ) 、filter( )、reduce()、foreach()的用法
    map()、filter()、reduce()、foreach()的用法详解今天给大家总结一下ES6中的军训数组的新方法。话不多说,开车跟住思路肯定能懂的1.map()map=====>映射我们通过一段代码来看看,这是一段简单的map()循环的代码参数:item(数组元素)、index(序列)、arr(数组本身)letnum=[100,70,......
  • 防缓存穿透利器-布隆滤器(BloomFilter)
    布隆过滤器1、布隆过滤器原理1.1什么是布隆过滤器1.2使用场景1.3原理1.4布隆过滤器的优缺点2、实现方式2.1初始化skuId的布隆过滤器2.1.1RedisConst常量类2.1.2修改启动类2.2给商品详情页添加布隆过滤器1、布隆过滤器原理1.1什么是布隆过滤器......
  • redis cuckoofilter
    实现RedisCuckooFilter介绍CuckooFilter是一种高效的概率型数据结构,用于判断某个元素是否存在于集合中。它相比于传统的BloomFilter具有更低的内存消耗和更高的查询速度。在Redis中,可以使用Redis模块来实现CuckooFilter。本文将引导你一步步实现RedisCuckooFil......
  • Java扩展Nginx之六:两大filter
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本文是《Java扩展Nginx》系列的第六篇,前文的五大handler形成了nginx-clojure开发的基本框架,初步评估已经可以支撑简单的需求开发了,但nginx-clojure并未止步于han......
  • 清理.git文件夹过大出现臃肿问题-filter-branch和BFG工具
    Git开发手册git一些不常用的命令记不住,可以查看git开发手册(https://m.php.cn/manual/view/34957.html)1、.git/objects/pack文件过大今天从git拉取项目进行开发的时候克隆的很慢,还以为是网速的问题。查看了一些git命令框的拉取网络速度发现网速也很快,克隆下来后才发现是.git文......
  • 处理.git文件夹过大出现臃肿问题-filter-branch和BFG工具
    Git开发手册git一些不常用的命令记不住,可以查看git开发手册(https://m.php.cn/manual/view/34957.html)1、.git/objects/pack文件过大今天从git拉取项目进行开发的时候克隆的很慢,还以为是网速的问题。查看了一些git命令框的拉取网络速度发现网速也很快,克隆下来后才发现是.git文......
  • ubuntu20使用iptables-persistent libfakeroot libxtables-dev netfilter-persistent
    实施防火墙是保护服务器安全的重要一步。其中很大一部分是决定将对您的网络实施流量限制的单个规则和策略。像iptables这样的防火墙还允许您对应用规则的结构框架有发言权。在本指南中,您将学习如何构建防火墙,作为更复杂规则集的基础。该防火墙将主要关注提供合理的默认值和建立......
  • django_filters/rest_framework/form.html的报错问题
    报错问题:django_filters/rest_framework/form.htm报错原因为:1没有装django_filters模块使用pip安装pipinstalldjango-filter2模块没有在配置文件中注册:将django_filters添加到installed_apps中INSTALLED_APPS=[...'django_filters',] ......