困惑一天的问题 一个语句搞定了。。。 回头细说。superobject中的{$DEFINE UNICODE}就是它,这是json官方推荐的Delphi处理json的包,地址:http://www.progdigy.com/?page_id=6superobject中自动默认为UNICODE编码,处理...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-21 11:51:41
                            
                                1336阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            [delphi] view plain copy procedure TForm5.Button4Click(Sender: TObject); var O, item: ISuperObject; Strm: TStringStream; result: string; ctx: TSuperRt        Read More            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-03-30 20:41:00
                            
                                90阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            uses superobject; procedure TForm1.FormCreate(Sender: TObject); var aJson: ISuperObject; aSuperArray: TSuperArray; i:Integer; begin {1、赋初值} aJson:=SO(            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-05-27 19:58:48
                            
                                2648阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON之SuperObject(1);一直盼着Delphi能够直接支持"正则;Delphi2009刚来的时候,有了JSON,但;Delphi2010带了两个相关单元:DBXJS;我想不等了,找第三方吧,真的找到了惊喜:JSON;先来个简单测试:;//SuperObject提倡使用接口;Pars;v            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-09-03 13:49:00
                            
                                557阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在delphi中,数据集是最常用数据存取方式。因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换。值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包含了Delta数据包,其数据格式远比普通的TDataset更复杂。 数据集字段信息,是一个完整的字典        Read More            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-02-25 18:44:00
                            
                                401阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            将superobject.pas源代码中的如下代码:
01
02
03
04
05
06
07
08
09
10
11
12
class function TSuperAvlEntry.Hash(const k: SOString): Cardinal;
var
  h: cardinal;
  i: Integer;
begin
  h := 0;
{$Q-}
  for i := 1 t            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-04-01 08:51:00
                            
                                210阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            var lvItem:ISuperObject;begin lvItem:=SO('""'); //"" lvItem.S['count'] := 0; //这里创建了一个superobject对象。但是没有关联在lvItem里面 lvItem := nil; //这里释放的时候lvItem中没有对象end;//关闭程序后内存泄漏.            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-22 14:57:44
                            
                                684阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            这几天在移植代码,将之前的项目移植到插件框架里面,因为之前是单EXE的。对内存泄漏问题不是很在意。在DLL下面就不一样了,所以加入FastMM4来做监控调试。发现之前的ScripParser解析SQL时存在内存泄漏。 其中有段代码 var lvItem : TSuperObjectIter;begin if ObjectFindFirst(vParam, lvItem) then try repe...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-22 14:57:45
                            
                                216阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            functionTSuperAvlTree.Search(constk:SOString;st:TSuperAvlSearchTypes):TSuperAvlEntry;varcmp,target_cmp:integer;match_h,h:TSuperAvlEntry;ha:Cardinal;beginha:=TSuperAvlEntry.Hash(k);match_h:=nil;h:=FRoot;if(stLessinst)thentarget_cmp:=1elseif(stGreaterinst)thentarget_cmp:=-1elsetarget_cmp:=0;while(h<
                    
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-22 14:57:42
                            
                                739阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一直有个想法。SuperObject这么好用的Json简析类,序列化出来的Json排序是乱的。有时候想用SuperObject做保存树数据。这样一来排序都是乱乱的也就放弃了,这几天想改造一下SuperObject类。将改造过程记下。以便以后查阅。最初想法增加ISuperObject属性SortMode:Integer排序方式(0:默认方式, 1:添加顺序, 2:升序)缺点:因为每个值都是一个TSuperObject对象。如果每个TSuperObject添加SortMode属性, 考虑的地方太多。开始认为默认的方式是安装降序排列的,后来深入代码发现通过下面的方法计算key的值再进行比较得出进行排            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-22 14:57:42
                            
                                1265阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在superObject中添加排序类型type //add By Mofen TSOSortMode = (sosmDefault {默认的方式}, sosmAdd {添加的顺序}, sosmASC {升序}, sosmDesc {降序});添加全局设置方法var nowSortMode: TSOSortMode = sosmDefault;//设置排序模式 Mofenprocedure SetSOSortMode(pvSortMode: TSOSortMode);begin nowSortMode := pvSortMode;end;需要改造的类主要为TSuperAvlTree其中需要改造的            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-22 14:57:43
                            
                                768阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(1)
    
        
        
一直盼着 Delphi 能够直接支持 "正则表达式" 与 "JSON";
Delphi 2009 刚来的时候, 有了 JSON, 但不好, 那时尝试过一点. 这是以前的链接: 什么是 JSON?
Delphi 2010 带了两个相关单元: DBXJSON、            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 12:16:28
                            
                                224阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(9): TSuperType
    
        
        
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, St            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 12:16:20
                            
                                161阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(6): 方法
    
        
        
SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是:procedure Method(const This, Params: ISuperObject; var Result: ISuperObject)            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 12:16:23
                            
                                320阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(3): 访问
    
        
        
测试数据提前加入 Memo1 中:{
  "name": "张三", /* 注释 */
  "age": 33,
  "sex": true,
  "weight": 123.456,
  "tel": ["86-1111111", "86-22222            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 12:16:26
                            
                                163阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(11): TSuperTableString、TSuperAvlEntry - 万一 - 博客园://.cnblogs.com/del/archive/2009/10/27/1590501.html 通过 ISuperObject.AsObject            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-01-12 18:30:00
                            
                                101阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(11): TSuperTableString、TSuperAvlEntry
    
        
        
通过 ISuperObject.AsObject 可获取一个 TSuperTableString 对象.
TSuperTableString 的常用属性: count、GetNames、G            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 12:16:18
                            
                                344阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(10): Merge、Clone、ForcePath
    
        
        
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 12:16:19
                            
                                248阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(4): 增、删、改
    
        
        
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrl            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 12:16:25
                            
                                562阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JSON 之 SuperObject(15): 实例 - 模拟 Google 搜索
    
        
        
本例测试效果图:
代码文件:unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Contro            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-30 12:16:14
                            
                                138阅读