找回密码
 加入
搜索
查看: 2828|回复: 3

[AU3基础] 求助关于查找数据!求高手解答

[复制链接]
发表于 2011-12-7 21:59:10 | 显示全部楼层 |阅读模式
本帖最后由 49666684 于 2011-12-7 22:03 编辑
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>

$var = "张三|612321198808071118|23|13373736633|未婚%李四|612321198707081118|24|13363637373|未婚%王二|612322198707071117|24|13067855528|未婚%"

#Region ### START Koda GUI section ### Form=c:\documents and settings\administrator\桌面\form222.kxf
$Form1_1 = GUICreate("Form1", 501, 320, 224, 144)
$Group1 = GUICtrlCreateGroup("", 6, 6, 489, 307, -1, $WS_EX_TRANSPARENT)
$Group3 = GUICtrlCreateGroup("", 12, 18, 477, 231, -1, $WS_EX_TRANSPARENT)
$Tab1 = GUICtrlCreateTab(19, 29, 463, 213)
$TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
$ListView1 = GUICtrlCreateListView("姓名 | 身份证号 | 年龄 |电话号码 | 婚否", 24, 56, 453, 181)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 58)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 150)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 58)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 80)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 80)
GUICtrlCreateTabItem("")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("", 12, 249, 477, 57)
$Button1 = GUICtrlCreateButton("确定", 292, 268, 75, 25)
$Button2 = GUICtrlCreateButton("取消", 387, 268, 75, 25)
$input1 = GUICtrlCreateInput("姓名", 34, 267, 100, 21)
$Input2 = GUICtrlCreateInput("身份证号", 155, 267, 100, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

huoqu()


While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE,$Button2
                        Exit
                Case $Button1
                        chazhao()

        EndSwitch
WEnd

Func huoqu()
$yc = "********"
$Open = StringSplit($var,"%") 
 For $i = 1 To $Open[0]
            $aitem = StringSplit($Open[$i],"|")
           If $aitem[0] >= 4 Then GUICtrlCreateListViewItem($aitem[1] & '|' & $aitem[2] & '|' & $yc & '|' & $yc & '|' & $aitem[5] , $ListView1)
   Next  
EndFunc

Func chazhao()
$gcr = GUICtrlRead(GUICtrlRead($ListView1))
$ss = StringSplit($gcr, '|')
GUICtrlSetData($input1, $ss[1])
GUICtrlSetData($Input2, $ss[2])
;怎么样才能按照输入框里的 $name $sfz来查找到 相对应隐藏的 电话号码及年龄呢?
msg (0 , "结果", "选择框选择的人员 电话 及 年龄")
EndFunc
怎么样才能将鼠标选择的列来查找到 相对应隐藏的 电话号码及年龄呢?
请高人指点
 楼主| 发表于 2011-12-9 09:36:33 | 显示全部楼层
我晕。竟然没人回答 。这什么情况?
发表于 2011-12-9 09:54:36 | 显示全部楼层
回复 2# 49666684

先把问题想明白并叙述清楚再问
发表于 2011-12-9 11:51:19 | 显示全部楼层
本帖最后由 水木子 于 2011-12-9 11:52 编辑

回复 1# 49666684
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>

Global $avArray[3]
$avArray[0] = '张三|1117|23|13373736633|未婚'
$avArray[1] = '李四|1118|24|13363637373|未婚'
$avArray[2] = '王二|1119|24|13067855528|未婚'

GUICreate('', 500, 320)
GUICtrlCreateGroup("", 5, 5, 490, 310, -1, $WS_EX_TRANSPARENT)
GUICtrlCreateGroup("", 15, 15, 470, 230, -1, $WS_EX_TRANSPARENT)
$Tab1 = GUICtrlCreateTab(25, 30, 450, 210)
$TabSheet1 = GUICtrlCreateTabItem('')
$ListView1 = GUICtrlCreateListView("姓名 | 身份证号 | 年龄 |电话号码 | 婚否", 35, 40, 430, 190)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 58)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 150)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 58)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 80)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 80)

GUICtrlCreateGroup("", 15, 250, 470, 50)
$Input1 = GUICtrlCreateInput("", 30, 265, 200, 21)
$Button1 = GUICtrlCreateButton("确定", 290, 265, 75, 25)
$Button2 = GUICtrlCreateButton("取消", 390, 265, 75, 25)
GUISetState()
huoqu()


While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3, $Button2
                        Exit
                Case $Button1
                        chazhao()
        EndSwitch
WEnd

Func huoqu()
        For $i = 0 To UBound($avArray) - 1
                $aSplit = StringSplit($avArray[$i], '|')
                GUICtrlCreateListViewItem($aSplit[1] & '|' & $aSplit[2] & '|' & StringRegExpReplace($aSplit[3], '.', '*') & '|' & StringRegExpReplace($aSplit[4], '.', '*') & '|' & $aSplit[5], $ListView1)
                If Not @error Then
                        For $z = 0 To $aSplit[0]
                                $sBinary1 = StringToBinary($aSplit[1], 4)
                                $sBinary2 = StringToBinary($aSplit[2], 4)
                                Assign('!' & $sBinary1, '年龄:' & $aSplit[3] & @CRLF & '电话:' & $aSplit[4], 2)
                                Assign('!' & $sBinary2, '年龄:' & $aSplit[3] & @CRLF & '电话:' & $aSplit[4], 2)
                        Next
                EndIf
        Next
EndFunc   ;==>huoqu

Func chazhao()
        $sName = GUICtrlRead($Input1)
        $a = Eval('!' & StringToBinary($sName, 4))
        If $a Then 
                MsgBox(0, $sName, $a)
        Else
                MsgBox(48, '提示!', '没有搜索到相关信息')
        EndIf        
EndFunc   ;==>chazhao

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-20 20:34 , Processed in 0.079586 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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