找回密码
 点一下
查看: 1715|回复: 7

对话框 - sk_del_window[1] 被点击

[复制链接]
发表于 2014-11-28 11:30:33 | 显示全部楼层 |阅读模式
本帖最后由 yeeboys 于 2014-11-28 19:35 编辑

事件
    对话框 - sk_del_window[1] 被点击
    对话框 - sk_del_window[2] 被点击
....................
....................   对话框 - sk_del_window[n] 被点击
动作
    自定义代码:   local integer p=【被点击的 对话框n=?】

//=========================================
我要做的是  对话框 - sk_del_window[1] 被点击  时  p=1
我要做的是  对话框 - sk_del_window[2] 被点击  时  p=2
.........................
我要做的是  对话框 - sk_del_window[n] 被点击  时  p=n
//========================================
要用哈希表吗,要具体点,我不知道用什么当 主和子目录


发表于 2014-11-28 18:26:08 | 显示全部楼层
没明白……能说清楚一点吗

点评

我改了,你看看  详情 回复 发表于 2014-11-28 19:36
回复

使用道具 举报

 楼主| 发表于 2014-11-28 19:36:11 | 显示全部楼层
希瓦 发表于 2014-11-28 18:26
没明白……能说清楚一点吗

我改了,你看看
回复

使用道具 举报

发表于 2014-11-28 20:58:20 | 显示全部楼层
不需要哈希表吧,可以直接用循环来查找。
local integer p = 1
loop
    exitwhen p > udg_n
    exitwhen udg_sk_del_window[p] == GetClickedDialog()
    set p = p + 1
endloop

就是循环对比被点击的对话框和数组中的对话框,如果相同就找到了。

点评

当n=100时,就会有点卡吧,还是绑定比较好,要怎么绑定  详情 回复 发表于 2014-11-29 00:38
回复

使用道具 举报

 楼主| 发表于 2014-11-29 00:38:33 | 显示全部楼层
希瓦 发表于 2014-11-28 20:58
不需要哈希表吧,可以直接用循环来查找。
local integer p = 1
loop

当n=100时,就会有点卡吧,还是绑定比较好,要怎么绑定
回复

使用道具 举报

发表于 2014-11-29 04:57:09 | 显示全部楼层
yeeboys 发表于 2014-11-29 00:38
当n=100时,就会有点卡吧,还是绑定比较好,要怎么绑定

哈希表也是循环查找,当然具体要看哈希表的实现方式
n才等于100这么小不会卡的
回复

使用道具 举报

发表于 2014-11-29 11:35:58 | 显示全部楼层
100的数量离“卡”还早着呢。

不过如果一定要用哈希表,可以在创建的时候储存序号,被点击的时候读取序号。
// 储存序号
call SaveInteger(udg_hashtable, GetHandleId(sk_del_window(n)), StringHash("index"), n)
// 主索引和子索引只要有一个填对话框的handle id就可以了
// 一般为了避免冲突,使用handleid作为主索引,随便一个什么值做子索引,储存对话框的序号

// 读取序号
LoadInteger(udg_hashtable, GetHandleId(GetClickedDialog()), StringHash("index"))
// 使用相同的索引读取就可以了

点评

循环匹配的办法,本来要100次的,加了几个条件,只要做15次了  详情 回复 发表于 2014-11-29 15:03
回复

使用道具 举报

 楼主| 发表于 2014-11-29 15:03:04 | 显示全部楼层
希瓦 发表于 2014-11-29 11:35
100的数量离“卡”还早着呢。

不过如果一定要用哈希表,可以在创建的时候储存序号,被点击的时候读取序 ...

循环匹配的办法,本来要100次的,加了几个条件,只要做15次了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-14 06:33 , Processed in 0.370710 second(s), 29 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表