| 
 | 
 
 
发表于 2023-4-20 11:32:04
|
显示全部楼层
 
 
 
看是看不会的  
 
得自己写  测试才行 
 
下面有范例的 请复制范例测试 
 
高效率版键值对操作命令 
;字符串引擎支持8000字符长度,建议控制在5000字符长度以内,主键值数量小于200组 
 
 
申明变量到缓存读取(高效率缓存版) 
;使用高效率键值对必须将相关变量优先读到缓存中,个人变量申明在登录触发,全局变量申明在启动触发 
 
格式:UPGRIDEVARCACHE 参数1 
 
参数1:变量名称 
 
 
增加和修改字符型变量主键值对应值(高效率缓存版) 
 
格式:ADDVARCACHE 参数1 参数2 参数3 
;该命令同步:ADDSTRVALUE一致,但因考虑高效率操作单独开出的命令,有需要的请将其替换为高效率版相关命令 
 
参数1:变量名称 
 
参数2:主键值 
 
参数3:对应值 
 
  
 
修改字符型变量(高效率缓存版) 
 
格式:MOVVARCACHE 参数1 参数2 
;该命令同步:MOV用法一致,但如果使用高效率键值对的变量一定不要使用MOV对键值对进行操作! 
;该命令同步:MOV用法一致,但如果使用高效率键值对的变量一定不要使用MOV对键值对进行操作! 
;该命令同步:MOV用法一致,但如果使用高效率键值对的变量一定不要使用MOV对键值对进行操作! 
 
参数1:变量名称 
 
参数2:改变值 
 
 
//例子: 
 
[@main] 
 
#IF 
#ACT 
MOV N50 183 
UPGRIDEVARCACHE T<$str(N50)> 
PRINTUSETIME 1 
MOVVARCACHE T<$str(N50)> 
MOV N11 200 
MOV N12 0 
while N12 < <$str(N11)> 
inc N12 1 
ADDVARCACHE T<$str(N50)> <$str(N12)> 996m2.com 
endwhile 
MOV N14 500 
MOV N13 0 
PRINTUSETIME 2 
 
 
;键值对常量取值耗时打印 
PRINTUSETIME 1 
while N13 < <$str(N14)> 
INC N13 1 
sendmsg 7 <$GETSTRVALUE(T<$str(N50)>,<$str(N13)>)> 
endwhile 
PRINTUSETIME 2 
 
 
  
 
键值对功能 
 
注:不建议在面板上使用,会导致耗时很高 
 
功能:增加和修改字符型变量主键值对应值 
 
格式:ADDSTRVALUE 参数1 参数2 参数3 
 
参数1:字符型变量 (A变量 T变量 S变量)  如果是自定义字符型变量 格式为:HUMAN(XXX)  不要带<$> 但是要带HUMAN、GLOBAL GUILD 
 
参数2:主键值 
 
参数3:对应值 
 
  
 
写入例子: 
 
[@main] 
 
#IF 
 
#ACT 
 
MOV T10 1=999,2=888,3=777 
 
  
 
增加例子: 
 
[@main] 
 
#IF 
 
#ACT 
 
ADDSTRVALUE T10 4 996M2 
 
  
 
修改例子: 
 
[@main] 
 
#IF 
 
#ACT 
 
ADDSTRVALUE T10 1 996M2.COM 
 
获取字符串主键值 对应值: 
 
格式:GETSTRVALUE 参数1 参数2 参数3 
 
参数1:字符型变量 (A变量 T变量 S变量)  如果是自定义字符型变量 格式为:HUMAN(XXX)  不要带<$> 但是要带HUMAN、GLOBAL GUILD(注意自定义变量需要保存) 
 
参数2:主键值 
 
参数3:存入变量 
 
  
 
例子: 
 
[@获取主键值对应值] 
 
#IF 
 
#ACT 
 
GETSTRVALUE T10 1 S10 
 
SENDMSG 6 获取出来的为:<$STR(S10)> 
 
删除字符型变量主键值: 
 
DELSTRVALUE 参数1 参数2 
 
参数1:字符型变量 (A变量 T变量 S变量)  如果是自定义字符型变量 格式为:HUMAN(XXX)  不要带<$> 但是要带HUMAN、GLOBAL GUILD(注意自定义变量需要保存) 
 
参数2:主键值 
 
  
 
例子: 
 
[@删除主键值] 
 
#IF 
 
#ACT 
 
DELSTRVALUE T10 1 
 
  
 
 
 
-------------------------------------------------------------------------------- 
 
键值对获取全部主键命令 
 
 
GETSTRKEY 参数1 参数2 
参数1:键值对变量名称 
参数2:存入变量 
 
  
 
//例子 
#if 
#ACT 
mov T1 1=2,2=1,996=2,引擎=3 
GETSTRKEY T1 S1 
;取出主键值为逗号分割(1,2,996,引擎) 
sendmsg 7 <$str(S1)> 
;配合分割字符串使用功能强大 
MOV N11 1 
GETVALIDSTRSUPER <$str(S1)> , S$获取主键值 N$总主键数量 
while N11 < <$str(N$总主键数量)> 
sendmsg 7 <$str(S$获取主键值<$str(N11)>)> 
endwhile 
 
 
 
-------------------------------------------------------------------------------- 
 
 
通过变量名称获取其中里面的主键对应的值常量 
 
  
 
<$GETSTRVALUE(T1,1)> 
 
  
 
//例子 
#if 
#ACT 
mov T1 1=996M2,2=996M2.COM 
sendmsg 7 <$GETSTRVALUE(T1,1)>,<$GETSTRVALUE(T1,2)> 
 
  
 
;说明 
常量中的T1不支持套用<$str()>,因为加这个括号服务端会把他解出来,解出来的变量值将无法获取! 
变量套表方法,我们可以在<$cfg_bianliang(1_1)>这个表1行1列中写入T1即可 
 
 
变量获取添加方式: 
T1 
A1 
S1 
S$XX 
HUMAN(变量) 
 
 |   
 
  
 |