精易论坛

标题: 怎么给自定义的数据类型中的数组按时间大小进行排序? [打印本页]

作者: 叫我尹志平    时间: 2022-10-22 16:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: Suky    时间: 2022-10-22 16:46
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
日常消费日常消费0 

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
L_消费日常消费 
n整数型 
计次循环首 (10, n)
L_消费.消费商品 = “水果”文本_取随机汉字 (1, 0)
L_消费.商品价格 = 文本_取随机数字 (2, )“元”
L_消费.消费日期 = 到文本 (增减时间 (时间_取北京时间 (), #日, n × 取随机数 (1, 10)))
加入成员 (日常消费, L_消费)
计次循环尾 ()
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
成员数整数型 
n整数型 
i整数型 
计次整数型 
索引整数型 
成员数 = 取数组成员数 (日常消费)
计次循环首 (成员数, n)
计次循环首 (成员数 - n, i)
如果真 (到时间 (日常消费 [i].消费日期)到时间 (日常消费 [i + 1].消费日期))
交换变量 (日常消费 [i], 日常消费 [i + 1])

计次循环尾 ()
计次循环尾 ()
计次循环首 (取数组成员数 (日常消费), 计次)
索引 = 超级列表框1.插入表项 (-1, , , , , )
超级列表框1.置标题 (索引, 0, 日常消费 [计次].消费商品)
超级列表框1.置标题 (索引, 1, 日常消费 [计次].商品价格)
超级列表框1.置标题 (索引, 2, 日常消费 [计次].消费日期)
调试输出 (“商品名称:” + 日常消费 [计次].消费商品 + “,商品价格:” + 日常消费 [计次].商品价格 + “,购买时间:” + 日常消费 [计次].消费日期)
计次循环尾 ()


i支持库列表   支持库注释   
iext扩展界面支持库一
spec特殊功能支持库

  
数据类型名公开备 注
日常消费 授权的
成员名类 型传址数组备 注
消费商品文本型  
商品价格文本型  
消费日期文本型  



你看   自定类型按这样处理
整理一下看着就比较简洁  
非必要的话用以排序的类型的成员不要设数组形式
作者: 大司命    时间: 2022-10-22 16:48

抛个超级列表框排序!

https://www.eyuyan.la/post/12722.html
作者: Suky    时间: 2022-10-22 16:57
设一个基准时间,然后所有时间都取时间间隔,根据时间间隔来排序
或者   时间转时间戳   以时间戳的整数值来排序

作者: StarAdmire    时间: 2022-10-22 17:04
请稍后,正在写
作者: 叫我尹志平    时间: 2022-10-22 17:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 叫我尹志平    时间: 2022-10-22 17:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: 叫我尹志平    时间: 2022-10-22 17:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: 凌哥    时间: 2022-10-22 17:08
本帖最后由 凌哥 于 2022-10-22 17:14 编辑

这样写就好了 (刚才文件上传错了)

数组排序.e (1.05 MB, 下载次数: 11)
作者: 叫我尹志平    时间: 2022-10-22 17:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: 叫我尹志平    时间: 2022-10-22 17:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: Suky    时间: 2022-10-22 17:14
叫我尹志平 发表于 2022-10-22 17:11
我想到的也是 转时间戳 然后对比整数大小 加入到局部变量进行排序   然后再让自定义数组的变量=局部变量  ...

你数组应该用自定义类型数组  而不是把类的成员设为数组
作者: 凌哥    时间: 2022-10-22 17:14
叫我尹志平 发表于 2022-10-22 17:14
老哥传错附件了吧 哈哈

重新上传了
作者: Suky    时间: 2022-10-22 17:15
  
数据类型名公开备 注
日常消费 授权的
成员名类 型传址数组备 注
消费商品文本型  
商品价格文本型  
消费日期文本型  


  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
日常消费日常消费0 

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
数组赋值 ()
子程序名返回值类型公开备 注
数组赋值  
变量名类 型静态数组备 注
L_消费日常消费 
计次循环首 (10, )
L_消费.消费商品 = “水果”文本_取随机汉字 (1, 0)
L_消费.商品价格 = 文本_取随机数字 (2, )“元”
L_消费.消费日期 = 时间_时间戳转文本 (取文本右边 (时间_取随机时间戳 (), 13), )
加入成员 (日常消费, L_消费)
计次循环尾 ()


自定义类型这样设置,后续做排序什么的比较好处理
作者: Orzlee    时间: 2022-10-22 17:20
111.e (1.02 MB, 下载次数: 3)

看看吧,我这没模块,测试不了。

主要问题在于,要在程序集里把自定义数据定义为数组,而在自定义数据里,不要搞什么数组。
作者: Suky    时间: 2022-10-22 17:24
Suky 发表于 2022-10-22 17:15
[e=1].版本 2

.数据类型 日常消费, , 授权的

排序的时候    直接取  日常消费  这个数组的数组成员,根据成员类型的成员 日期 去排序啊
作者: Suky    时间: 2022-10-22 17:28
数组排序_改.e (1.05 MB, 下载次数: 1)
给你改好了
拿去看看   
非得给你写完了才能明白吗
作者: Suky    时间: 2022-10-22 17:34
数组排序_改.e (932.48 KB, 下载次数: 5)
原来日期时间是可以直接比较大小的
代码简化一下    不需要时间戳





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4