社区
DataWindow
帖子详情
一个求随机排序的思路征集
netspies
2008-11-05 02:16:26
有1000条数据,需要随机排序,效果象电视上的抽取电话号码一样,进行滚屏显示.
一个开始键,点击后开始滚动,点结束停止.
有一个要求,要随机,并且点结束的时间不同而排序的结果也会不同.
我想通过随机排序,然后每10秒进行刷新,但是好象比较卡,每次Retrieve()后,会比较停顿,有点卡,效果不好.
请大家多给点思路.
...全文
296
10
打赏
收藏
一个求随机排序的思路征集
有1000条数据,需要随机排序,效果象电视上的抽取电话号码一样,进行滚屏显示. 一个开始键,点击后开始滚动,点结束停止. 有一个要求,要随机,并且点结束的时间不同而排序的结果也会不同. 我想通过随机排序,然后每10秒进行刷新,但是好象比较卡,每次Retrieve()后,会比较停顿,有点卡,效果不好. 请大家多给点思路.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dj130
2009-03-03
打赏
举报
回复
谢谢
Methodor
2008-11-06
打赏
举报
回复
不必反复retrieve,1次即可....
随机功能利用rand函数....
dyf0130
2008-11-06
打赏
举报
回复
把你的 有1000条数据,放到内存里,随机找1条+到mle_1.Text(加过的别加了)
全+完了,在从新加,
点停的时候,选最后1行的内容
dyf0130
2008-11-06
打赏
举报
回复
往mle_1写
//====================================================================
// 事件: w_1::Declare Instance Variables()
//--------------------------------------------------------------------
// 描述:
//--------------------------------------------------------------------
// 参数:(无)
//--------------------------------------------------------------------
// 返回值: (none)
//--------------------------------------------------------------------
// 作者: 董旭江 日期: 2008.11.06
//--------------------------------------------------------------------
// 修改历史:
//
//====================================================================
int ii_1=0
//====================================================================
// 事件: cb_8::clicked()
//--------------------------------------------------------------------
// 描述: 滚动
//--------------------------------------------------------------------
// 参数:(无)
//--------------------------------------------------------------------
// 返回值: long
//--------------------------------------------------------------------
// 作者: 董旭江 日期: 2008.11.06
//--------------------------------------------------------------------
// 修改历史:
//
//====================================================================
long i
for i=1 to 200000
mle_1.Text = mle_1.Text + "ls_log_msg" +"~r~n"
mle_1.Scroll(2147483647)
Yield()
if ii_1=1 then
messagebox("","ok")
exit
else
end if
next
//====================================================================
// 事件: cb_12::clicked()
//--------------------------------------------------------------------
// 描述: 停
//--------------------------------------------------------------------
// 参数:(无)
//--------------------------------------------------------------------
// 返回值: long
//--------------------------------------------------------------------
// 作者: 董旭江 日期: 2008.11.06
//--------------------------------------------------------------------
// 修改历史:
//
//====================================================================
ii_1=1
liubocy
2008-11-06
打赏
举报
回复
[Quote=引用 5 楼 liubocy 的回复:]
呵呵,想到个另类的实现方法:
窗口中sle_1,cb_1
实例变量:
boolean ibo_flag = true
long il_row
timer事件:
IF il_row = 1000 THEN
il_row = 1
ELSE
il_row ++
END IF
sle_1.text = string(il_row)
IF ibo_flag THEN timer(0)
cb_1:
IF ibo_flag THEN
ibo_flag = false
timer(0.001)
ELSE
ibo_flag = true
MessageBox( '', String(il_row) )
END IF
[/Quote]
timer事件代码可以改成:
IF ibo_flag THEN
timer(0)
RETURN
END IF
il_row = rand(1000)
sle_1.text = string(il_row)
------------------------------------
这就不存在轮起来慢的问题。
在把sle_1中的值与你dw刷新(open窗口后刷新一次就行)后的行数关联,取出你想要的值。
就可以实现你所说的滚动效果了
liubocy
2008-11-05
打赏
举报
回复
呵呵,想到个另类的实现方法:
窗口中sle_1,cb_1
实例变量:
boolean ibo_flag = true
long il_row
timer事件:
IF il_row = 1000 THEN
il_row = 1
ELSE
il_row ++
END IF
sle_1.text = string(il_row)
IF ibo_flag THEN timer(0)
cb_1:
IF ibo_flag THEN
ibo_flag = false
timer(0.001)
ELSE
ibo_flag = true
MessageBox( '', String(il_row) )
END IF
--------------------------------------------------
1000个轮起来比较慢,不过可以做4个timer,百十个位轮0-9,千位轮0-1。
AFIC
2008-11-05
打赏
举报
回复
1000虽然不多关键是没有必要retrieve,
比如你要产生10个结果,就在1000内产生10个不重复的号码,
然后拷贝到显示用的结果datawindow中,
卡的话你可以看看setredraw能不能管用。
netspies
2008-11-05
打赏
举报
回复
数据量为1000行左右,包括姓名,身份证.
jlwei888
2008-11-05
打赏
举报
回复
可以利用随机数!
可以用随机数做为行数,把数据移到 新DW中!
tchatcha
2008-11-05
打赏
举报
回复
还要具体看你的数据了,排序总有比较,即使是随机的,主要看你的数据了
机器学习基线模型构建指南:从
随机
基线到AutoML的全流程实践
本文系统阐述机器学习基线模型的构建逻辑与全流程实践,涵盖
随机
基线、机器学习基线和AutoML基线三类范式,强调其作为项目标尺的核心作用。重点解析数据探查、防数据泄露、评估指标选择、特征工程陷阱及基线驱动的项目管理。通过H2O与LightAutoML协同验证、SHAP可解释性分析、最小可行特
征集
(MVFS)等关键技术,确保基线具备可复现性、可解释性与工程鲁棒性。
机器学习与模拟退火优化布尔特
征集
变量消元顺序
在符号计算领域,
求
解布尔方程组是密码分析和硬件验证中的核心NP难问题。布尔特
征集
(BCS)方法因其高效的三角化能力成为主流
求
解器,但其
求
解效率高度依赖于变量消元的顺序,
一个
糟糕的顺序可能导致
求
解时间指数级增长。传统启发式方法难以应对大规模系统的组合爆炸。本文提出一种融合机器学习(ML)与模拟退火(SA)的智能优化框架。该框架首先训练
一个
轻量级梯度提升回归树(GBR)模型,通过学习变量频率谱与
求
解时间之间的复杂非线性映射,快速预测不同变量序的代价。随后,将此预测器作为导航,嵌入改进的模拟退火算法中进行全局搜索
XML引导特征选择:构建高泛化SVR模型预测材料带隙
本文提出一种基于可解释机器学习(XML)的特征选择方法,结合PFI与SHAP量化特征重要性,指导序列前向选择,从18个初始特征中筛选出5个高信息量、低冗余的物理可解释特征(如EPBE_g、σ(χ)、χ̄等),构建轻量级SVR模型。该模型在域内RMSE≈0.254 eV基础上,将域外预测误差由0.461 eV显著降低至0.341 eV,泛化能力提升26%,并优于LASSO及
随机
特
征集
。方法强调相关性预处理、独立验证集评估与域外性能导向。
缺陷修复提升补丁质量
本文探讨了自动程序修复中的补丁质量评估方法,包括基于适应度函数的补丁
排序
、利用机器学习进行补丁正确性的预测等。通过实验对比不同方法的有效性,旨在提高自动修复的准确性和效率。
招聘推荐系统实战:特征工厂+轻量
排序
架构设计
本文详解面向招聘场景的工业级推荐系统架构设计,聚焦低延迟、可解释性、冷启动与异构特征四大刚性约束,提出“特征工厂+LightGBM轻量
排序
”五层生产架构。深入剖析意图对齐度(IAS)、候选人反脆弱性(CFI)及行为加权时间衰减等关键特征工程实践,并给出结构化解析、手写特征生成、特征漂移监控等可复现技术方案,强调归因可读性、AB可观测性与反作弊鲁棒性。
DataWindow
611
社区成员
20,469
社区内容
发帖
与我相关
我的任务
DataWindow
PowerBuilder DataWindow
复制链接
扫一扫
分享
社区描述
PowerBuilder DataWindow
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章